summaryrefslogtreecommitdiff
path: root/libavformat
diff options
context:
space:
mode:
authorArthur Grant <arthur.grant1969@gmail.com>2015-08-24 12:19:03 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2015-08-24 12:44:34 +0200
commit781efd07415cdf6f676cca5b22147e5d6be0a4c4 (patch)
tree18fe74ffb906408584a70aeb31c09275d23284ca /libavformat
parentfd2977d85f42140c0159fdcb343fafd9f6e9098c (diff)
avformat/hevc: Fix parsing errors
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavformat')
-rw-r--r--libavformat/hevc.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libavformat/hevc.c b/libavformat/hevc.c
index 47f18819a8..dc765ab94b 100644
--- a/libavformat/hevc.c
+++ b/libavformat/hevc.c
@@ -565,7 +565,8 @@ static int hvcc_parse_sps(GetBitContext *gb,
}
if (get_bits1(gb)) { // long_term_ref_pics_present_flag
- for (i = 0; i < get_ue_golomb_long(gb); i++) { // num_long_term_ref_pics_sps
+ unsigned num_long_term_ref_pics_sps = get_ue_golomb_long(gb);
+ for (i = 0; i < num_long_term_ref_pics_sps; i++) { // num_long_term_ref_pics_sps
int len = FFMIN(log2_max_pic_order_cnt_lsb_minus4 + 4, 16);
skip_bits (gb, len); // lt_ref_pic_poc_lsb_sps[i]
skip_bits1(gb); // used_by_curr_pic_lt_sps_flag[i]
@@ -616,11 +617,12 @@ static int hvcc_parse_pps(GetBitContext *gb,
get_se_golomb_long(gb); // pps_cr_qp_offset
/*
+ * pps_slice_chroma_qp_offsets_present_flag u(1)
* weighted_pred_flag u(1)
* weighted_bipred_flag u(1)
* transquant_bypass_enabled_flag u(1)
*/
- skip_bits(gb, 3);
+ skip_bits(gb, 4);
tiles_enabled_flag = get_bits1(gb);
entropy_coding_sync_enabled_flag = get_bits1(gb);