[FFmpeg-devel] [PATCH] hevc_ps: fix cpb_cnt_minus1 initialization and fixed_rate check
llyyr
llyyr.public at gmail.com
Sun Sep 10 18:00:40 EEST 2023
Fixes: fc429d785e9e24c5520ce716d4bc3b5547e581eb
cpb_cnt was initialized to 1 before
fc429d785e9e24c5520ce716d4bc3b5547e581eb, so cpb_cnt_minus1 should be
initialized to 0 instead of 1.
Since we split fixed_rate into a general flag and a within_cvs_flag now,
check for both in conditional.
---
libavcodec/hevc_ps.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/libavcodec/hevc_ps.c b/libavcodec/hevc_ps.c
index bdd623507d..da5ba5a3bf 100644
--- a/libavcodec/hevc_ps.c
+++ b/libavcodec/hevc_ps.c
@@ -406,12 +406,11 @@ static int decode_hrd(GetBitContext *gb, int common_inf_present,
for (int i = 0; i < max_sublayers; i++) {
hdr->flags.fixed_pic_rate_general_flag = get_bits1(gb);
- hdr->cpb_cnt_minus1[i] = 1;
-
if (!hdr->flags.fixed_pic_rate_general_flag)
hdr->flags.fixed_pic_rate_within_cvs_flag = get_bits1(gb);
- if (hdr->flags.fixed_pic_rate_within_cvs_flag)
+ if (hdr->flags.fixed_pic_rate_within_cvs_flag ||
+ hdr->flags.fixed_pic_rate_general_flag)
hdr->elemental_duration_in_tc_minus1[i] = get_ue_golomb_long(gb);
else
hdr->flags.low_delay_hrd_flag = get_bits1(gb);
--
2.42.0
More information about the ffmpeg-devel
mailing list