New round for the H.264 uAPI cleanup, which as discussed aims at being stabilized and promoted as a first-class public uAPI soon. Changelog: v3->v4: * Convert enum v4l2_h264_field_reference to a __u8, as suggested by Hans. This reduces v4l2_ctrl_h264_slice_params from 536 bytes down to 152 bytes, and doesn't really change the uAPI. This also removes a hole in struct v4l2_h264_reference is removed. * Drop 'mandatory' requirement on DECODE_MODE and START_MODE, in rkvdec driver. v2->v3: * Clarify SCALING_MATRIX present flag. * Implement optional scaling matrix on hantro, rkvdec and cedrus. * Make prediction weight table properly optional on cedrus. * Rename field reference types. v1->v2: * Clean SLICE_PARAMS documentation, which we don't expect to be part of an array anymore. * Clarify how frame-based and slice-based modes are expected to work. * Add Cedrus patches to fix field references, as requested by Jernej. * Fix wrongly removed SPS in rkvdec. * Fix rkvdec DPB reference implementation. * Fix missing Cedrus and missing control member, for prediction weight table control. * Say "raster scan" instead of "matrix" in the docs. * Drop duplicated macros and use v4l2_h264_dpb_reference for the DPB reference signalling. RFC->v1: * 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. Ezequiel Garcia (15): 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: Clean DPB entry interface media: uapi: h264: Increase size of DPB entry pic_num media: uapi: h264: Drop SLICE_PARAMS 'size' field media: uapi: h264: Clarify SLICE_BASED mode media: uapi: h264: Clean slice invariants syntax elements media: uapi: h264: Rename and clarify PPS_FLAG_SCALING_MATRIX_PRESENT media: hantro: Don't require unneeded H264_SLICE_PARAMS media: rkvdec: Don't require unneeded H264_SLICE_PARAMS media: rkvdec: Drop unneeded per_request driver-specific control flag media: rkvdec: Use H264_SCALING_MATRIX only when required media: hantro: Use H264_SCALING_MATRIX only when required media: cedrus: Use H264_SCALING_MATRIX only when required Jernej Skrabec (3): media: uapi: h264: Update reference lists media: cedrus: h264: Properly configure reference field media: cedrus: h264: Fix frame list construction Philipp Zabel (1): media: uapi: h264: Clarify pic_order_cnt_bit_size field .../media/v4l/ext-ctrls-codec.rst | 233 ++++++++++-------- drivers/media/v4l2-core/v4l2-ctrls.c | 28 +++ drivers/media/v4l2-core/v4l2-h264.c | 12 +- drivers/staging/media/hantro/hantro_drv.c | 5 - .../staging/media/hantro/hantro_g1_h264_dec.c | 26 +- drivers/staging/media/hantro/hantro_h264.c | 12 +- drivers/staging/media/hantro/hantro_hw.h | 2 - drivers/staging/media/rkvdec/rkvdec-h264.c | 37 ++- drivers/staging/media/rkvdec/rkvdec.c | 14 +- drivers/staging/media/rkvdec/rkvdec.h | 1 - drivers/staging/media/sunxi/cedrus/cedrus.c | 9 +- drivers/staging/media/sunxi/cedrus/cedrus.h | 1 + .../staging/media/sunxi/cedrus/cedrus_dec.c | 2 + .../staging/media/sunxi/cedrus/cedrus_h264.c | 61 +++-- include/media/h264-ctrls.h | 87 ++++--- include/media/v4l2-ctrls.h | 2 + include/media/v4l2-h264.h | 3 +- 17 files changed, 290 insertions(+), 245 deletions(-) -- 2.27.0