From a66f2dca60f2cdb347e37d400f6b8c49ac61e7a5 Mon Sep 17 00:00:00 2001 From: Gwenole Beauchesne Date: Sun, 27 Apr 2014 23:29:41 +0200 Subject: [PATCH] codecparsers: h264: fix parsing of slice groups for map type = 2. When parsing slice groups information for slice_group_map_type = 2, we should only be reading up to num_slice_groups_minus1 groups since there is always a "leftover" slice group and as many "foreground" slice groups as needed. This fixes parsing for SVCBMT-5 and SVCBMT-12 whereby the base layer would have incorrectly been parsed to have up to 38 reference frames in list0, which is not possible. Signed-off-by: Gwenole Beauchesne --- gst-libs/gst/codecparsers/gsth264parser.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gst-libs/gst/codecparsers/gsth264parser.c b/gst-libs/gst/codecparsers/gsth264parser.c index ae4b147b67..db5cd8dfa1 100644 --- a/gst-libs/gst/codecparsers/gsth264parser.c +++ b/gst-libs/gst/codecparsers/gsth264parser.c @@ -1466,7 +1466,7 @@ gst_h264_parse_pps (GstH264NalParser * nalparser, GstH264NalUnit * nalu, } else if (pps->slice_group_map_type == 2) { gint i; - for (i = 0; i <= pps->num_slice_groups_minus1; i++) { + for (i = 0; i < pps->num_slice_groups_minus1; i++) { READ_UE (&nr, pps->top_left[i]); READ_UE (&nr, pps->bottom_right[i]); }