From: Dmitry Osipenko <digetx@gmail.com>
To: Thierry Reding <thierry.reding@gmail.com>,
Jonathan Hunter <jonathanh@nvidia.com>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Hans Verkuil <hverkuil@xs4all.nl>,
Nicolas Dufresne <nicolas@ndufresne.ca>,
Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-media@vger.kernel.org, linux-staging@lists.linux.dev,
linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH v5 0/8] Add V4L stateless video decoder API support to NVIDIA Tegra driver
Date: Sun, 20 Feb 2022 23:46:15 +0300 [thread overview]
Message-ID: <20220220204623.30107-1-digetx@gmail.com> (raw)
Support V4L stateless video decoder API by NVIDIA Tegra decoder driver.
Tested using GStreamer [1] and libvdpau-tegra [2][8].
[1] https://github.com/grate-driver/gstreamer/commit/b8509bdbb69b534e61419ea1798f32f9ad2f3597
[2] https://github.com/grate-driver/libvdpau-tegra/commit/f822e95911e5e0c39f8ba19f843ddc1e0138d5ce
[8] https://github.com/grate-driver/libvdpau-tegra/commit/80db4d02369f2a984ce3173d6bc305f32e9fdb97
Changelog:
v5: - Corrected drivers/staging/media/Makefile, where I removed the VI
driver instead of VDE. This was reported by the 0-DAY build bot.
v4: - Added r-b from Nicolas Dufresne to the
"V4L2_H264_DECODE_PARAM_FLAG_P/BFRAME flags" patch.
- Added patches to de-stage driver, like was suggested by Hans Verkuil.
- Added patch to enable driver in ARM's multi-platform defconfig.
v3: - Added new decode_params flags [7] instead of V4L2_BUF_FLAG_*FRAME flags,
as was suggested by Nicolas Dufresne.
[7] https://github.com/grate-driver/gstreamer/commit/c5cd847f9c26b7669720ae58f9058de2515f51a2
- Added new patch that removes legacy UAPI.
v2: - Made V4L2_BUF_FLAG_*FRAME flags mandatory [3] and dropped reading
of raw bitstream from the driver code, as was suggested by
Nicolas Dufresne.
[3] https://github.com/grate-driver/gstreamer/commit/aee292f0f2e84b7654a314dd7e63f916888ffaa5
- Ran v4l2-compliance [4] and fluster [5][6] tests, like was suggested by
Nicolas Dufresne. Fixed minor v4l2-compliance errors that were related
to a partial initialization of the coded format and were harmless in
practice, but made compliance checker unhappy.
[4] https://gist.github.com/digetx/5d6bcdab633488f1dcc7c141ab90d30e
[5] https://gist.github.com/digetx/b06c5d779e9d25afa41d9f46946fe399
[6] https://gist.github.com/digetx/ac4198bc340e5065aa8ec3288bb21356
Dmitry Osipenko (8):
media: v4l2-ctrls: Add new V4L2_H264_DECODE_PARAM_FLAG_P/BFRAME flags
media: staging: tegra-vde: Factor out H.264 code
media: staging: tegra-vde: Support V4L stateless video decoder API
media: staging: tegra-vde: Remove legacy UAPI support
media: staging: tegra-vde: Bump BSEV DMA timeout
media: staging: tegra-vde: De-stage driver
ARM: tegra_defconfig: Update CONFIG_TEGRA_VDE option
ARM: config: multi v7: Enable NVIDIA Tegra video decoder driver
.../media/v4l/ext-ctrls-codec-stateless.rst | 6 +
MAINTAINERS | 2 +-
arch/arm/configs/multi_v7_defconfig | 1 +
arch/arm/configs/tegra_defconfig | 3 +-
drivers/media/platform/Kconfig | 17 +
drivers/media/platform/Makefile | 2 +
drivers/media/platform/tegra/vde/Makefile | 3 +
.../platform/tegra/vde}/dmabuf-cache.c | 2 +-
drivers/media/platform/tegra/vde/h264.c | 946 ++++++++++++
.../platform/tegra/vde}/iommu.c | 2 +-
.../platform/tegra/vde}/trace.h | 2 +-
drivers/media/platform/tegra/vde/v4l2.c | 1018 ++++++++++++
drivers/media/platform/tegra/vde/vde.c | 551 +++++++
drivers/media/platform/tegra/vde/vde.h | 242 +++
drivers/staging/media/Kconfig | 2 -
drivers/staging/media/Makefile | 1 -
drivers/staging/media/tegra-vde/Kconfig | 10 -
drivers/staging/media/tegra-vde/Makefile | 3 -
drivers/staging/media/tegra-vde/TODO | 4 -
drivers/staging/media/tegra-vde/uapi.h | 73 -
drivers/staging/media/tegra-vde/vde.c | 1358 -----------------
drivers/staging/media/tegra-vde/vde.h | 125 --
include/uapi/linux/v4l2-controls.h | 2 +
23 files changed, 2794 insertions(+), 1581 deletions(-)
create mode 100644 drivers/media/platform/tegra/vde/Makefile
rename drivers/{staging/media/tegra-vde => media/platform/tegra/vde}/dmabuf-cache.c (99%)
create mode 100644 drivers/media/platform/tegra/vde/h264.c
rename drivers/{staging/media/tegra-vde => media/platform/tegra/vde}/iommu.c (98%)
rename drivers/{staging/media/tegra-vde => media/platform/tegra/vde}/trace.h (97%)
create mode 100644 drivers/media/platform/tegra/vde/v4l2.c
create mode 100644 drivers/media/platform/tegra/vde/vde.c
create mode 100644 drivers/media/platform/tegra/vde/vde.h
delete mode 100644 drivers/staging/media/tegra-vde/Kconfig
delete mode 100644 drivers/staging/media/tegra-vde/Makefile
delete mode 100644 drivers/staging/media/tegra-vde/TODO
delete mode 100644 drivers/staging/media/tegra-vde/uapi.h
delete mode 100644 drivers/staging/media/tegra-vde/vde.c
delete mode 100644 drivers/staging/media/tegra-vde/vde.h
--
2.34.1
next reply other threads:[~2022-02-20 20:46 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-20 20:46 Dmitry Osipenko [this message]
2022-02-20 20:46 ` [PATCH v5 1/8] media: v4l2-ctrls: Add new V4L2_H264_DECODE_PARAM_FLAG_P/BFRAME flags Dmitry Osipenko
2022-02-20 20:46 ` [PATCH v5 2/8] media: staging: tegra-vde: Factor out H.264 code Dmitry Osipenko
2022-02-20 20:46 ` [PATCH v5 3/8] media: staging: tegra-vde: Support V4L stateless video decoder API Dmitry Osipenko
2022-02-20 20:46 ` [PATCH v5 4/8] media: staging: tegra-vde: Remove legacy UAPI support Dmitry Osipenko
2022-02-20 20:46 ` [PATCH v5 5/8] media: staging: tegra-vde: Bump BSEV DMA timeout Dmitry Osipenko
2022-02-20 22:53 ` Dmitry Osipenko
2022-02-20 20:46 ` [PATCH v5 6/8] media: staging: tegra-vde: De-stage driver Dmitry Osipenko
2022-02-20 20:46 ` [PATCH v5 7/8] ARM: tegra_defconfig: Update CONFIG_TEGRA_VDE option Dmitry Osipenko
2022-04-06 15:00 ` Jon Hunter
2022-02-20 20:46 ` [PATCH v5 8/8] ARM: config: multi v7: Enable NVIDIA Tegra video decoder driver Dmitry Osipenko
2022-04-06 15:00 ` Jon Hunter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220220204623.30107-1-digetx@gmail.com \
--to=digetx@gmail.com \
--cc=ezequiel@vanguardiasur.com.ar \
--cc=gregkh@linuxfoundation.org \
--cc=hverkuil@xs4all.nl \
--cc=jonathanh@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-staging@lists.linux.dev \
--cc=linux-tegra@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=nicolas@ndufresne.ca \
--cc=thierry.reding@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).