vp9: remove another optimization branch in iadst16 which causes overflows.
authorRonald S. Bultje <rsbultje@gmail.com>
Wed, 22 Apr 2015 19:48:37 +0000 (15:48 -0400)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 24 Apr 2015 14:54:31 +0000 (16:54 +0200)
See sample vp90-2-14-resize-fp-tiles-16-8.webm from the vp9 test vector
set to reproduce the issue.

libavcodec/x86/vp9itxfm.asm

index a9d45a4..9cf0d78 100644 (file)
@@ -1622,7 +1622,9 @@ VP9_IDCT_IDCT_16x16_ADD_XMM avx
     PSIGNW                  m3, [pw_m1]                     ; m3=out1[w], m7=t10[w]
     SUMSUB_BA                w,  2,  6,  1                  ; m2=out14[w], m6=t11[w]
 
-%if cpuflag(ssse3)
+    ; unfortunately, the code below overflows in some cases, e.g.
+    ; http://downloads.webmproject.org/test_data/libvpx/vp90-2-14-resize-fp-tiles-16-8.webm
+%if 0; cpuflag(ssse3)
     SUMSUB_BA                w,  7,  6,  1
     pmulhrsw                m7, [pw_11585x2]                ; m7=out6[w]
     pmulhrsw                m6, [pw_11585x2]                ; m6=out9[w]