From: Ezequiel Garcia <ezequiel@collabora.com> To: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Tomasz Figa <tfiga@chromium.org>, kernel@collabora.com, Jonas Karlman <jonas@kwiboo.se>, Hans Verkuil <hverkuil@xs4all.nl>, Alexandre Courbot <acourbot@chromium.org>, Jeffrey Kardatzke <jkardatzke@chromium.org>, 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>, Ezequiel Garcia <ezequiel@collabora.com> Subject: [PATCH v4 00/19] Clean H264 stateless uAPI Date: Tue, 25 Aug 2020 00:52:26 -0300 Message-ID: <20200825035245.594982-1-ezequiel@collabora.com> (raw) 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
next reply index Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-08-25 3:52 Ezequiel Garcia [this message] 2020-08-25 3:52 ` [PATCH v4 01/19] media: uapi: h264: Update reference lists Ezequiel Garcia 2020-08-25 3:52 ` [PATCH v4 02/19] media: uapi: h264: Further clarify scaling lists order Ezequiel Garcia 2020-08-25 3:52 ` [PATCH v4 03/19] media: uapi: h264: Split prediction weight parameters Ezequiel Garcia 2020-08-25 3:52 ` [PATCH v4 04/19] media: uapi: h264: Clarify pic_order_cnt_bit_size field Ezequiel Garcia 2020-08-25 3:52 ` [PATCH v4 05/19] media: uapi: h264: Increase size of 'first_mb_in_slice' field Ezequiel Garcia 2020-08-25 3:52 ` [PATCH v4 06/19] media: uapi: h264: Clean DPB entry interface Ezequiel Garcia 2020-08-25 3:52 ` [PATCH v4 07/19] media: uapi: h264: Increase size of DPB entry pic_num Ezequiel Garcia 2020-08-25 3:52 ` [PATCH v4 08/19] media: uapi: h264: Drop SLICE_PARAMS 'size' field Ezequiel Garcia 2020-08-25 3:52 ` [PATCH v4 09/19] media: uapi: h264: Clarify SLICE_BASED mode Ezequiel Garcia 2020-08-25 3:52 ` [PATCH v4 10/19] media: uapi: h264: Clean slice invariants syntax elements Ezequiel Garcia 2020-08-25 3:52 ` [PATCH v4 11/19] media: uapi: h264: Rename and clarify PPS_FLAG_SCALING_MATRIX_PRESENT Ezequiel Garcia 2020-08-25 3:52 ` [PATCH v4 12/19] media: hantro: Don't require unneeded H264_SLICE_PARAMS Ezequiel Garcia 2020-08-25 3:52 ` [PATCH v4 13/19] media: rkvdec: " Ezequiel Garcia 2020-08-25 3:52 ` [PATCH v4 14/19] media: cedrus: h264: Properly configure reference field Ezequiel Garcia 2020-08-25 3:52 ` [PATCH v4 15/19] media: cedrus: h264: Fix frame list construction Ezequiel Garcia 2020-08-25 3:52 ` [PATCH v4 16/19] media: rkvdec: Drop unneeded per_request driver-specific control flag Ezequiel Garcia 2020-08-25 3:52 ` [PATCH v4 17/19] media: rkvdec: Use H264_SCALING_MATRIX only when required Ezequiel Garcia 2020-08-25 3:52 ` [PATCH v4 18/19] media: hantro: " Ezequiel Garcia 2020-08-25 3:52 ` [PATCH v4 19/19] media: cedrus: " 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=20200825035245.594982-1-ezequiel@collabora.com \ --to=ezequiel@collabora.com \ --cc=acourbot@chromium.org \ --cc=hverkuil@xs4all.nl \ --cc=jernej.skrabec@siol.net \ --cc=jkardatzke@chromium.org \ --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 \ --cc=tfiga@chromium.org \ /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
Linux-Media Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/linux-media/0 linux-media/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-media linux-media/ https://lore.kernel.org/linux-media \ linux-media@vger.kernel.org public-inbox-index linux-media Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-media AGPL code for this site: git clone https://public-inbox.org/public-inbox.git