diff options
author | Yuriy Kaminskiy <yumkam@mail.ru> | 2011-09-24 01:33:37 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-09-24 01:37:52 +0200 |
commit | d16ebec7957f2805f603bbb94eb0df4a1fc5a0a8 (patch) | |
tree | b13d9dcf970b73c42a1059e94636ee375867d3d1 /libpostproc | |
parent | a7758884db7eb3041b73d673c1ac3897609556b9 (diff) | |
download | ffmpeg-d16ebec7957f2805f603bbb94eb0df4a1fc5a0a8.tar.gz |
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
Diffstat (limited to 'libpostproc')
-rw-r--r-- | 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 21a8626696..7559815fed 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; |