aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/hevc.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2014-01-06 02:51:20 +0100
committerMichael Niedermayer <michaelni@gmx.at>2014-01-07 23:48:10 +0100
commit908b951b4e945eb0ba373548ff5921c547cec0fd (patch)
tree0d43dbfa79a9c6be6a65a87adbf6370aa438aea9 /libavcodec/hevc.c
parent4b0cecb457c7eda2baf0264b97d9038bdfb531da (diff)
downloadandroid_external_ffmpeg-908b951b4e945eb0ba373548ff5921c547cec0fd.tar.gz
android_external_ffmpeg-908b951b4e945eb0ba373548ff5921c547cec0fd.tar.bz2
android_external_ffmpeg-908b951b4e945eb0ba373548ff5921c547cec0fd.zip
avcodec/hevc: Fix modulo operations
Fixes qp fields becoming out of range Fixes: asan_static-oob_e393a3_6998_WPP_A_ericsson_MAIN10_2.bit Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michaelni@gmx.at> (cherry picked from commit 4ced5d7780fea2ea49444d6686d26f26b3a2160f) Conflicts: libavcodec/hevc_filter.c
Diffstat (limited to 'libavcodec/hevc.c')
-rw-r--r--libavcodec/hevc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavcodec/hevc.c b/libavcodec/hevc.c
index 011b1ee216..2f7c5b6df1 100644
--- a/libavcodec/hevc.c
+++ b/libavcodec/hevc.c
@@ -636,8 +636,8 @@ static int hls_slice_header(HEVCContext *s)
s->HEVClc->first_qp_group = !s->sh.dependent_slice_segment_flag;
if (!s->pps->cu_qp_delta_enabled_flag)
- s->HEVClc->qp_y = ((s->sh.slice_qp + 52 + 2 * s->sps->qp_bd_offset) %
- (52 + s->sps->qp_bd_offset)) - s->sps->qp_bd_offset;
+ s->HEVClc->qp_y = FFUMOD(s->sh.slice_qp + 52 + 2 * s->sps->qp_bd_offset,
+ 52 + s->sps->qp_bd_offset) - s->sps->qp_bd_offset;
s->slice_initialized = 1;