diff --git a/libavcodec/h264.c b/libavcodec/h264.c index cb27476ea4..ca65c3401d 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -6917,7 +6917,7 @@ static inline int decode_hrd_parameters(H264Context *h, SPS *sps){ get_ue_golomb(&s->gb); /* cpb_size_value_minus1 */ get_bits1(&s->gb); /* cbr_flag */ } - get_bits(&s->gb, 5); /* initial_cpb_removal_delay_length_minus1 */ + sps->initial_cpb_removal_delay_length = get_bits(&s->gb, 5) + 1; sps->cpb_removal_delay_length = get_bits(&s->gb, 5) + 1; sps->dpb_output_delay_length = get_bits(&s->gb, 5) + 1; sps->time_offset_length = get_bits(&s->gb, 5); diff --git a/libavcodec/h264.h b/libavcodec/h264.h index cd960531c5..43c9a93899 100644 --- a/libavcodec/h264.h +++ b/libavcodec/h264.h @@ -179,6 +179,7 @@ typedef struct SPS{ int vcl_hrd_parameters_present_flag; int pic_struct_present_flag; int time_offset_length; + int initial_cpb_removal_delay_length; ///< initial_cpb_removal_delay_length_minus1 +1 int cpb_removal_delay_length; ///< cpb_removal_delay_length_minus1 + 1 int dpb_output_delay_length; ///< dpb_output_delay_length_minus1 + 1 int bit_depth_luma; ///< bit_depth_luma_minus8 + 8