Re: [PATCH v4 00/13] Stateless H.264 de-staging

From: Jernej Škrabec
Date: Tue Nov 24 2020 - 15:36:49 EST


Hi!

Dne ponedeljek, 23. november 2020 ob 15:39:47 CET je Ezequiel Garcia
napisal(a):
> Seems we are converging, as this iteration is really small.
>
> Just like v3, this iteration (plus a patch for VP8 VP8_FRAME_HEADER
initialization,
> which I'll send shortly) passes v4l2-compliance with no failures.
>
> As an additional test, Fluendo's JVT-AVC_V1 conformance test [1] passes with
> score 72/135, for the Hantro driver on i.MX8MQ (Hantro G1 VPU).
> Considering the Hantro driver only supports 4:2:0 and 4:0:0, this score
> looks quite good.
>
> [1] https://github.com/fluendo/fluster/

Tested with ffmpeg/kodi stack on Allwinner R40 with different samples which use
different H264 features and works without any problem.

You can add

Tested-by: Jernej Skrabec <jernej.skrabec@xxxxxxxx>

for whole series.

Best regards,
Jernej

>
> Thanks,
> Ezequiel
>
> v4:
> * Minor documentation fixes.
> * Remove media/h264-ctrls.h, which was missing before.
> * Thanks to feedback from Jernej, std_validation_compound
> is now more complete, initializing non-present syntax elements.
> v3:
> * Dropped level control from Cedrus, as agreed.
> * Add support for H264 stateless controls in std_log and
std_validate_compound.
> * Added a ctrl debug error message, to help debug validation issues.
> * Style minor fixes as requested by Hans.
> 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 (12):
> media: ctrls: Add validate failure debug message
> media: cedrus: h264: Support profile controls
> media: Rename stateful codec control macros
> media: Clean stateless control includes
> media: uapi: h264: Add profile_idc macros
> media: controls: Validate H264 stateless controls
> 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: controls: Log H264 stateless controls in .std_log
> 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 | 9 +-
> .../media/v4l/pixfmt-compressed.rst | 21 +-
> .../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 | 198 ++++-
> 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 | 43 +-
> .../staging/media/sunxi/cedrus/cedrus_dec.c | 12 +-
> include/media/fwht-ctrls.h | 2 +-
> include/media/h264-ctrls.h | 406 ---------
> 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 | 804 +++++++++++++-----
> include/uapi/linux/videodev2.h | 8 +
> 27 files changed, 1582 insertions(+), 1412 deletions(-)
> create mode 100644 Documentation/userspace-api/media/v4l/ext-ctrls-codec-
stateless.rst
> delete mode 100644 include/media/h264-ctrls.h
>
> --
> 2.27.0
>
>