[Ffmpeg-devel] build broken again...
François Revol
revol
Sun May 8 15:13:09 CEST 2005
> I can't leave you for 2 weeks without having to fix your mess, grrr :
> ^)
>
> /boot/home/devel/ffmpeg/cvs/ffmpeg/libavcodec/i386/dsputil_mmx.c:866:
> fixed or forbidden register 3 (bx) was spilled for class
> GENERAL_REGS.
Ok, this one fixes it, if I don't see any complains filed until
tomorrow I'll commit it.
--- libavcodec/i386/dsputil_mmx.c 25 Apr 2005 01:01:41 -0000
1.90
+++ libavcodec/i386/dsputil_mmx.c 8 May 2005 13:09:41 -0000
@@ -848,19 +848,20 @@
{
asm volatile(
"movd (%0), %%mm0 \n\t"
- "movd (%0,%2), %%mm1 \n\t"
- "movd (%1), %%mm2 \n\t"
- "movd (%1,%2), %%mm3 \n\t"
- H264_DEBLOCK_THRESH(%4,%5)
- "movd %3, %%mm6 \n\t"
+ "lea (%0,%1), %0 \n\t"
+ "movd (%0), %%mm1 \n\t"
+ "movd (%0,%1), %%mm2 \n\t"
+ "movd (%0,%1,2),%%mm3 \n\t"
+ H264_DEBLOCK_THRESH(%3,%4)
+ "movd %2, %%mm6 \n\t"
"pshufw $0x50, %%mm6, %%mm6 \n\t" // mm6 = tc[1], tc[1],
tc[0], tc[0]
"pand %%mm7, %%mm6 \n\t"
- H264_DEBLOCK_P0_Q0(%6)
+ H264_DEBLOCK_P0_Q0(%5)
"packuswb %%mm1, %%mm1 \n\t"
"packuswb %%mm2, %%mm2 \n\t"
- "movd %%mm1, (%0,%2) \n\t"
- "movd %%mm2, (%1) \n\t"
- :: "r"(pix-2*stride), "r"(pix), "r"((long)stride),
+ "movd %%mm1, (%0) \n\t"
+ "movd %%mm2, (%0,%1) \n\t"
+ :: "r"(pix-2*stride), /*"r"(pix),*/ "r"((long)stride),
"r"(tc0[1]<<16 | tc0[0]),
"r"(alpha), "r"(beta), "m"(ff_pw_4)
);
Btw, is it me or the intel dev manual is inconsistent page 3-21 ?
(valid scale *factors* are listed as 1,2,3,4, while talking about 2,4
and 8 bytes stuff...)
I guess they smoke too much.
Fran?ois.
More information about the ffmpeg-devel
mailing list