[Ffmpeg-devel] OSX Intel temporary fix.
Marco Manfredini
mldb
Thu Aug 10 12:21:17 CEST 2006
Attached is a temporary fix for OSX Intel/as-1.38 users to support compilation
of the MMX/SSE2 routines. Not meant for inclusion, because it makes a
terrible mess :-)
Tested with mpeg2->(mpeg1,mov(mp4),dv) and mov->(mpeg1,mpeg2) transcoding on a
MacBook.
cd ffmpeg
patch -p0 <darwin-old_as.patch
For the curious, the following has been done:
- as-1.38 cannot assemble pshufw with long operands. Instances have been
replaced with literals
example: .long 0x88C0700F /*pshufw $0b10001000,%%mm0,%%mm0 */
- ".balign X" a macro to ".align 8" (That's sufficient)
- macros rewritten to old macro syntax
- \nop to xnop macro
- two instances of psrad %3 replaced by the actual value of %3 ($17), because
the macro processor would generate invalid code instead. (I admit that
replacing the macros with CPP macros would have been a better idea)
- I had to replace "movdqa %%xmm1, \\i(%4)" with "movdqu", because the "out"
parameter given to asm was not properly 16 byte aligned (could somebody look
that up? "out" is actually the "block" parameter from "ff_fdct_sse2(int16_t
*block)")
Cheers
Marco
P.S.
For the discussion about the how to change the assembly routines to support
Apple's stone-age 1.38 assembler, I'd join in insofar as I don't believe that
it isn't worth it and the mess it would generate. The thing sucks totally,
doesn't even support the SSEx opcodes right and it will cheat you when you
don't look at it. I'd rather cross fingers that Apple upgrades this thing for
its upcoming XCode 3.0 release.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: darwin-old_as.patch
Type: text/x-diff
Size: 14183 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20060810/99e8e29d/attachment.patch>
More information about the ffmpeg-devel
mailing list