[MPlayer-cygwin] mplayer optimization for AMD x2

Anatoli Marinov anatoli.marinov at gmail.com
Wed Jul 4 09:31:02 CEST 2007


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