[RFC v2 8/8] media: uapi: Change data_bit_offset definition

From: Benjamin Gaignard
Date: Tue Feb 15 2022 - 06:01:42 EST


'F.7.3.6.1 General slice segment header syntax' section of HEVC
specification describes that a slice header always end byte aligned,
therefore we only need to provide the data offset in byte.

Signed-off-by: Benjamin Gaignard <benjamin.gaignard@xxxxxxxxxxxxx>
---
Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst | 4 ++--
drivers/staging/media/sunxi/cedrus/cedrus_h265.c | 2 +-
include/uapi/linux/v4l2-controls.h | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
index 679595e94643..d5bdc2359b88 100644
--- a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
+++ b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst
@@ -2966,8 +2966,8 @@ enum v4l2_mpeg_video_hevc_size_of_length_field -
:widths: 1 1 2

* - __u32
- - ``data_bit_offset``
- - Offset (in bits) to the video data in the current slice data.
+ - ``data_byte_offset``
+ - Offset (in byte) to the video data in the current slice data.
* - __u8
- ``nal_unit_type``
-
diff --git a/drivers/staging/media/sunxi/cedrus/cedrus_h265.c b/drivers/staging/media/sunxi/cedrus/cedrus_h265.c
index db8c7475eeb8..81c4362ddbf4 100644
--- a/drivers/staging/media/sunxi/cedrus/cedrus_h265.c
+++ b/drivers/staging/media/sunxi/cedrus/cedrus_h265.c
@@ -402,7 +402,7 @@ static void cedrus_h265_setup(struct cedrus_ctx *ctx,
/* Initialize bitstream access. */
cedrus_write(dev, VE_DEC_H265_TRIGGER, VE_DEC_H265_TRIGGER_INIT_SWDEC);

- cedrus_h265_skip_bits(dev, slice_params->data_bit_offset);
+ cedrus_h265_skip_bits(dev, slice_params->data_byte_offset * 8);

/* Bitstream parameters. */

diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h
index 700e6cce958c..6968b5888607 100644
--- a/include/uapi/linux/v4l2-controls.h
+++ b/include/uapi/linux/v4l2-controls.h
@@ -2458,7 +2458,7 @@ struct v4l2_hevc_pred_weight_table {
#define V4L2_HEVC_SLICE_PARAMS_FLAG_DEPENDENT_SLICE_SEGMENT (1ULL << 9)

struct v4l2_ctrl_hevc_slice_params {
- __u32 data_bit_offset;
+ __u32 data_byte_offset;

/* ISO/IEC 23008-2, ITU-T Rec. H.265: NAL unit header */
__u8 nal_unit_type;
--
2.32.0