From: Benjamin Gaignard <benjamin.gaignard@collabora.com> To: mchehab@kernel.org, ezequiel@vanguardiasur.com.ar, p.zabel@pengutronix.de, gregkh@linuxfoundation.org, mripard@kernel.org, paul.kocialkowski@bootlin.com, wens@csie.org, jernej.skrabec@gmail.com, hverkuil-cisco@xs4all.nl, jonas@kwiboo.se, nicolas@ndufresne.ca Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, kernel@collabora.com, knaerzche@gmail.com, jc@kynesim.co.uk, Benjamin Gaignard <benjamin.gaignard@collabora.com> Subject: [RFC v2 6/8] media: uapi: Remove bit_size field from v4l2_ctrl_hevc_slice_params Date: Tue, 15 Feb 2022 12:01:01 +0100 [thread overview] Message-ID: <20220215110103.241297-7-benjamin.gaignard@collabora.com> (raw) In-Reply-To: <20220215110103.241297-1-benjamin.gaignard@collabora.com> The bit size of the slice could be deduced from the buffer payload so remove bit_size field to avoid duplicated the information. Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com> --- .../userspace-api/media/v4l/ext-ctrls-codec.rst | 3 --- drivers/staging/media/sunxi/cedrus/cedrus_h265.c | 11 ++++------- include/uapi/linux/v4l2-controls.h | 3 +-- 3 files changed, 5 insertions(+), 12 deletions(-) diff --git a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst index 3296ac3b9fca..c3ae97657fa7 100644 --- a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst +++ b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst @@ -2965,9 +2965,6 @@ enum v4l2_mpeg_video_hevc_size_of_length_field - :stub-columns: 0 :widths: 1 1 2 - * - __u32 - - ``bit_size`` - - Size (in bits) of the current slice data. * - __u32 - ``data_bit_offset`` - Offset (in bits) to the video data in the current slice data. diff --git a/drivers/staging/media/sunxi/cedrus/cedrus_h265.c b/drivers/staging/media/sunxi/cedrus/cedrus_h265.c index 8ab2d9c6f048..db8c7475eeb8 100644 --- a/drivers/staging/media/sunxi/cedrus/cedrus_h265.c +++ b/drivers/staging/media/sunxi/cedrus/cedrus_h265.c @@ -312,8 +312,8 @@ static void cedrus_h265_setup(struct cedrus_ctx *ctx, const struct v4l2_hevc_pred_weight_table *pred_weight_table; unsigned int width_in_ctb_luma, ctb_size_luma; unsigned int log2_max_luma_coding_block_size; + size_t slice_bytes; dma_addr_t src_buf_addr; - dma_addr_t src_buf_end_addr; u32 chroma_log2_weight_denom; u32 output_pic_list_index; u32 pic_order_cnt[2]; @@ -370,8 +370,8 @@ static void cedrus_h265_setup(struct cedrus_ctx *ctx, cedrus_write(dev, VE_DEC_H265_BITS_OFFSET, 0); - reg = slice_params->bit_size; - cedrus_write(dev, VE_DEC_H265_BITS_LEN, reg); + slice_bytes = vb2_get_plane_payload(&run->src->vb2_buf, 0); + cedrus_write(dev, VE_DEC_H265_BITS_LEN, slice_bytes); /* Source beginning and end addresses. */ @@ -384,10 +384,7 @@ static void cedrus_h265_setup(struct cedrus_ctx *ctx, cedrus_write(dev, VE_DEC_H265_BITS_ADDR, reg); - src_buf_end_addr = src_buf_addr + - DIV_ROUND_UP(slice_params->bit_size, 8); - - reg = VE_DEC_H265_BITS_END_ADDR_BASE(src_buf_end_addr); + reg = VE_DEC_H265_BITS_END_ADDR_BASE(src_buf_addr + slice_bytes); cedrus_write(dev, VE_DEC_H265_BITS_END_ADDR, reg); /* Coding tree block address */ diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h index b1a3dc05f02f..27f5d272dc43 100644 --- a/include/uapi/linux/v4l2-controls.h +++ b/include/uapi/linux/v4l2-controls.h @@ -2457,7 +2457,6 @@ struct v4l2_hevc_pred_weight_table { #define V4L2_HEVC_SLICE_PARAMS_FLAG_DEPENDENT_SLICE_SEGMENT (1ULL << 9) struct v4l2_ctrl_hevc_slice_params { - __u32 bit_size; __u32 data_bit_offset; /* ISO/IEC 23008-2, ITU-T Rec. H.265: NAL unit header */ @@ -2484,7 +2483,7 @@ struct v4l2_ctrl_hevc_slice_params { /* ISO/IEC 23008-2, ITU-T Rec. H.265: Picture timing SEI message */ __u8 pic_struct; - __u8 reserved; + __u8 reserved[5]; /* ISO/IEC 23008-2, ITU-T Rec. H.265: General slice segment header */ __u32 slice_segment_addr; -- 2.32.0
WARNING: multiple messages have this Message-ID (diff)
From: Benjamin Gaignard <benjamin.gaignard@collabora.com> To: mchehab@kernel.org, ezequiel@vanguardiasur.com.ar, p.zabel@pengutronix.de, gregkh@linuxfoundation.org, mripard@kernel.org, paul.kocialkowski@bootlin.com, wens@csie.org, jernej.skrabec@gmail.com, hverkuil-cisco@xs4all.nl, jonas@kwiboo.se, nicolas@ndufresne.ca Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-staging@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, kernel@collabora.com, knaerzche@gmail.com, jc@kynesim.co.uk, Benjamin Gaignard <benjamin.gaignard@collabora.com> Subject: [RFC v2 6/8] media: uapi: Remove bit_size field from v4l2_ctrl_hevc_slice_params Date: Tue, 15 Feb 2022 12:01:01 +0100 [thread overview] Message-ID: <20220215110103.241297-7-benjamin.gaignard@collabora.com> (raw) In-Reply-To: <20220215110103.241297-1-benjamin.gaignard@collabora.com> The bit size of the slice could be deduced from the buffer payload so remove bit_size field to avoid duplicated the information. Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com> --- .../userspace-api/media/v4l/ext-ctrls-codec.rst | 3 --- drivers/staging/media/sunxi/cedrus/cedrus_h265.c | 11 ++++------- include/uapi/linux/v4l2-controls.h | 3 +-- 3 files changed, 5 insertions(+), 12 deletions(-) diff --git a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst index 3296ac3b9fca..c3ae97657fa7 100644 --- a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst +++ b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst @@ -2965,9 +2965,6 @@ enum v4l2_mpeg_video_hevc_size_of_length_field - :stub-columns: 0 :widths: 1 1 2 - * - __u32 - - ``bit_size`` - - Size (in bits) of the current slice data. * - __u32 - ``data_bit_offset`` - Offset (in bits) to the video data in the current slice data. diff --git a/drivers/staging/media/sunxi/cedrus/cedrus_h265.c b/drivers/staging/media/sunxi/cedrus/cedrus_h265.c index 8ab2d9c6f048..db8c7475eeb8 100644 --- a/drivers/staging/media/sunxi/cedrus/cedrus_h265.c +++ b/drivers/staging/media/sunxi/cedrus/cedrus_h265.c @@ -312,8 +312,8 @@ static void cedrus_h265_setup(struct cedrus_ctx *ctx, const struct v4l2_hevc_pred_weight_table *pred_weight_table; unsigned int width_in_ctb_luma, ctb_size_luma; unsigned int log2_max_luma_coding_block_size; + size_t slice_bytes; dma_addr_t src_buf_addr; - dma_addr_t src_buf_end_addr; u32 chroma_log2_weight_denom; u32 output_pic_list_index; u32 pic_order_cnt[2]; @@ -370,8 +370,8 @@ static void cedrus_h265_setup(struct cedrus_ctx *ctx, cedrus_write(dev, VE_DEC_H265_BITS_OFFSET, 0); - reg = slice_params->bit_size; - cedrus_write(dev, VE_DEC_H265_BITS_LEN, reg); + slice_bytes = vb2_get_plane_payload(&run->src->vb2_buf, 0); + cedrus_write(dev, VE_DEC_H265_BITS_LEN, slice_bytes); /* Source beginning and end addresses. */ @@ -384,10 +384,7 @@ static void cedrus_h265_setup(struct cedrus_ctx *ctx, cedrus_write(dev, VE_DEC_H265_BITS_ADDR, reg); - src_buf_end_addr = src_buf_addr + - DIV_ROUND_UP(slice_params->bit_size, 8); - - reg = VE_DEC_H265_BITS_END_ADDR_BASE(src_buf_end_addr); + reg = VE_DEC_H265_BITS_END_ADDR_BASE(src_buf_addr + slice_bytes); cedrus_write(dev, VE_DEC_H265_BITS_END_ADDR, reg); /* Coding tree block address */ diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h index b1a3dc05f02f..27f5d272dc43 100644 --- a/include/uapi/linux/v4l2-controls.h +++ b/include/uapi/linux/v4l2-controls.h @@ -2457,7 +2457,6 @@ struct v4l2_hevc_pred_weight_table { #define V4L2_HEVC_SLICE_PARAMS_FLAG_DEPENDENT_SLICE_SEGMENT (1ULL << 9) struct v4l2_ctrl_hevc_slice_params { - __u32 bit_size; __u32 data_bit_offset; /* ISO/IEC 23008-2, ITU-T Rec. H.265: NAL unit header */ @@ -2484,7 +2483,7 @@ struct v4l2_ctrl_hevc_slice_params { /* ISO/IEC 23008-2, ITU-T Rec. H.265: Picture timing SEI message */ __u8 pic_struct; - __u8 reserved; + __u8 reserved[5]; /* ISO/IEC 23008-2, ITU-T Rec. H.265: General slice segment header */ __u32 slice_segment_addr; -- 2.32.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2022-02-15 11:01 UTC|newest] Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-02-15 11:00 [RFC v2 0/8] Move HEVC stateless controls out of staging Benjamin Gaignard 2022-02-15 11:00 ` Benjamin Gaignard 2022-02-15 11:00 ` [RFC v2 1/8] videodev2.h: add V4L2_CTRL_FLAG_DYNAMIC_ARRAY Benjamin Gaignard 2022-02-15 11:00 ` Benjamin Gaignard 2022-02-15 11:00 ` [RFC v2 2/8] v4l2-ctrls: add support for dynamically allocated arrays Benjamin Gaignard 2022-02-15 11:00 ` Benjamin Gaignard 2022-02-15 11:00 ` [RFC v2 3/8] vivid: add dynamic array test control Benjamin Gaignard 2022-02-15 11:00 ` Benjamin Gaignard 2022-02-15 11:00 ` [RFC v2 4/8] media: uapi: Move HEVC stateless controls out of staging Benjamin Gaignard 2022-02-15 11:00 ` Benjamin Gaignard 2022-02-15 18:02 ` Sebastian Fricke 2022-02-15 18:02 ` Sebastian Fricke 2022-02-18 11:50 ` Hans Verkuil 2022-02-18 11:50 ` Hans Verkuil 2022-02-15 11:01 ` [RFC v2 5/8] media: uapi: Add fields needed for RKVDEC driver Benjamin Gaignard 2022-02-15 11:01 ` Benjamin Gaignard 2022-02-18 11:32 ` Hans Verkuil 2022-02-18 11:32 ` Hans Verkuil 2022-02-18 12:19 ` Benjamin Gaignard 2022-02-18 12:19 ` Benjamin Gaignard 2022-02-18 12:22 ` Hans Verkuil 2022-02-18 12:22 ` Hans Verkuil 2022-02-18 12:30 ` Benjamin Gaignard 2022-02-18 12:30 ` Benjamin Gaignard 2022-02-18 12:32 ` Hans Verkuil 2022-02-18 12:32 ` Hans Verkuil 2022-02-15 11:01 ` Benjamin Gaignard [this message] 2022-02-15 11:01 ` [RFC v2 6/8] media: uapi: Remove bit_size field from v4l2_ctrl_hevc_slice_params Benjamin Gaignard 2022-02-15 14:17 ` John Cox 2022-02-15 14:17 ` John Cox 2022-02-15 14:35 ` Benjamin Gaignard 2022-02-15 14:35 ` Benjamin Gaignard 2022-02-15 14:50 ` John Cox 2022-02-15 14:50 ` John Cox 2022-02-15 14:57 ` Benjamin Gaignard 2022-02-15 14:57 ` Benjamin Gaignard 2022-02-15 15:28 ` Nicolas Dufresne 2022-02-15 15:28 ` Nicolas Dufresne 2022-02-15 16:00 ` John Cox 2022-02-15 16:00 ` John Cox 2022-02-15 16:11 ` Jernej Škrabec 2022-02-15 16:11 ` Jernej Škrabec 2022-02-15 16:31 ` John Cox 2022-02-15 16:31 ` John Cox 2022-02-15 20:27 ` Jernej Škrabec 2022-02-15 20:27 ` Jernej Škrabec 2022-02-16 10:38 ` John Cox 2022-02-16 10:38 ` John Cox 2022-02-15 11:01 ` [RFC v2 7/8] media: uapi: Add V4L2_CID_STATELESS_HEVC_ENTRY_POINT_OFFSET control Benjamin Gaignard 2022-02-15 11:01 ` Benjamin Gaignard 2022-02-16 10:54 ` John Cox 2022-02-16 10:54 ` John Cox 2022-02-16 17:19 ` Benjamin Gaignard 2022-02-16 17:19 ` Benjamin Gaignard 2022-02-16 17:35 ` John Cox 2022-02-16 17:35 ` John Cox 2022-02-15 11:01 ` [RFC v2 8/8] media: uapi: Change data_bit_offset definition Benjamin Gaignard 2022-02-15 11:01 ` Benjamin Gaignard 2022-02-15 13:01 ` [RFC v2 0/8] Move HEVC stateless controls out of staging Sebastian Fricke 2022-02-15 13:01 ` Sebastian Fricke 2022-02-15 13:24 ` Benjamin Gaignard 2022-02-15 13:24 ` Benjamin Gaignard 2022-02-15 16:14 ` Jernej Škrabec 2022-02-15 16:14 ` Jernej Škrabec 2022-02-18 9:59 ` Hans Verkuil 2022-02-18 9:59 ` Hans Verkuil 2022-02-18 10:54 ` Benjamin Gaignard 2022-02-18 10:54 ` Benjamin Gaignard 2022-02-18 11:05 ` Hans Verkuil 2022-02-18 11:05 ` Hans Verkuil
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=20220215110103.241297-7-benjamin.gaignard@collabora.com \ --to=benjamin.gaignard@collabora.com \ --cc=ezequiel@vanguardiasur.com.ar \ --cc=gregkh@linuxfoundation.org \ --cc=hverkuil-cisco@xs4all.nl \ --cc=jc@kynesim.co.uk \ --cc=jernej.skrabec@gmail.com \ --cc=jonas@kwiboo.se \ --cc=kernel@collabora.com \ --cc=knaerzche@gmail.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-media@vger.kernel.org \ --cc=linux-staging@lists.linux.dev \ --cc=linux-sunxi@lists.linux.dev \ --cc=mchehab@kernel.org \ --cc=mripard@kernel.org \ --cc=nicolas@ndufresne.ca \ --cc=p.zabel@pengutronix.de \ --cc=paul.kocialkowski@bootlin.com \ --cc=wens@csie.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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.