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 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.