x86_64 assembly was added to ffmpeg cvs sometime in January and is therefore contained in the current portage release (ffmpeg-0.4.9_p20050226). The attached patch enables mmx support on amd64.
Created attachment 56165 [details, diff] enable mmx support on amd64 This patch enables mmx support on amd64 irrespective of use flags. I also had to replace PIC with __PIC__ in a few places to enable successful compilation (could alternatively compile with -DPIC).
could you try to commit the patch upstream?
ffmpeg direct from cvs works fine with mmx on amd64 (with -DPIC in CFLAGS). I can only assume that the use of PIC over __PIC__ in a few places is a design decision and not a bug and imagine that is exactly the response I'd get if this was mentioned upstream (just use -DPIC and be happy...). I chose to add the sed lines in the ebuild to replace the PIC with __PIC__ simply because there were already sed lines in place to do this (the current sed lines replace some but not all occurrences and are therefore a little broken IMO). I'm also a little confused by the current use of has_pic to determine if mmx support should be used. has_pic seems to return true on even on x86 boxes i've tested this on that have never had USE=pic (and as such mmx support is disabled). Is this condition really neccessary?
I'd like to make another ffmpeg snapshot once the native vorbis codec will be there or at least once the ogg demuxer and the snow codec changes are less problematic.
Thanks applied on new -r4 ebuild, works fine for me.