linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/9] Stateless H.264 de-staging
@ 2020-11-13 21:51 Ezequiel Garcia
  2020-11-13 21:51 ` [PATCH v2 1/9] media: rkvdec: h264: Support profile and level controls Ezequiel Garcia
                   ` (9 more replies)
  0 siblings, 10 replies; 20+ messages in thread
From: Ezequiel Garcia @ 2020-11-13 21:51 UTC (permalink / raw)
  To: linux-media, linux-kernel
  Cc: kernel, Jonas Karlman, Hans Verkuil, Nicolas Dufresne,
	Philipp Zabel, Maxime Ripard, Paul Kocialkowski, Jernej Skrabec,
	Ezequiel Garcia

Now that H.264 stateless controls are solid, we can get it
out of staging.

Following some guidelines from Hans, this series creates a
new stateless control class for the stable codec controls to land.

While here, I'm including a patch from Jonas adding profiles
and levels to Rkvdec, and also made a similar fix for Cedrus.

This series was tested on a i.MX8MQ EVK board, using GStreamer:

https://gitlab.freedesktop.org/ezequielgarcia/gst-plugins-bad/-/commits/h264_stable_uapi

In case someone wants to give this a test.

Note that v4l2-compliance isn't passing, as the Hantro driver
doesn't set legal default values for the H264 SPS, PPS, etc
controls.

That's something we should fix, although it's since it's just
meant to please v4l2-compliance, we could also argue that these
controls shouldn't be expected to have any default value.

Thanks,
Ezequiel

v2:
  * Split destage changes in several patches so it's easier to review.
  * Added missing changes to drivers/media/v4l2-core/v4l2-ctrls.c.
  * Renamed V4L2_CID_CODEC_CX2341X_ and V4L2_CID_MPEG_MFC51_
  * Moved the compatibility macros for MPEG to the end of the header.

Ezequiel Garcia (8):
  media: cedrus: h264: Support profile and level controls
  media: Rename stateful codec control macros
  media: Clean stateless control includes
  media: controls: Add the stateless codec control class
  media: uapi: Move parsed H264 pixel format out of staging
  media: uapi: Move the H264 stateless control types out of staging
  media: uapi: move H264 stateless controls out of staging
  media: docs: Move the H264 stateless codec uAPI

Jonas Karlman (1):
  media: rkvdec: h264: Support profile and level controls

 .../userspace-api/media/v4l/common.rst        |   1 +
 .../userspace-api/media/v4l/dev-mem2mem.rst   |   2 +-
 .../media/v4l/ext-ctrls-codec-stateless.rst   | 674 +++++++++++++++
 .../media/v4l/ext-ctrls-codec.rst             | 696 +---------------
 .../media/v4l/extended-controls.rst           |   8 +-
 .../media/v4l/pixfmt-compressed.rst           |  14 +-
 .../media/v4l/vidioc-g-ext-ctrls.rst          |   6 +-
 drivers/media/common/cx2341x.c                |   4 +-
 drivers/media/platform/s5p-mfc/s5p_mfc_dec.c  |   2 +-
 drivers/media/platform/s5p-mfc/s5p_mfc_enc.c  |   2 +-
 drivers/media/v4l2-core/v4l2-ctrls.c          |  45 +-
 drivers/staging/media/hantro/hantro_drv.c     |  26 +-
 drivers/staging/media/hantro/hantro_h264.c    |   8 +-
 drivers/staging/media/hantro/hantro_hw.h      |   4 +-
 drivers/staging/media/rkvdec/rkvdec-h264.c    |   8 +-
 drivers/staging/media/rkvdec/rkvdec.c         |  39 +-
 drivers/staging/media/sunxi/cedrus/cedrus.c   |  45 +-
 .../staging/media/sunxi/cedrus/cedrus_dec.c   |  12 +-
 include/media/fwht-ctrls.h                    |   2 +-
 include/media/h264-ctrls.h                    |  27 +-
 include/media/hevc-ctrls.h                    |  10 +-
 include/media/mpeg2-ctrls.h                   |   4 +-
 include/media/v4l2-ctrls.h                    |   1 -
 include/media/v4l2-h264.h                     |   2 +-
 include/media/vp8-ctrls.h                     |   2 +-
 include/uapi/linux/v4l2-controls.h            | 788 +++++++++++++-----
 include/uapi/linux/videodev2.h                |   8 +
 27 files changed, 1422 insertions(+), 1018 deletions(-)
 create mode 100644 Documentation/userspace-api/media/v4l/ext-ctrls-codec-stateless.rst

-- 
2.27.0


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2020-11-17 19:55 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-13 21:51 [PATCH v2 0/9] Stateless H.264 de-staging Ezequiel Garcia
2020-11-13 21:51 ` [PATCH v2 1/9] media: rkvdec: h264: Support profile and level controls Ezequiel Garcia
2020-11-13 21:51 ` [PATCH v2 2/9] media: cedrus: " Ezequiel Garcia
2020-11-17 19:24   ` Jernej Škrabec
2020-11-17 19:40     ` Ezequiel Garcia
2020-11-17 19:55       ` Jernej Škrabec
2020-11-17 19:55         ` Ezequiel Garcia
2020-11-13 21:51 ` [PATCH v2 3/9] media: Rename stateful codec control macros Ezequiel Garcia
2020-11-14 12:53   ` Hans Verkuil
2020-11-15  1:12     ` Ezequiel Garcia
2020-11-13 21:51 ` [PATCH v2 4/9] media: Clean stateless control includes Ezequiel Garcia
2020-11-13 21:51 ` [PATCH v2 5/9] media: controls: Add the stateless codec control class Ezequiel Garcia
2020-11-13 21:51 ` [PATCH v2 6/9] media: uapi: Move parsed H264 pixel format out of staging Ezequiel Garcia
2020-11-13 21:51 ` [PATCH v2 7/9] media: uapi: Move the H264 stateless control types " Ezequiel Garcia
2020-11-13 21:51 ` [PATCH v2 8/9] media: uapi: move H264 stateless controls " Ezequiel Garcia
2020-11-13 21:51 ` [PATCH v2 9/9] media: docs: Move the H264 stateless codec uAPI Ezequiel Garcia
2020-11-14 12:57   ` Hans Verkuil
2020-11-15  1:11     ` Ezequiel Garcia
2020-11-14 12:58 ` [PATCH v2 0/9] Stateless H.264 de-staging Hans Verkuil
2020-11-15  0:02   ` Ezequiel Garcia

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