The recent patch posted by Jernej (which I'm including for context), encouraged me to address all the known issues in the uAPI. I hope we can finally make this uAPI interface public; and then also address the other codec interfaces so we can move the codec drivers out of staging. It should be noted that there is already GStreamer native support for this interface, which will be part of 1.18, once it's released [1], as well as support in Chromium [2]. I have pushed a branch porting GStreamer to support these interface changes: https://gitlab.freedesktop.org/ezequielgarcia/gst-plugins-bad/-/commits/for_h264_uapi_v2 The main changes are: * Split prediction weight table to a separate control. * Increase size of first_mb_in_slice field. * Cleanup DPB entry interface, to support field coding. * Increase of DPB entry pic_num field. * Move slice invariant fields to the per-frame control. I'm adding here the change from Jernej, and a change from Philipp Zabel which apparently fell thru the cracks. Ezequiel Garcia (8): media: uapi: h264: Further clarify scaling lists order media: uapi: h264: Split prediction weight parameters media: uapi: h264: Increase size of 'first_mb_in_slice' field media: uapi: h264: Cleanup DPB entry interface media: uapi: h264: Increase size of DPB entry pic_num media: uapi: h264: Clean slice invariants syntax elements media: hantro: Don't require unneeded H264_SLICE_PARAMS media: rkvdec: Don't require unneeded H264_SLICE_PARAMS Jernej Skrabec (1): media: uapi: h264: Update reference lists Philipp Zabel (1): media: uapi: h264: Clarify pic_order_cnt_bit_size field .../media/v4l/ext-ctrls-codec.rst | 192 +++++++++++------- drivers/media/v4l2-core/v4l2-ctrls.c | 25 +++ drivers/media/v4l2-core/v4l2-h264.c | 12 +- drivers/staging/media/hantro/hantro_drv.c | 5 - .../staging/media/hantro/hantro_g1_h264_dec.c | 21 +- drivers/staging/media/hantro/hantro_h264.c | 8 +- drivers/staging/media/hantro/hantro_hw.h | 2 - drivers/staging/media/rkvdec/rkvdec-h264.c | 18 +- drivers/staging/media/rkvdec/rkvdec.c | 5 - drivers/staging/media/sunxi/cedrus/cedrus.h | 1 + .../staging/media/sunxi/cedrus/cedrus_dec.c | 2 + .../staging/media/sunxi/cedrus/cedrus_h264.c | 21 +- include/media/h264-ctrls.h | 80 +++++--- include/media/v4l2-h264.h | 3 +- 14 files changed, 234 insertions(+), 161 deletions(-) -- 2.27.0