MPlayer on Windows (win32) - some crt functions are replaced by gnulib's ones

If you appreciate my work, you may want to:

[News]

Build selection table (mt = based on FFmpeg multithread fork, a bit experimental)

CPUBuild (r31878)
AMD Single Core athlon
AMD Multi Core (X2/X3/X4/Phenom) athlon / athlon-xp mt
Intel Pentium3 p3
Intel Pentium 4 or better Single Core p4
Intel Pentium 4 or better Multi Core (core2/xeon/etc) p4 / p4 mt
Generic 486 or better rtm

More infos about Direct Show Native Wrapper, look at "VideoCodec" column to see what to add after -vc in MPlayer

Please use the tracker instead of sending me emails, I get a lot of email also about other projects, and since I cannot always reply immediately some emails can go unreplied.

Other precompiled versions of MPlayer can be found on the main projects page

7z files are 7-zip compressed files. Binaries have SSE enabled (p3/p4). Please use athlon buidls for AMD cpu, even for AMD64 (amd is faster with 3dnow).

RTM means with runtime cpudetection, working on i486+ (except x264 decoder/encoder). Prefer p4/p3/athlon builds if possible.

Binaries of MPlayer/MEncoder (in the same package), FFmpeg. Sourceforge mirrors may take a while to update packages, so try later if problems.

† Download MPlayer/MEncoder svn rev 31878 - 07/16/2010

† Download MPlayer/MEncoder with FFmpeg MT svn rev 31878 - 07/16/2010 (add lavdopts=threads=2 or so in config, beware it will cause problems in mpeg2 decoder)

† Download FFmpeg svn rev 24623 - 07/16/2010

† Download MinGW32 ToolChain @ 20080717 (gcc/binutils/runtime)

† Download MinGW Build Environment with gcc 4.2.5 - Unpack in c:\ or edit MinGW/etc/fstab accordling

[Related links]

- Notes -

fontconfig

If you enable fontconfig, the first run of mplayer can take a while, even 2-3 minutes, because the font cache needs to be created. In the window you can follow fonts that are being parsed. Other runs you will have no delay until you make changes to the font directory.

faac encoder

faac encoder is not included in MEncoder and FFmpeg package due to licensing problems, you should download it separately and put in MEncoder/FFmpeg executable

dvdnav

To use dvdnav the best way is pick a recent svn build of smplayer from Mulder's homepage

Since for some reason KEYPAD arrow keys on win32 are the same keys of arrow keys, you cannot use them without losing seek ability of right and left, so you can add this snip in input.conf to re-route them to menu system only if dvdnav is selected:

UP    {dvdnav} dvdnav up          # DVDNav UP
DOWN  {dvdnav} dvdnav down        # DVDNav DOWN
LEFT  {dvdnav} dvdnav left        # DVDNav LEFT
RIGHT {dvdnav} dvdnav right       # DVDNav RIGHT
ESC   {dvdnav} dvdnav menu        # DVDNav MENU
ENTER {dvdnav} dvdnav select      # DVDNav SELECT (ok)
BS    {dvdnav} dvdnav prev        # DVDNav PREVIOUS menu (in the order chapter->title->root)

HX Dos Extender

At this time (12/20/2009), I've successfully run mplayer on FreeDOS + HX Extender on a WMware Virtual Machine, you need to use sdl video output. Unfortunately there is a glitch, the default resolution given by sdl with -vm or similar switches, trashes the console at exit so the best way to run it is using default output with -vo sdl, that merely results in a continuous error message, then press C key to cycle resolutions. Using dpmild32 -g also works fine. You also need additionals dll:

You can avoid passing command line options for vo/ao by adding these lines to mplayer\config:

 vo=sdl
 ao=win32

[Patches]

[MinGW libs]

[Misc Files]

Note: do not use colon in -extra-cflags, i.e. use /c/live instead of c:/live

[MPlayer: Configure options]

./configure \
    --extra-cflags="-I/c/Work/mplayer/live" \
    --prefix=/mingw             \
    --enable-static             \
    --enable-md5sum             \
    --enable-menu               \
    --enable-faac               \
    --enable-enca               \
    --enable-sdl                \
    --enable-caca               \
    --enable-gl                 \
    --enable-freetype           \
    --enable-png                \
    --enable-mng                \
    --enable-jpeg               \
    --enable-gif                \
    --enable-tga                \
    --enable-mad                \
    --enable-tv                 \
    --enable-theora             \
    --disable-vidix             \
    --disable-faac-lavc         \
    --disable-inet6
 

To compile live555.com stuff you just need to call ./genMakefiles mingw, then make.

[FFmpeg: Configure options]

    --extra-version=Sherpya     \
    --enable-gpl                \
    --enable-version3           \
    --disable-ffplay            \
    --disable-ffserver          \
    --enable-postproc           \
    --enable-avfilter           \
    --enable-avfilter-lavf      \
    --enable-pthreads           \
    --enable-runtime-cpudetect  \
    --enable-hardcoded-tables   \
    --enable-memalign-hack      \
    --enable-avisynth           \
    --enable-bzlib              \
    --enable-libopencore-amrnb  \
    --enable-libopencore-amrwb  \
    --enable-libfaac            \
    --enable-libmp3lame         \
    --disable-libopenjpeg       \
    --enable-libgsm             \
    --enable-libspeex           \
    --enable-libtheora          \
    --enable-libvorbis          \
    --enable-libx264            \
    --enable-libxvid            \
    --enable-zlib