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 v4 0/8] Add V4L stateless video decoder API support to NVIDIA Tegra driver
Date: Sun, 20 Feb 2022 20:29:42 +0300 [thread overview]
Message-ID: <20220220172950.3401-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:
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 17:32 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-20 17:29 Dmitry Osipenko [this message]
2022-02-20 17:29 ` [PATCH v4 1/8] media: v4l2-ctrls: Add new V4L2_H264_DECODE_PARAM_FLAG_P/BFRAME flags Dmitry Osipenko
2022-02-20 17:29 ` [PATCH v4 2/8] media: staging: tegra-vde: Factor out H.264 code Dmitry Osipenko
2022-02-20 17:29 ` [PATCH v4 3/8] media: staging: tegra-vde: Support V4L stateless video decoder API Dmitry Osipenko
2022-02-20 17:29 ` [PATCH v4 4/8] media: staging: tegra-vde: Remove legacy UAPI support Dmitry Osipenko
2022-02-20 17:29 ` [PATCH v4 5/8] media: staging: tegra-vde: Bump BSEV DMA timeout Dmitry Osipenko
2022-02-20 17:29 ` [PATCH v4 6/8] media: staging: tegra-vde: De-stage driver Dmitry Osipenko
2022-02-20 20:19 ` kernel test robot
2022-02-20 20:26 ` Dmitry Osipenko
2022-02-20 20:26 ` Dmitry Osipenko
2022-02-20 17:29 ` [PATCH v4 7/8] ARM: tegra_defconfig: Update CONFIG_TEGRA_VDE option Dmitry Osipenko
2022-02-20 17:29 ` [PATCH v4 8/8] ARM: config: multi v7: Enable NVIDIA Tegra video decoder driver Dmitry Osipenko
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=20220220172950.3401-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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.