[FFmpeg-cvslog] avcodec/fft: fix INTERL macro on 3dnow

Mikulas Patocka git at videolan.org
Sat Nov 25 18:11:56 EET 2017


ffmpeg | branch: master | Mikulas Patocka <mikulas at twibright.com> | Thu Nov 23 20:12:55 2017 +0100| [fbdd78fa3e9949eb8b0cf6edc2548ed50e11bf71] | committer: James Almer

avcodec/fft: fix INTERL macro on 3dnow

The commit b7c16a3f2c4921f613319938b8ee0e3d6fa83e8d ("x86: fft: Port to
cpuflags") breaks the opus decoder in ffmpeg when compiling for 3dnow. The
output is audible, but there's a lot of noise.

The reason for the breakage is that the commit unintentionally changed the
INTERL macro so that it is empty when compiling for 3dnow. This patch
fixes it.

Signed-off-by: Mikulas Patocka <mikulas at twibright.com>
Signed-off-by: James Almer <jamrial at gmail.com>

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

 libavcodec/x86/fft.asm | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/x86/fft.asm b/libavcodec/x86/fft.asm
index 53cfd64b3a..a671e8f48e 100644
--- a/libavcodec/x86/fft.asm
+++ b/libavcodec/x86/fft.asm
@@ -199,7 +199,7 @@ SECTION .text
     vextractf128  %4 %+ H(%5), %3, 0
     vextractf128   %4(%5 + 1), %2, 1
     vextractf128  %4 %+ H(%5 + 1), %3, 1
-%elif cpuflag(sse)
+%elif cpuflag(sse) || cpuflag(3dnow)
     mova     %3, %2
     unpcklps %2, %1
     unpckhps %3, %1



More information about the ffmpeg-cvslog mailing list