summaryrefslogtreecommitdiff
path: root/gst-libs
diff options
context:
space:
mode:
authorMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>2011-12-05 12:53:59 +0100
committerMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>2011-12-05 13:10:18 +0100
commit91e054ba58c2bf3ace0ff22c3c5832733b6efb47 (patch)
tree85143b0e3fb011d865494c258613d5a0ce1753cf /gst-libs
parent2cdb069b9f94cf68f7c27799a9d076e454fe3d17 (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.c21
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;