From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [46.235.227.227]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 27E801388; Tue, 15 Feb 2022 11:01:18 +0000 (UTC) Received: from benjamin-XPS-13-9310.. (unknown [IPv6:2a01:e0a:120:3210:6d7b:ae43:289b:7e7c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: benjamin.gaignard) by bhuna.collabora.co.uk (Postfix) with ESMTPSA id 239561F444E4; Tue, 15 Feb 2022 11:01:16 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1644922876; bh=RIHgRR/y4Gj0Ju5HMmg8MeO2eKGIydoWDH9lUH21XZ4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=P+xc9sPG288GPLGKGCVNRbUtzEFNdiXHK8+VyTMJGmDl9s3r6PKCkwKj0Xau1gmn2 oYZ7owMH62DIVVrkoaEAcxrnEUsCpWJ50kMXjrZ18fqSFpA0NpCdXLBlnSf7lFSOA+ XMgVHix02uA8aPPfEn+6sFtRzcQVf027wK3BE3zpKkLE2AX57ggPytvxfrPF7xumQ5 /4rjkuWA7GcR9782mFxcAaFzPZY0OZiZgchQVr0dVv48lJCrw+/Qoa9WvPv32tivvW p5N3lhaCeoEw6GMTXK3XuAkCEDo9k+bUy64DPZ0KauqNsxU7EBSdYdDSb4qwOPYoQA Rws1u/T8BBLog== From: Benjamin Gaignard 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 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 Message-Id: <20220215110103.241297-7-benjamin.gaignard@collabora.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220215110103.241297-1-benjamin.gaignard@collabora.com> References: <20220215110103.241297-1-benjamin.gaignard@collabora.com> Precedence: bulk X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 --- .../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 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 76EC0C433EF for ; Tue, 15 Feb 2022 11:03:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=ZFVFZPen1CGtN1AHeGaLniWQbbtFSnKx/WhBbCNvQZ8=; b=A74ofIjI6gtTv1 qAiXuSHMwcRYDZwQzMsUs5lVh4+UDcOgeSgNZgCgakUKkvQhKEp3M38xawMtS0U2nGWR5W8w2VDoU qkpvcDTbfzYkaa2PhYugUCNpzd3RGhJlKGJ9VIau5DZp/HuRwjjE0GMO46wcY78RoOl4sl8XYhWTP n6abU+/8bjemgQgNwWppzOo7AjU5mMhPQ+46SWFgFD9dFLhZA1TPQACXHRYw65cdIvEIQW7Gblul7 9Nr+wnGuf//FhHAr5fGsqhFG9Dj5QHDph5JDWQ7zfthhLpyumjzRSSxDs2nV3oXzsZmYBQzgKrrpf AM9d0Cqp//YXWTjhtpnA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nJvbI-002QoW-TB; Tue, 15 Feb 2022 11:02:29 +0000 Received: from bhuna.collabora.co.uk ([2a00:1098:0:82:1000:25:2eeb:e3e3]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nJva9-002Q9b-Ra for linux-arm-kernel@lists.infradead.org; Tue, 15 Feb 2022 11:01:23 +0000 Received: from benjamin-XPS-13-9310.. (unknown [IPv6:2a01:e0a:120:3210:6d7b:ae43:289b:7e7c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: benjamin.gaignard) by bhuna.collabora.co.uk (Postfix) with ESMTPSA id 239561F444E4; Tue, 15 Feb 2022 11:01:16 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1644922876; bh=RIHgRR/y4Gj0Ju5HMmg8MeO2eKGIydoWDH9lUH21XZ4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=P+xc9sPG288GPLGKGCVNRbUtzEFNdiXHK8+VyTMJGmDl9s3r6PKCkwKj0Xau1gmn2 oYZ7owMH62DIVVrkoaEAcxrnEUsCpWJ50kMXjrZ18fqSFpA0NpCdXLBlnSf7lFSOA+ XMgVHix02uA8aPPfEn+6sFtRzcQVf027wK3BE3zpKkLE2AX57ggPytvxfrPF7xumQ5 /4rjkuWA7GcR9782mFxcAaFzPZY0OZiZgchQVr0dVv48lJCrw+/Qoa9WvPv32tivvW p5N3lhaCeoEw6GMTXK3XuAkCEDo9k+bUy64DPZ0KauqNsxU7EBSdYdDSb4qwOPYoQA Rws1u/T8BBLog== From: Benjamin Gaignard 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 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 Message-Id: <20220215110103.241297-7-benjamin.gaignard@collabora.com> X-Mailer: git-send-email 2.32.0 In-Reply-To: <20220215110103.241297-1-benjamin.gaignard@collabora.com> References: <20220215110103.241297-1-benjamin.gaignard@collabora.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220215_030118_075962_63E0B480 X-CRM114-Status: GOOD ( 13.33 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org 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 --- .../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