mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Hans Verkuil <hverkuil@xs4all.nl>
To: Ezequiel Garcia <ezequiel@collabora.com>,
	linux-media@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: kernel@collabora.com, Jonas Karlman <jonas@kwiboo.se>,
	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>
Subject: Re: [PATCH v2 0/9] Stateless H.264 de-staging
Date: Sat, 14 Nov 2020 13:58:06 +0100	[thread overview]
Message-ID: <73f46141-7fb5-925c-b9db-7af608d0dfd4@xs4all.nl> (raw)
In-Reply-To: <20201113215121.505173-1-ezequiel@collabora.com>

On 13/11/2020 22:51, Ezequiel Garcia wrote:
> 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.

This really needs to be fixed. I've ignored this issue since the API
was in staging and still changing, but when we move it out of staging,
then this issue should be tackled.

It should likely be done in std_init_compound() in v4l2-ctrls.c.

It is probably a good idea to also verify std_validate_compound(), making
sure that everything there is still valid and up to date.

And std_log() should be taught about these new controls. For compound
controls I would just log the type name, e.g. "H264_SPS" and not the
values of these compound controls.

Regards,

	Hans

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


  parent reply	other threads:[~2020-11-14 12:58 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
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
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 ` Hans Verkuil [this message]
2020-11-15  0:02   ` [PATCH v2 0/9] Stateless H.264 de-staging 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=73f46141-7fb5-925c-b9db-7af608d0dfd4@xs4all.nl \
    --to=hverkuil@xs4all.nl \
    --cc=ezequiel@collabora.com \
    --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

all inboxes | Powered by JetHome®