diff options
author | Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk> | 2011-12-05 12:53:59 +0100 |
---|---|---|
committer | Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk> | 2011-12-05 13:10:18 +0100 |
commit | 91e054ba58c2bf3ace0ff22c3c5832733b6efb47 (patch) | |
tree | 85143b0e3fb011d865494c258613d5a0ce1753cf /gst-libs | |
parent | 2cdb069b9f94cf68f7c27799a9d076e454fe3d17 (diff) |
codecparser: unbreak h264 slice header parsing
.. introduced by refactoring in commit 177451c9216f4e3959e7358675fbb9731d2c81a2
Diffstat (limited to 'gst-libs')
-rw-r--r-- | gst-libs/gst/codecparsers/gsth264parser.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/gst-libs/gst/codecparsers/gsth264parser.c b/gst-libs/gst/codecparsers/gsth264parser.c index 4c3df27e1..a75713e4b 100644 --- a/gst-libs/gst/codecparsers/gsth264parser.c +++ b/gst-libs/gst/codecparsers/gsth264parser.c @@ -760,15 +760,18 @@ slice_parse_ref_pic_list_modification_1 (GstH264SliceHdr * slice, } READ_UINT8 (nr, *ref_pic_list_modification_flag, 1); - do { - READ_UE (nr, modification_of_pic_nums_idc); - if (modification_of_pic_nums_idc == 0 || modification_of_pic_nums_idc == 1) { - READ_UE_ALLOWED (nr, entries[i].value.abs_diff_pic_num_minus1, 0, - slice->max_pic_num - 1); - } else if (modification_of_pic_nums_idc == 2) { - READ_UE (nr, entries[i].value.long_term_pic_num); - } - } while (modification_of_pic_nums_idc != 3); + if (*ref_pic_list_modification_flag) { + do { + READ_UE (nr, modification_of_pic_nums_idc); + if (modification_of_pic_nums_idc == 0 || + modification_of_pic_nums_idc == 1) { + READ_UE_ALLOWED (nr, entries[i].value.abs_diff_pic_num_minus1, 0, + slice->max_pic_num - 1); + } else if (modification_of_pic_nums_idc == 2) { + READ_UE (nr, entries[i].value.long_term_pic_num); + } + } while (modification_of_pic_nums_idc != 3); + } return TRUE; |