All of lore.kernel.org
 help / color / mirror / Atom feed
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 v4 0/9] MPEG-2 stateless API cleanup and destaging
Date: Mon, 29 Mar 2021 15:13:20 -0300	[thread overview]
Message-ID: <20210329181329.48006-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 6 cleanup the API, and patches 7 to 9 move it
out of staging.

This is tested on i.MX8M and RK3399 platforms, using GStreamer
v4l2codecs, which will be upstream very soon.

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 (9):
  media: uapi: mpeg2: Rework quantization 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          |   3 +-
 drivers/media/v4l2-core/v4l2-ctrls.c          | 110 ++++++---
 drivers/staging/media/hantro/hantro_drv.c     |   9 +-
 .../media/hantro/hantro_g1_mpeg2_dec.c        |  95 ++++----
 .../media/hantro/rk3399_vpu_hw_mpeg2_dec.c    |  94 ++++----
 drivers/staging/media/sunxi/cedrus/cedrus.c   |  10 +-
 drivers/staging/media/sunxi/cedrus/cedrus.h   |   3 +-
 .../staging/media/sunxi/cedrus/cedrus_dec.c   |   8 +-
 .../staging/media/sunxi/cedrus/cedrus_mpeg2.c |  89 +++----
 include/media/mpeg2-ctrls.h                   |  82 -------
 include/media/v4l2-ctrls.h                    |   7 +-
 include/uapi/linux/v4l2-controls.h            | 114 +++++++++
 include/uapi/linux/videodev2.h                |   7 +
 18 files changed, 586 insertions(+), 521 deletions(-)
 delete mode 100644 include/media/mpeg2-ctrls.h

-- 
2.30.0


             reply	other threads:[~2021-03-29 18:14 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-29 18:13 Ezequiel Garcia [this message]
2021-03-29 18:13 ` [PATCH v4 1/9] media: uapi: mpeg2: Rework quantization matrices semantics Ezequiel Garcia
2021-03-29 20:53   ` Nicolas Dufresne
2021-04-03 17:17     ` Ezequiel Garcia
2021-03-29 18:13 ` [PATCH v4 2/9] media: uapi: mpeg2: Cleanup flags Ezequiel Garcia
2021-03-29 18:13 ` [PATCH v4 3/9] media: uapi: mpeg2: Split sequence and picture parameters Ezequiel Garcia
2021-03-29 18:13 ` [PATCH v4 4/9] media: uapi: mpeg2: Move reference buffer fields Ezequiel Garcia
2021-03-29 18:13 ` [PATCH v4 5/9] media: hantro/cedrus: Remove unneeded slice size and slice offset Ezequiel Garcia
2021-03-29 18:13 ` [PATCH v4 6/9] media: uapi: mpeg2: Remove V4L2_CID_MPEG_VIDEO_MPEG2_SLICE_PARAMS Ezequiel Garcia
2021-03-29 18:13 ` [PATCH v4 7/9] media: controls: Log MPEG-2 stateless control in .std_log Ezequiel Garcia
2021-03-29 18:13 ` [PATCH v4 8/9] media: uapi: Move the MPEG-2 stateless control type out of staging Ezequiel Garcia
2021-03-29 18:13 ` [PATCH v4 9/9] 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=20210329181329.48006-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.