[FFmpeg-devel] [PATCH 5/6] x86: hevc_mc: fix register count

Christophe Gisquet christophe.gisquet at gmail.com
Sun Jun 1 16:13:01 CEST 2014


A SBUTTERFLY was unconditionnaly using m10.
---
 libavcodec/x86/hevc_mc.asm | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/libavcodec/x86/hevc_mc.asm b/libavcodec/x86/hevc_mc.asm
index 6db3a2a..3ed2662 100644
--- a/libavcodec/x86/hevc_mc.asm
+++ b/libavcodec/x86/hevc_mc.asm
@@ -164,8 +164,10 @@ QPEL_TABLE 10, 4, w, sse4
 %macro EPEL_LOAD 4-5
 %if %0 == 5
     %define rfilterq %2
+    %define TMPREG   %5
 %elifdef PIC
     lea rfilterq, [%2]
+    %define TMPREG   10
 %else
     %define rfilterq %2
 %endif
@@ -187,16 +189,16 @@ QPEL_TABLE 10, 4, w, sse4
 
 %if %1 == 8
 %if %4 > 8
-    SBUTTERFLY        bw, 0, 1, 10
-    SBUTTERFLY        bw, 2, 3, 10
+    SBUTTERFLY        bw, 0, 1, TMPREG
+    SBUTTERFLY        bw, 2, 3, TMPREG
 %else
     punpcklbw         m0, m1
     punpcklbw         m2, m3
 %endif
 %else
 %if %4 > 4
-    SBUTTERFLY        wd, 0, 1, 10
-    SBUTTERFLY        wd, 2, 3, 10
+    SBUTTERFLY        wd, 0, 1, TMPREG
+    SBUTTERFLY        wd, 2, 3, TMPREG
 %else
     punpcklwd         m0, m1
     punpcklwd         m2, m3
-- 
1.8.0.msysgit.0



More information about the ffmpeg-devel mailing list