From patchwork Wed Jan 20 08:31:43 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexandre Courbot X-Patchwork-Id: 367463 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-18.9 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER, INCLUDES_PATCH, MAILING_LIST_MULTI, SPF_HELO_NONE, SPF_PASS, URIBL_BLOCKED, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id AC5E6C433E0 for ; Wed, 20 Jan 2021 08:35:07 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 31EC22251D for ; Wed, 20 Jan 2021 08:35:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730774AbhATIe4 (ORCPT ); Wed, 20 Jan 2021 03:34:56 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60994 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730910AbhATIcd (ORCPT ); Wed, 20 Jan 2021 03:32:33 -0500 Received: from mail-pj1-x1031.google.com (mail-pj1-x1031.google.com [IPv6:2607:f8b0:4864:20::1031]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A66EFC061575 for ; Wed, 20 Jan 2021 00:31:52 -0800 (PST) Received: by mail-pj1-x1031.google.com with SMTP id g15so1759739pjd.2 for ; Wed, 20 Jan 2021 00:31:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=P/rW+rEVhQ3ZyMMC4FNdhLnFWwERJgyojGVrcUSjtkI=; b=EYoN1KClrLJ03bKWhzFIBooKdzngNHO9FXKidHHk8Ao9JxUXts9vKe3xNsqkcBSvxL b3GRoN19onygOoKL2JTc17AXartK7MIe1w1v0z6ZBhqG6I7AtxKaq+aR3avinAP89C8r BXw5jG/hzrRh+adEp9M2tEifDY0lo2xg5Jqwk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=P/rW+rEVhQ3ZyMMC4FNdhLnFWwERJgyojGVrcUSjtkI=; b=krbsJWrmVVESg+JVEgoq6xWUnHtY6QcLSMst0lEula4nerFaefZcullhH4mvk+9kRb QYXuteeftPhf/AXXZ2ChA91SAU8pzSj0vfLxtUp9VVnQonbRYLl/NtN2EVWOTdxYoad0 NCaebCjfwP2ssgnmQpzMUe/f8MxrrmaDIbSIWXOe23Jxw+OdnR+oEcq2AlXs9hhueCGm 4TeSc6/MJ/oT8dUxfO9PGSivamJOt17WrzjZPF2I86O3Kvkjcw+781caHO1XzQTROzis fGbLP+Ysl9vuAgw5Y64YmN7ue0KU7zaq/XXgmwwX/zW7mo1lM3lbviJbyuwWPMbFdyTs u9lA== X-Gm-Message-State: AOAM530hxb3l7LR0NVwQ4z54bs32sslCI4J0PchRWnDI0pmuoyGwzl8x 5Y17DEUMSdN4uboj3xsdaMXwfw== X-Google-Smtp-Source: ABdhPJyT/NH3mjC8ZpyaWLv/bJ2Zq00JpCoj8g0EycnDXxeKqB7w3u7a9pBPnBimq4lHaLCd9C1Fag== X-Received: by 2002:a17:90a:bd12:: with SMTP id y18mr4577391pjr.146.1611131511920; Wed, 20 Jan 2021 00:31:51 -0800 (PST) Received: from acourbot.tok.corp.google.com ([2401:fa00:8f:203:eeb1:d7ff:fe57:b7e5]) by smtp.gmail.com with ESMTPSA id n15sm1750448pjk.57.2021.01.20.00.31.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Jan 2021 00:31:50 -0800 (PST) From: Alexandre Courbot To: virtio-dev@lists.oasis-open.org Cc: linux-media@vger.kernel.org, alexlau@chromium.org, daniel@ffwll.ch, dgreid@chromium.org, dstaessens@chromium.org, egranata@google.com, kraxel@redhat.com, posciak@chromium.org, spice-devel@lists.freedesktop.org, stevensd@chromium.org, tfiga@chromium.org, uril@redhat.com, kiran.pawar@opensynergy.com, enric.balletbo@collabora.com, alex.bennee@linaro.org, Matti.Moell@opensynergy.com, Keiichi Watanabe , Dmitry Sepp , Alexandre Courbot Subject: [RFC PATCH v5] virtio-video: Add virtio video device specification Date: Wed, 20 Jan 2021 17:31:43 +0900 Message-Id: <20210120083143.766189-1-acourbot@chromium.org> X-Mailer: git-send-email 2.30.0.296.g2bfb1c46d8-goog MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org From: Keiichi Watanabe The virtio video encoder and decoder devices are virtual devices that support video encoding and decoding respectively. Although they are different devices, they use the same protocol. Signed-off-by: Dmitry Sepp Signed-off-by: Keiichi Watanabe Signed-off-by: Alexandre Courbot --- Here is the new revision of the virtio-video specification. Compared to v4 some extra simplification work has been performed, and all stream settings are now consolidated under the parameters. Hopefully this can be used as the basis to write a new version of the Linux driver and virtual device, or maybe even to drop that RFC tag! :) Full PDF: https://drive.google.com/file/d/1Lqjpcntj6ydLtrHPhbMbvq0oVIevGatj/view?usp=sharing Only video section: https://drive.google.com/file/d/1dGzYGCV-xrO-AYqMbMsHBrJh_CvLDLMA/view?usp=sharing content.tex | 1 + images/video-buffer-lifecycle.dot | 15 + make-setup-generated.sh | 9 + virtio-video.tex | 1308 +++++++++++++++++++++++++++++ 4 files changed, 1333 insertions(+) create mode 100644 images/video-buffer-lifecycle.dot create mode 100644 virtio-video.tex diff --git a/content.tex b/content.tex index 620c0e2..8b8bfed 100644 --- a/content.tex +++ b/content.tex @@ -6507,6 +6507,7 @@ \subsubsection{Legacy Interface: Framing Requirements}\label{sec:Device \input{virtio-iommu.tex} \input{virtio-sound.tex} \input{virtio-mem.tex} +\input{virtio-video.tex} \chapter{Reserved Feature Bits}\label{sec:Reserved Feature Bits} diff --git a/images/video-buffer-lifecycle.dot b/images/video-buffer-lifecycle.dot new file mode 100644 index 0000000..d5ef184 --- /dev/null +++ b/images/video-buffer-lifecycle.dot @@ -0,0 +1,15 @@ +digraph { + graph [ rankdir = LR, layout = dot ]; + + init [label="Init", shape=circle] + attached [label="Attached", shape=circle] + queued [label="Queued", shape=circle] + + init -> attached [label="ATTACH"] + + attached -> queued [label="QUEUE"] + queued -> attached [label="Processing\n complete"] + + attached -> init [label="CLEAR"] + queued -> init [label="CLEAR"] +} diff --git a/make-setup-generated.sh b/make-setup-generated.sh index f15d148..073b094 100755 --- a/make-setup-generated.sh +++ b/make-setup-generated.sh @@ -61,3 +61,12 @@ cat > setup-generated.tex <