From patchwork Thu Feb 6 10:20:57 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Keiichi Watanabe X-Patchwork-Id: 11368031 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 076C814E3 for ; Thu, 6 Feb 2020 10:21:31 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id B941B214AF for ; Thu, 6 Feb 2020 10:21:30 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="WvGeROmf" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728319AbgBFKVa (ORCPT ); Thu, 6 Feb 2020 05:21:30 -0500 Received: from mail-pg1-f196.google.com ([209.85.215.196]:35489 "EHLO mail-pg1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728304AbgBFKVa (ORCPT ); Thu, 6 Feb 2020 05:21:30 -0500 Received: by mail-pg1-f196.google.com with SMTP id l24so2518904pgk.2 for ; Thu, 06 Feb 2020 02:21:29 -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:in-reply-to:references :mime-version:content-transfer-encoding; bh=/FcQjBN21OusAqPE5MyppDL5lHvCI9sohkohBeXyh5s=; b=WvGeROmfnwvrSXWN9JqV9IxnTWeyLFmVXEOvYgrjsQR/yxbreqseU/RYzNic5tudEZ GdkdlfYU3o5VQ7HWiGwhpBTiivWckdkv/MQicPzGKWm0yDmvTf9jFIADy5oXJ88Zd5rL Teat98XE90MOeh8E7gz18Z90WwDXDu7+eokZ0= 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=/FcQjBN21OusAqPE5MyppDL5lHvCI9sohkohBeXyh5s=; b=M4wCzU+XvGr5mNoSumJ3gWjTX6eIyVmvYmwmT4m9sFgUzVu4XCW09TQesQOx67YJ93 LkZaBiheD6yLeqxKSUCW1aocJAEp/E4pwX3YDFMC2kkqE06xUpml2ZYaSebalNIpLOEI nFyCA6WFyxslFz+WWYFcWsZdJLznezElrZ+o1KAEYfPT+iDH91kWjK9R+JZ0/GWvMVuN pKzdnSaQR7VDHROwKh/s/OV0Qh8xlVMdFbDZIRYj++i/dnwHWwVZ8aNL/1SVUidmuvHQ IbdJuG1j3kz6/CRqLqJph4wpOdvFXTVTN12CWbKaFCs7Bnbj7J0u753yk1hAjLfAK300 5FLg== X-Gm-Message-State: APjAAAWjvMdFZZk7rr/5McmwOmUQ73TUWcVRcBNu/BOKY/qYvBGQ5YpN p6+3Gu87oJHtU9DxbVwfJBxXGw== X-Google-Smtp-Source: APXvYqxss4X66465lgjsN45poAsU3yd3wXxkj2apYhptP6PpK2GPobnT5SWiSQMaDTidEr2bGNAbxQ== X-Received: by 2002:a63:7e58:: with SMTP id o24mr2713678pgn.214.1580984488709; Thu, 06 Feb 2020 02:21:28 -0800 (PST) Received: from keiichiw1.tok.corp.google.com ([2401:fa00:8f:203:863a:e217:a16c:53f2]) by smtp.gmail.com with ESMTPSA id v4sm2590270pff.174.2020.02.06.02.21.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 06 Feb 2020 02:21:27 -0800 (PST) From: Keiichi Watanabe To: virtio-dev@lists.oasis-open.org Cc: linux-media@vger.kernel.org, acourbot@chromium.org, alexlau@chromium.org, daniel@ffwll.ch, dgreid@chromium.org, dstaessens@chromium.org, dmitry.sepp@opensynergy.com, egranata@google.com, fziglio@redhat.com, hverkuil@xs4all.nl, keiichiw@chromium.org, kraxel@redhat.com, marcheu@chromium.org, posciak@chromium.org, spice-devel@lists.freedesktop.org, stevensd@chromium.org, tfiga@chromium.org, uril@redhat.com, samiullah.khawaja@opensynergy.com, kiran.pawar@opensynergy.com Subject: [PATCH v3 1/2] virtio-video: Add virtio video device specification Date: Thu, 6 Feb 2020 19:20:57 +0900 Message-Id: <20200206102058.247258-2-keiichiw@chromium.org> X-Mailer: git-send-email 2.25.0.341.g760bfbb309-goog In-Reply-To: <20200206102058.247258-1-keiichiw@chromium.org> References: <20200206102058.247258-1-keiichiw@chromium.org> MIME-Version: 1.0 Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org From: Dmitry Sepp The virtio video encoder device and decoder device provide functionalities to encode and decode video stream respectively. Though video encoder and decoder are provided as different devices, they use a same protocol. Signed-off-by: Dmitry Sepp Signed-off-by: Keiichi Watanabe --- .gitignore | 1 + content.tex | 1 + images/video-buffer-lifecycle.dot | 18 + make-setup-generated.sh | 8 + virtio-video.tex | 988 ++++++++++++++++++++++++++++++ 5 files changed, 1016 insertions(+) create mode 100644 .gitignore create mode 100644 images/video-buffer-lifecycle.dot create mode 100644 virtio-video.tex diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..31272c2 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/images/generated/ diff --git a/content.tex b/content.tex index b91a132..b75a40f 100644 --- a/content.tex +++ b/content.tex @@ -6062,6 +6062,7 @@ \subsubsection{Legacy Interface: Framing Requirements}\label{sec:Device \input{virtio-fs.tex} \input{virtio-rpmb.tex} \input{virtio-iommu.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..98f379b --- /dev/null +++ b/images/video-buffer-lifecycle.dot @@ -0,0 +1,18 @@ +digraph { + graph [ rankdir = LR, layout = dot ]; + + init [style = invis] + destroyed [style = invis] + created [label="Created", shape=circle] + dequeued [label="Dequeued", shape=circle] + queued [label="Queued", shape=circle] + + init -> created [label="RESOURCE_CREATE"] + + created -> queued [label="RESOURCE_QUEUE is sent"] + dequeued -> queued [label="RESOURCE_QUEUE\n is sent"] + queued -> dequeued [label="RESOURCE_QUEUE\n has returned"] + + created -> destroyed [label="RESOURCE_DESTROY_ALL"] + dequeued -> destroyed [label="RESOURCE_DESTROY_ALL"] +} diff --git a/make-setup-generated.sh b/make-setup-generated.sh index f15d148..4caff72 100755 --- a/make-setup-generated.sh +++ b/make-setup-generated.sh @@ -61,3 +61,11 @@ cat > setup-generated.tex <