You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +02:00
avcodec/hevcdec: Check beta and tc offset in hls_slice_header()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
@@ -726,8 +726,17 @@ static int hls_slice_header(HEVCContext *s)
|
|||||||
if (deblocking_filter_override_flag) {
|
if (deblocking_filter_override_flag) {
|
||||||
sh->disable_deblocking_filter_flag = get_bits1(gb);
|
sh->disable_deblocking_filter_flag = get_bits1(gb);
|
||||||
if (!sh->disable_deblocking_filter_flag) {
|
if (!sh->disable_deblocking_filter_flag) {
|
||||||
sh->beta_offset = get_se_golomb(gb) * 2;
|
int beta_offset_div2 = get_se_golomb(gb);
|
||||||
sh->tc_offset = get_se_golomb(gb) * 2;
|
int tc_offset_div2 = get_se_golomb(gb) ;
|
||||||
|
if (beta_offset_div2 < -6 || beta_offset_div2 > 6 ||
|
||||||
|
tc_offset_div2 < -6 || tc_offset_div2 > 6) {
|
||||||
|
av_log(s->avctx, AV_LOG_ERROR,
|
||||||
|
"Invalid deblock filter offsets: %d, %d\n",
|
||||||
|
beta_offset_div2, tc_offset_div2);
|
||||||
|
return AVERROR_INVALIDDATA;
|
||||||
|
}
|
||||||
|
sh->beta_offset = beta_offset_div2 * 2;
|
||||||
|
sh->tc_offset = tc_offset_div2 * 2;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
sh->disable_deblocking_filter_flag = s->ps.pps->disable_dbf;
|
sh->disable_deblocking_filter_flag = s->ps.pps->disable_dbf;
|
||||||
|
Reference in New Issue
Block a user