[FFmpeg-cvslog] postproc: Fix compilation failure.

Yuriy Kaminskiy git at videolan.org
Sat Sep 24 01:51:59 CEST 2011


ffmpeg | branch: master | Yuriy Kaminskiy <yumkam at mail.ru> | Sat Sep 24 01:33:37 2011 +0200| [d16ebec7957f2805f603bbb94eb0df4a1fc5a0a8] | committer: Michael Niedermayer

postproc: Fix compilation failure.

libpostproc/postprocess_template.c: In function 'dering_MMX2':
libpostproc/postprocess_template.c:1045:5: error: can't find a register in class 'GENERAL_REGS' while reloading 'asm'
libpostproc/postprocess_template.c:1045:5: error: 'asm' operand has impossible constraints

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

 libpostproc/postprocess_template.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/libpostproc/postprocess_template.c b/libpostproc/postprocess_template.c
index 21a8626..7559815 100644
--- a/libpostproc/postprocess_template.c
+++ b/libpostproc/postprocess_template.c
@@ -1132,8 +1132,10 @@ FIND_MIN_MAX((%0, %1, 8))
 #endif
         "movq %%mm6, %%mm0                      \n\t" // max
         "psubb %%mm7, %%mm6                     \n\t" // max - min
-        "movd %%mm6, %%ecx                      \n\t"
-        "cmpb "MANGLE(deringThreshold)", %%cl   \n\t"
+        "push %k4                              \n\t"
+        "movd %%mm6, %k4                        \n\t"
+        "cmpb "MANGLE(deringThreshold)", %b4    \n\t"
+        "pop %k4                               \n\t"
         " jb 1f                                 \n\t"
         PAVGB(%%mm0, %%mm7)                           // a=(max + min)/2
         "punpcklbw %%mm7, %%mm7                 \n\t"
@@ -1261,8 +1263,8 @@ DERING_CORE((%%REGd, %1, 2),(%0, %1, 8)    ,%%mm0,%%mm2,%%mm4,%%mm1,%%mm3,%%mm5,
 DERING_CORE((%0, %1, 8)    ,(%%REGd, %1, 4),%%mm2,%%mm4,%%mm0,%%mm3,%%mm5,%%mm1,%%mm6,%%mm7)
 
         "1:                        \n\t"
-        : : "r" (src), "r" ((x86_reg)stride), "m" (c->pQPb), "m"(c->pQPb2), "r"(tmp)
-        : "%"REG_a, "%"REG_d, "%"REG_c
+        : : "r" (src), "r" ((x86_reg)stride), "m" (c->pQPb), "m"(c->pQPb2), "q"(tmp)
+        : "%"REG_a, "%"REG_d
     );
 #else //HAVE_MMX2 || HAVE_AMD3DNOW
     int y;



More information about the ffmpeg-cvslog mailing list