[MPlayer-cygwin] mplayer optimization for AMD x2

Anatoli Marinov anatoli.marinov at gmail.com
Wed Jul 4 10:30:57 CEST 2007


Hi,

CoreAvc is not a free solution and I do not want to use it. In this
case ffh264 is good enough :).

I've unlocked sse support for windows but I work remotely on my home
PC now and can not test it so later I will have a proper results.

Thanks a lot

Toli


2007/7/4, Anatoli Marinov <anatoli.marinov at gmail.com>:
> Thanks mate,
> I will try this things and will post my results in the mail lists , of
> course only if you have interests about them.
>
> Toli
>
> 2007/7/4, Zuxy Meng <zuxy.meng at gmail.com>:
> > Hi,
> >
> > 2007/7/4, Anatoli Marinov <anatoli.marinov at gmail.com>:
> > > Hi folks,
> > >
> > > I am an old mplayer's fan so I use it with many OSes. Currently I am
> > > trying to build ultimately optimized mplayer for my AMD 4600+ x2
> > > processor (for windows XP).
> > > I found somewhere a description how to build it step by step with
> > > mingw. The manual was a pretty old but however now I have proper
> > > environment with latest ming stuff. Yesterday I have compiled current
> > > mplayer sources from SVN repository and everithing works fine but I am
> > > curious about several thing:
> > >
> > > 1.  I've compiled (configured) my mplayer without runtime CPU
> > > detection and with these flags:
> > >  --enable-mmx              enable MMX [autodetect]
> > >  --enable-mmxext           enable MMX2 (Pentium III, Athlon) [autodetect]
> > >  --enable-3dnow            enable 3DNow! [autodetect]
> > >  --enable-3dnowext         enable extended 3DNow! [autodetect]
> > >  --enable-sse              enable SSE [autodetect]
> > >  --enable-sse2             enable SSE2 [autodetect]
> > >  --enable-ssse3            enable SSSE3 [autodetect]
> > >
> > > The CPU supports all these sets of instruction. Does ssse3 work
> > > because I didn't see nothing special with or without it?
> >
> > SSSE3 != SSE3. No AMD processors support SSSE3 yet. And currently
> > SSSE3 only helps encode, so you aren't actually losing anything.
> >
> > > When I start the player with x264 encodec file I see:
> > > $ ./mplayer.exe /1.mkv
> > > MPlayer dev-SVN-r23715-3.4.5 (C) 2000-2007 MPlayer Team
> > > CPU: AMD Athlon(tm) 64 X2 Dual Core Processor 4600+ (Family: 15,
> > > Model: 75, Stepping: 2)
> > > CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 0 SSE2: 0
> > > Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE SSE2
> > > getch2: 6 can't get number of input events  [disabling console input]
> > >
> > > Playing C:/mingw/1.mkv.
> > > [mkv] Track ID 1: video (V_MPEG4/ISO/AVC), -vid 0
> > > [mkv] Track ID 2: audio (A_AC3), -aid 0, -alang eng
> > > [mkv] Will play video track 1.
> > > Matroska file format detected.
> > > VIDEO:  [avc1]  1280x544  24bpp  23.976 fps    0.0 kbps ( 0.0 kbyte/s)
> > > <vo_directx><ERROR>Your card doesn't support overlay
> > > ==========================================================================
> > > Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
> > > Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
> > > ==========================================================================
> > > ==========================================================================
> > > Opening audio decoder: [liba52] AC3 decoding with liba52
> > > AUDIO: 48000 Hz, 2 ch, s16le, 448.0 kbit/29.17% (ratio: 56000->192000)
> > > Selected audio codec: [a52] afm: liba52 (AC3-liba52)
> > > ==========================================================================
> > >
> > > see this line ->  CPUflags:  MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 0 SSE2: 0
> > > This compilation supports sse, sse2 and sse3 but why the flags are 0
> > > and sse3 missing?
> >
> > SSE/SSE2 are disabled for Windows @ runtime due to historical reasons.
> > You can modify cpudetect.c to turn them on. However, even you leave
> > this off you are't losing much because
> > 1. libavcodec can still use SSE/SSE2 regardless of mplayer's settings.
> > 2. SSE are only used for some audio, and SSE2 isn't much faster than MMX.
> >
> > > and this too- > Compiled for x86 CPU with extensions: MMX MMX2 3DNow
> > > 3DNowEx SSE SSE2 - missing sse3 why ?
> >
> > Again, SSE3 != SSSE3. Neither mplayer nor ffmpeg uses SSE3.
> >
> > >
> > > 2. For h264 decoding I am using default x264 functionality from ffmpeg
> > > internal codec bundle. Is it better than x264 library from
> > > videolan.org?
> >
> > IIRC x264 is an encoder, not a decoder.
> >
> > >
> > > 3. Can I compile fully statically linked mplayer binary and how?
> >
> > I guess there's an option called --enable-static or similar. But
> > dynamic linking in Windows doesn't hurt runtime performance much,
> > except for a possible slower start time.
> >
> > > 4. Could you tell me more hints for better performance :) especially
> > > for h264? Is it possible to use hardware acceleration mechanism from
> > > my nv8600GT video card because it has hardware h264 decoder, filter
> > > etc.
> >
> > Maybe you should try CoreAVC for the time being :-( It's indeed
> > faster, and supports dual core.
> >
> > >
> > > 5. What about pthreads support. I couldn't find pthreds for mingw.
> > > Will it works faster with pthreads or not?
> >
> > You don't actually need pthread under Windows although a win32 port of
> > pthread does exist and works well with mplayer (Google it!). Just
> > install it or add a line of "HAVE_W32THREADS" in your config.mak.
> > Either way will turn on multithread support.
> >
> > Currently only mpeg1/mpeg2 decoding supports multithreading but h264
> > is not far away.
> >
> > >
> > > Lol I have so many questions :P
> > >
> > >
> > > eng. Anatoli Marinov
> > > Bulgaria
> >
> > --
> > Zuxy
> > Beauty is truth,
> > While truth is beauty.
> > PGP KeyID: E8555ED6
> > _______________________________________________
> > MPlayer-cygwin mailing list
> > MPlayer-cygwin at mplayerhq.hu
> > http://lists.mplayerhq.hu/mailman/listinfo/mplayer-cygwin
> >
>



More information about the MPlayer-cygwin mailing list