summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorEzequiel Garcia <ezequiel@collabora.com>2020-08-25 05:52:31 +0200
committerMauro Carvalho Chehab <mchehab+huawei@kernel.org>2020-09-01 14:13:28 +0200
commit4245232fa6ca58f79710732bd16cefe78b8b8bc4 (patch)
tree0615ed0be12512d287872a8dfc94a374d2a8cf52 /include
parentfb92c56312d4e3a5c30de963e459a040a4761665 (diff)
downloadlinux-4245232fa6ca58f79710732bd16cefe78b8b8bc4.tar.bz2
media: uapi: h264: Increase size of 'first_mb_in_slice' field
Slice header syntax element 'first_mb_in_slice' can point to the last macroblock, currently the field can only reference 65536 macroblocks which is insufficient for 8K videos. Although unlikely, a 8192x4320 video (where macroblocks are 16x16), would contain 138240 macroblocks on a frame. As per the H264 specification, 'first_mb_in_slice' can be up to PicSizeInMbs - 1, so increase the size of the field to 32-bits. Note that v4l2_ctrl_h264_slice_params struct will be modified in a follow-up commit, and so we defer its 64-bit padding. Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com> Tested-by: Jonas Karlman <jonas@kwiboo.se> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Diffstat (limited to 'include')
-rw-r--r--include/media/h264-ctrls.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/media/h264-ctrls.h b/include/media/h264-ctrls.h
index 31c6f4c5963b..9a6722edf004 100644
--- a/include/media/h264-ctrls.h
+++ b/include/media/h264-ctrls.h
@@ -172,7 +172,8 @@ struct v4l2_ctrl_h264_slice_params {
/* Offset in bits to slice_data() from the beginning of this slice. */
__u32 header_bit_size;
- __u16 first_mb_in_slice;
+ __u32 first_mb_in_slice;
+
__u8 slice_type;
__u8 pic_parameter_set_id;
__u8 colour_plane_id;