[FFmpeg-cvslog] vp9: disable all pmulhrsw in 8/16 iadst x86 optimizations.

Ronald S. Bultje git at videolan.org
Mon May 18 02:44:26 CEST 2015


ffmpeg | branch: master | Ronald S. Bultje <rsbultje at gmail.com> | Thu May 14 13:39:37 2015 -0400| [96d30c34951b42479f4d1a4210e8a36347c4d653] | committer: Ronald S. Bultje

vp9: disable all pmulhrsw in 8/16 iadst x86 optimizations.

They all overflow in various samples that are considered valid input.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=96d30c34951b42479f4d1a4210e8a36347c4d653
---

 libavcodec/x86/vp9itxfm.asm |    6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/libavcodec/x86/vp9itxfm.asm b/libavcodec/x86/vp9itxfm.asm
index 9cf0d78..a08e1ff 100644
--- a/libavcodec/x86/vp9itxfm.asm
+++ b/libavcodec/x86/vp9itxfm.asm
@@ -868,7 +868,8 @@ VP9_IDCT_IDCT_8x8_ADD_XMM avx, 13
 
     ; m6=out0, m5=out1, m4=t2, m3=t3, m7=t6, m0=t7, m2=out6, m1=out7
 
-%if cpuflag(ssse3)
+    ; unfortunately, the code below overflows in some cases
+%if 0; cpuflag(ssse3)
     SUMSUB_BA                w,  3,  4,  2
     SUMSUB_BA                w,  0,  7,  2
     pmulhrsw                m3, W_11585x2_REG
@@ -1647,7 +1648,8 @@ VP9_IDCT_IDCT_16x16_ADD_XMM avx
     VP9_RND_SH_SUMSUB_BA     4,  7,  0,  2,  1, [pd_8192]
     PSIGNW                  m4, [pw_m1]                     ; m4=out13[w], m7=t15[w]
 
-%if cpuflag(ssse3)
+    ; unfortunately, the code below overflows in some cases
+%if 0; cpuflag(ssse3)
     SUMSUB_BA                w,  7,  6,  1
     pmulhrsw                m7, [pw_m11585x2]               ; m7=out5[w]
     pmulhrsw                m6, [pw_11585x2]                ; m6=out10[w]



More information about the ffmpeg-cvslog mailing list