From fd8b90f5f63de12c1ee1ec1cbe99791c5629c582 Mon Sep 17 00:00:00 2001 From: "Ronald S. Bultje" Date: Wed, 9 Sep 2015 14:10:41 -0400 Subject: vp9: fix overflow in 8x8 topleft 32x32 idct ssse3 version. Also disable the mmx/iwht optimization when the bitexact flag is set. With synthetically coded coefficients (i.e. these that lead to a residual well outside the [-255,255] range), our optimizations will overflow. It doesn't make sense to fix the overflows, since they can only occur on synthetic input, not on real fwht-generated input. Thus, add a bitexact flag that disables this optimization. --- libavcodec/vp9dsp.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libavcodec/vp9dsp.h') diff --git a/libavcodec/vp9dsp.h b/libavcodec/vp9dsp.h index 28903b3a70..016a9bb231 100644 --- a/libavcodec/vp9dsp.h +++ b/libavcodec/vp9dsp.h @@ -120,13 +120,13 @@ typedef struct VP9DSPContext { vp9_scaled_mc_func smc[5][4][2]; } VP9DSPContext; -void ff_vp9dsp_init(VP9DSPContext *dsp, int bpp); +void ff_vp9dsp_init(VP9DSPContext *dsp, int bpp, int bitexact); void ff_vp9dsp_init_8(VP9DSPContext *dsp); void ff_vp9dsp_init_10(VP9DSPContext *dsp); void ff_vp9dsp_init_12(VP9DSPContext *dsp); -void ff_vp9dsp_init_x86(VP9DSPContext *dsp, int bpp); +void ff_vp9dsp_init_x86(VP9DSPContext *dsp, int bpp, int bitexact); void ff_vp9dsp_init_mips(VP9DSPContext *dsp, int bpp); #endif /* AVCODEC_VP9DSP_H */ -- cgit v1.2.3