summaryrefslogtreecommitdiff
path: root/libavcodec/vp9dsp.h
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2015-09-09 14:10:41 -0400
committerRonald S. Bultje <rsbultje@gmail.com>2015-09-10 07:51:16 -0400
commitfd8b90f5f63de12c1ee1ec1cbe99791c5629c582 (patch)
treebdf50fda06657232f3c54265cb7fe3681567dd97 /libavcodec/vp9dsp.h
parent4bb9dbe4d7952d82bddb23c45889ab1550897397 (diff)
downloadffmpeg-fd8b90f5f63de12c1ee1ec1cbe99791c5629c582.tar.gz
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.
Diffstat (limited to 'libavcodec/vp9dsp.h')
-rw-r--r--libavcodec/vp9dsp.h4
1 files changed, 2 insertions, 2 deletions
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 */