summaryrefslogtreecommitdiff
path: root/libavcodec/cbs_h264_syntax_template.c
diff options
context:
space:
mode:
authorMark Thompson <sw@jkqxz.net>2018-02-11 00:57:46 +0000
committerMark Thompson <sw@jkqxz.net>2018-02-20 22:04:12 +0000
commit7157d959264f3729da463725c6faa580d9394d19 (patch)
tree94c1ac24c11077178f2ea8b9080b8527fb6e6863 /libavcodec/cbs_h264_syntax_template.c
parent78fa0b9033c0834c049e2aedf71a8c613fed87ab (diff)
cbs_h264: Move slice_group_id array out of PPS structure
It's very large, and is only used in some FMO streams.
Diffstat (limited to 'libavcodec/cbs_h264_syntax_template.c')
-rw-r--r--libavcodec/cbs_h264_syntax_template.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/libavcodec/cbs_h264_syntax_template.c b/libavcodec/cbs_h264_syntax_template.c
index c2fd546822..29e9735987 100644
--- a/libavcodec/cbs_h264_syntax_template.c
+++ b/libavcodec/cbs_h264_syntax_template.c
@@ -404,6 +404,9 @@ static int FUNC(pps)(CodedBitstreamContext *ctx, RWContext *rw,
ue(slice_group_change_rate_minus1, 0, pic_size - 1);
} else if (current->slice_group_map_type == 6) {
ue(pic_size_in_map_units_minus1, pic_size - 1, pic_size - 1);
+
+ allocate(current->slice_group_id,
+ current->pic_size_in_map_units_minus1 + 1);
for (i = 0; i <= current->pic_size_in_map_units_minus1; i++)
u(av_log2(2 * current->num_slice_groups_minus1 + 1),
slice_group_id[i], 0, current->num_slice_groups_minus1);