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/vp9.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libavcodec/vp9.c') diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c index 98fd8a3..fcdd6e1 100644 --- a/libavcodec/vp9.c +++ b/libavcodec/vp9.c @@ -360,7 +360,7 @@ static int update_size(AVCodecContext *ctx, int w, int h, enum AVPixelFormat fmt av_freep(&s->block_base); if (s->bpp != s->last_bpp) { - ff_vp9dsp_init(&s->dsp, s->bpp); + ff_vp9dsp_init(&s->dsp, s->bpp, ctx->flags & AV_CODEC_FLAG_BITEXACT); ff_videodsp_init(&s->vdsp, s->bpp); s->last_bpp = s->bpp; } -- cgit v1.1