[MPlayer-dev-eng] [PATCH] configure on amd64

John Stebbins stebbins at jetheaddev.com
Sat Sep 25 22:59:58 CEST 2004


There's been some discussion on the topic of x86_64 optimizations in the
ffmpeg developer forum.  Here's a link:
http://sourceforge.net/mailarchive/message.php?msg_id=8383093

Someone there took the time to "port" mmx optimizations to x86_64. He
created patches against ffmepg, mplayer 1.0pre3 and 1.0pre4.  They are
here:
http://fixounet.free.fr/amd64

Unfortunately, the patches were not accepted.  They are apparently too
heavy handed and rough around the edges.

But, they work (for mencoder anyway, thats all I've tested). My encoding
rates on an athlon64 3000+ (2Ghz) went from around 22fps to around
31fps.  This soundly thumps my 2.4 Ghz P4 which does around 23fps.
Here's the options I use:
mencoder -fps 29.97 -ofps 23.976 dvd://1 -oac copy -ovc lavc -lavcopts
vcodec=mpeg4:mbd=4:v4mv:vqscale=3:trell:autoaspect -vf
filmdint,softskip,crop=<w>:<h>:<x>:<y> -o <file>

I quickly upconverted the patch to work with mplayer 1.0pre5.  There was
an additional problem I had to resolve when doing so.
libavcodec/motion_est.c would cause an internal compiler error.  I had
to change all lines:
	MotionEstContext * const c = &s->me;
to
	MotionEstContext * c = &s->me;

Don't ask my why this works.  I made a very luck guess as to what to
tweak to make this compile.

If anyone has the motivation to make good set of patches, this would be
a good place to start.

I have a patch set against mplayer 1.0pre5. The patch set seems a bit
large to post. Its about 300K.  bzip2 compressed, its 36k. I don't know
the procedure for making such a patch available.  If you folks want it,
please educate me.

John


> Dominik 'Rathann' Mierzejewski
> Thu Sep 23 23:22:07 CEST 2004
> 
> ______________________________________________________________________
> On Monday, 20 September 2004 at 00:56, Aurelien Jacobs wrote:
> > Glad that you don't recommend to apply this !> This patch force gcc to use -m32 on x86_64 arch
> Indeed.
> 
> > and this is a very> bad idea ! It simply don't work at all on a pure 64 bits system,> without any 32 bits lib installed (which is the case of my system).
> Yes, it's true. The point was to get MPlayer working _with_ ASM
> optimizations enabled.
> 
> > Current MPlayer compile and works well on x86_64 in 64 bits mode.> It lacks all the mmx/sse/... extensions
> True, and it's very slow then.
> 
> > but compling it as a 32 bits binary is not the right solution IMHO.
> I know.
> 
> > Maybe you could add a configure option to be able to select 32 bits> mode on x86_64 ?
> That's a better idea. Something along the lines of --use-abi=32?
> 
> R.
> 




More information about the MPlayer-dev-eng mailing list