From: Ezequiel Garcia <ezequiel@collabora.com>
To: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: kernel@collabora.com, Jonas Karlman <jonas@kwiboo.se>,
Hans Verkuil <hverkuil@xs4all.nl>,
Nicolas Dufresne <nicolas.dufresne@collabora.com>,
Philipp Zabel <p.zabel@pengutronix.de>,
Maxime Ripard <mripard@kernel.org>,
Paul Kocialkowski <paul.kocialkowski@bootlin.com>,
Jernej Skrabec <jernej.skrabec@siol.net>,
Daniel Almeida <daniel.almeida@collabora.com>,
Ezequiel Garcia <ezequiel@collabora.com>
Subject: [PATCH v5 00/10] MPEG-2 stateless API cleanup and destaging
Date: Sat, 3 Apr 2021 15:07:46 -0300 [thread overview]
Message-ID: <20210403180756.175881-1-ezequiel@collabora.com> (raw)
Hi everyone,
Over the last few weeks Daniel Almeida and Nicolas Dufresne
have been working on GStreamer v4l2codecs support for stateless
MPEG-2 decoding.
This allowed us to re-review the MPEG-2 specification and re-discuss
the API with some additional insight. The API now looks quite cleaner,
and hopefully ready for destaging.
This series is mostly thanks to Daniel and Nicolas!
Patches 1 to 7 cleanup the API, and patches 8 to 10 move it
out of staging.
This is tested on i.MX8M and RK3399 platforms, using GStreamer
v4l2codecs, which will be upstream very soon.
v5:
* Rename "quantization" to "quantisation", so the terminology
matches the MPEG-2 specification.
This is the only change in v5, compared to v4.
v4:
* Rework and clarify quantization matrices control semantics.
* Move reference buffer fields to the picture parameter control.
* Remove slice parameters control. This can be added back in the
future if needed, but for now it's not used.
See patch 6/9 for details.
* Destage the API.
v3:
* No API changes, just minor boilerplate fixes for the new
controls to be properly exposed, initialized and validated.
v2:
* Fixed bad use of boolean negation in a flag, which
was fortunately reported by 0day bot.
Ezequiel Garcia (10):
media: uapi: mpeg2: Rename "quantization" to "quantisation"
media: uapi: mpeg2: rework quantisation matrices semantics
media: uapi: mpeg2: Cleanup flags
media: uapi: mpeg2: Split sequence and picture parameters
media: uapi: mpeg2: Move reference buffer fields
media: hantro/cedrus: Remove unneeded slice size and slice offset
media: uapi: mpeg2: Remove V4L2_CID_MPEG_VIDEO_MPEG2_SLICE_PARAMS
media: controls: Log MPEG-2 stateless control in .std_log
media: uapi: Move the MPEG-2 stateless control type out of staging
media: uapi: move MPEG-2 stateless controls out of staging
.../media/v4l/ext-ctrls-codec-stateless.rst | 218 +++++
.../media/v4l/ext-ctrls-codec.rst | 217 -----
.../media/v4l/pixfmt-compressed.rst | 11 +-
.../media/v4l/vidioc-g-ext-ctrls.rst | 12 +
.../media/v4l/vidioc-queryctrl.rst | 18 +-
.../media/videodev2.h.rst.exceptions | 5 +-
drivers/media/v4l2-core/v4l2-async-core.c | 880 ++++++++++++++++++
drivers/media/v4l2-core/v4l2-ctrls.c | 118 ++-
drivers/staging/media/hantro/hantro_drv.c | 9 +-
.../media/hantro/hantro_g1_mpeg2_dec.c | 110 +--
drivers/staging/media/hantro/hantro_hw.h | 2 +-
drivers/staging/media/hantro/hantro_mpeg2.c | 2 +-
.../media/hantro/rk3399_vpu_hw_mpeg2_dec.c | 106 +--
drivers/staging/media/sunxi/cedrus/cedrus.c | 10 +-
drivers/staging/media/sunxi/cedrus/cedrus.h | 5 +-
.../staging/media/sunxi/cedrus/cedrus_dec.c | 10 +-
.../staging/media/sunxi/cedrus/cedrus_mpeg2.c | 97 +-
include/media/mpeg2-ctrls.h | 82 --
include/media/v4l2-ctrls.h | 11 +-
include/uapi/linux/v4l2-controls.h | 114 +++
include/uapi/linux/videodev2.h | 7 +
21 files changed, 1492 insertions(+), 552 deletions(-)
create mode 100644 drivers/media/v4l2-core/v4l2-async-core.c
delete mode 100644 include/media/mpeg2-ctrls.h
--
2.30.0
next reply other threads:[~2021-04-03 18:08 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-03 18:07 Ezequiel Garcia [this message]
2021-04-03 18:07 ` [PATCH v5 01/10] media: uapi: mpeg2: Rename "quantization" to "quantisation" Ezequiel Garcia
2021-04-03 18:07 ` [PATCH v5 02/10] media: uapi: mpeg2: rework quantisation matrices semantics Ezequiel Garcia
2021-04-06 10:25 ` Hans Verkuil
2021-04-03 18:07 ` [PATCH v5 03/10] media: uapi: mpeg2: Cleanup flags Ezequiel Garcia
2021-04-06 10:27 ` Hans Verkuil
2021-04-03 18:07 ` [PATCH v5 04/10] media: uapi: mpeg2: Split sequence and picture parameters Ezequiel Garcia
2021-04-06 10:37 ` Hans Verkuil
2021-04-03 18:07 ` [PATCH v5 05/10] media: uapi: mpeg2: Move reference buffer fields Ezequiel Garcia
2021-04-03 18:07 ` [PATCH v5 06/10] media: hantro/cedrus: Remove unneeded slice size and slice offset Ezequiel Garcia
2021-04-03 18:07 ` [PATCH v5 07/10] media: uapi: mpeg2: Remove V4L2_CID_MPEG_VIDEO_MPEG2_SLICE_PARAMS Ezequiel Garcia
2021-04-03 18:07 ` [PATCH v5 08/10] media: controls: Log MPEG-2 stateless control in .std_log Ezequiel Garcia
2021-04-03 18:07 ` [PATCH v5 09/10] media: uapi: Move the MPEG-2 stateless control type out of staging Ezequiel Garcia
2021-04-03 18:07 ` [PATCH v5 10/10] media: uapi: move MPEG-2 stateless controls " Ezequiel Garcia
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=20210403180756.175881-1-ezequiel@collabora.com \
--to=ezequiel@collabora.com \
--cc=daniel.almeida@collabora.com \
--cc=hverkuil@xs4all.nl \
--cc=jernej.skrabec@siol.net \
--cc=jonas@kwiboo.se \
--cc=kernel@collabora.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mripard@kernel.org \
--cc=nicolas.dufresne@collabora.com \
--cc=p.zabel@pengutronix.de \
--cc=paul.kocialkowski@bootlin.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).