mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-01-14 03:11:20 +00:00
avcodec/hevc: check nb_cpb
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
7a4a5515b0
commit
ba80b8d29b
@ -265,7 +265,7 @@ static void decode_sublayer_hrd(HEVCContext *s, unsigned int nb_cpb,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void decode_hrd(HEVCContext *s, int common_inf_present,
|
static int decode_hrd(HEVCContext *s, int common_inf_present,
|
||||||
int max_sublayers)
|
int max_sublayers)
|
||||||
{
|
{
|
||||||
GetBitContext *gb = &s->HEVClc->gb;
|
GetBitContext *gb = &s->HEVClc->gb;
|
||||||
@ -312,14 +312,20 @@ static void decode_hrd(HEVCContext *s, int common_inf_present,
|
|||||||
else
|
else
|
||||||
low_delay = get_bits1(gb);
|
low_delay = get_bits1(gb);
|
||||||
|
|
||||||
if (!low_delay)
|
if (!low_delay) {
|
||||||
nb_cpb = get_ue_golomb_long(gb) + 1;
|
nb_cpb = get_ue_golomb_long(gb) + 1;
|
||||||
|
if (nb_cpb < 1 || nb_cpb > 32) {
|
||||||
|
av_log(s->avctx, AV_LOG_ERROR, "nb_cpb %d invalid\n", nb_cpb);
|
||||||
|
return AVERROR_INVALIDDATA;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (nal_params_present)
|
if (nal_params_present)
|
||||||
decode_sublayer_hrd(s, nb_cpb, subpic_params_present);
|
decode_sublayer_hrd(s, nb_cpb, subpic_params_present);
|
||||||
if (vcl_params_present)
|
if (vcl_params_present)
|
||||||
decode_sublayer_hrd(s, nb_cpb, subpic_params_present);
|
decode_sublayer_hrd(s, nb_cpb, subpic_params_present);
|
||||||
}
|
}
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
int ff_hevc_decode_nal_vps(HEVCContext *s)
|
int ff_hevc_decode_nal_vps(HEVCContext *s)
|
||||||
|
Loading…
Reference in New Issue
Block a user