| From: |
| Dmitry Osipenko <digetx-AT-gmail.com> |
| To: |
| Thierry Reding <thierry.reding-AT-gmail.com>, Jonathan Hunter <jonathanh-AT-nvidia.com>, Mauro Carvalho Chehab <mchehab-AT-kernel.org>, Hans Verkuil <hverkuil-AT-xs4all.nl>, Nicolas Dufresne <nicolas-AT-ndufresne.ca>, Ezequiel Garcia <ezequiel-AT-vanguardiasur.com.ar> |
| Subject: |
| [PATCH v3 0/4] Add V4L stateless video decoder API support to NVIDIA Tegra driver |
| Date: |
| Mon, 07 Feb 2022 17:19:33 +0300 |
| Message-ID: |
| <20220207141937.13089-1-digetx@gmail.com> |
| Cc: |
| linux-media-AT-vger.kernel.org, linux-staging-AT-lists.linux.dev, linux-tegra-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org |
| Archive-link: |
| Article |
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/b8509bdb...
[2] https://github.com/grate-driver/libvdpau-tegra/commit/f82...
[8] https://github.com/grate-driver/libvdpau-tegra/commit/80d...
Changelog:
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/c5cd847f...
- 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/aee292f0...
- 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/5d6bcdab633488f1dcc7c141ab...
[5] https://gist.github.com/digetx/b06c5d779e9d25afa41d9f4694...
[6] https://gist.github.com/digetx/ac4198bc340e5065aa8ec3288b...
Dmitry Osipenko (4):
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/v4l/ext-ctrls-codec-stateless.rst | 6 +
drivers/staging/media/tegra-vde/Kconfig | 7 +
drivers/staging/media/tegra-vde/Makefile | 2 +-
.../staging/media/tegra-vde/dmabuf-cache.c | 2 +-
drivers/staging/media/tegra-vde/h264.c | 946 +++++++++++++++
drivers/staging/media/tegra-vde/iommu.c | 2 +-
drivers/staging/media/tegra-vde/uapi.h | 73 --
drivers/staging/media/tegra-vde/v4l2.c | 1018 +++++++++++++++++
drivers/staging/media/tegra-vde/vde.c | 945 ++-------------
drivers/staging/media/tegra-vde/vde.h | 121 +-
include/uapi/linux/v4l2-controls.h | 2 +
11 files changed, 2170 insertions(+), 954 deletions(-)
create mode 100644 drivers/staging/media/tegra-vde/h264.c
delete mode 100644 drivers/staging/media/tegra-vde/uapi.h
create mode 100644 drivers/staging/media/tegra-vde/v4l2.c
--
2.34.1