Author Topic: lachs0r's MPlayer2 builds for Windows  (Read 14770 times)

Offline lachs0r

  • eccentric
  • Member
  • Posts: 17
    • View Profile
lachs0r's MPlayer2 builds for Windows
« on: February 03, 2011, 03:34:31 AM »
So I've built MPlayer-uau MPlayer2 for Windows.
Fun Fact: This involved around 70 50 patches for the shitton of dependencies it has.

The most recent build is available here: http://mplayer2.srsfckn.biz (update your shit if you can't unpack it)
This build uses ffmpeg-mt.

AntiVir reports false positives on these. I’ve sent them a lot of builds and all they do is put them on their whitelist. To my knowledge, it’s also the only AV that complains about my builds.

Update: New URL for builds. I won’t update this post for new builds anymore.
Also, I’m doing separate builds for divVerent’s encoding branch (mplayer2-vo-lavc).

One of these days I will upload a working toolchain for cross-compiling on Linux, including scripts for downloading, patching and building all the dependencies (and possibly other multimedia-related software), as well as a Live CD/HDD image/OVF with everything set up. Maybe it is of use to someone ;)
« Last Edit: May 01, 2011, 08:13:32 PM by lachs0r »

Offline Selur

  • Member
  • Posts: 232
    • View Profile
    • Hybrid
Re: lachs0r's MPlayer builds for Windows
« Reply #1 on: February 09, 2011, 08:53:18 AM »
would be cool if you could:
a. also compile mencoder
b. add libbluray
c. make a static build

Quote
I will also upload a working toolchain for cross-compiling on Linux, including scripts for downloading, patching and building all the dependencies (and possibly other multimedia-related software), as well as a Live CD/HDD image/OVF with everything set up. Maybe it is of use to someone
That would be really cool. :)

Cu Selur

Offline lachs0r

  • eccentric
  • Member
  • Posts: 17
    • View Profile
Re: lachs0r's MPlayer builds for Windows
« Reply #2 on: February 09, 2011, 10:30:00 AM »
a: Will do. Causes a few extra dependencies (encoders), but I already have patches etc. ready for most of them. Not sure about libvpx in ffmpeg though, since it caused a huge memory leak (instantly pushing mplayer/ffmpeg way over 500M even though it wasn’t used) last time I tried.
b: I’ll try to. At the time I wasn’t sure about mplayer’s support, and iirc had slight problems building it.
c: There was a problem with OpenAL not linking correctly when built as a static library. I was too lazy to fix it, but decided to include it nevertheless because it seems to be mplayer’s only win32 audio backend that supports more than 6 channels. I should be able to fix this now, though.
dsnative.dll isn’t a dependency, and will only be loaded at runtime if you tell mplayer to use it (see http://oss.netfarm.it/dsnative/)

New builds should arrive within two weeks.
I’ll also build versions with regular ffmpeg, since ffmpeg-mt is in such an experimental state right now.

Offline Selur

  • Member
  • Posts: 232
    • View Profile
    • Hybrid
Re: lachs0r's MPlayer builds for Windows
« Reply #3 on: February 09, 2011, 12:05:56 PM »
Quote
dsnative.dll isn’t a dependency, ...
thanks for clearing that up :)

Quote
I’ll also build versions with regular ffmpeg, since ffmpeg-mt is in such an experimental state right now.
Nice! :)

Cu Selur

Offline lachs0r

  • eccentric
  • Member
  • Posts: 17
    • View Profile
Re: lachs0r's MPlayer builds for Windows
« Reply #4 on: February 11, 2011, 07:45:35 PM »
Whoops. Sorry to bring “bad news”, but there’s no MEncoder in uau’s repository anymore: http://repo.or.cz/w/mplayer.git/commit/389c32b5c72897a8b1b3c929c8f278e8980f2290

And to be quite honest, I wouldn’t recommend using MEncoder anyway. It was broken from the beginning and never really supported anything.
I’ll upload the ffmpeg/ffprobe binaries as a replacement, though ;)

BTW, it looks like FFmpeg will get 10-bit H.264 support very soon (decoding already seems to work). I will build MPlayer with that feature enabled as soon as it’s usable.

Offline Selur

  • Member
  • Posts: 232
    • View Profile
    • Hybrid
Re: lachs0r's MPlayer builds for Windows
« Reply #5 on: February 12, 2011, 12:02:41 AM »
Quote
Whoops. Sorry to bring “bad news”, ..
.. sad to here since ffmpeg isn't really a replacement for mencoder, since it:
a. doesn't support DVD and BD Input
b. has no chapter and title support (for DVD/BD and files with chapters)
c. doesn't have usable filters for deinterlacing and filtering (no ivtc, denoise,...)
d. can't decoder formats through vfw and qt filters (i.e. AppleProRes, 10bit DNxHD,..)
anyways: Thanks for the heads up.


Quote
BTW, it looks like FFmpeg will get 10-bit H.264 support very soon (decoding already seems to work).
Whooo, nice, 10bit decoding would be cool, since then one could finally use x264 10bit encoding without having to buy the mainconcept decoder. (which is a bit pricey for private only use)

Cu Selur

Offline lachs0r

  • eccentric
  • Member
  • Posts: 17
    • View Profile
Re: lachs0r's MPlayer builds for Windows
« Reply #6 on: February 12, 2011, 10:37:19 AM »
.. sad to here since ffmpeg isn't really a replacement for mencoder, since it:
a. doesn't support DVD and BD Input
b. has no chapter and title support (for DVD/BD and files with chapters)
d. can't decoder formats through vfw and qt filters (i.e. AppleProRes, 10bit DNxHD,..)
You can pipe MPlayer’s output to FFmpeg, though.

c. doesn't have usable filters for deinterlacing and filtering (no ivtc, denoise,...)
Yes it does. Recent FFmpeg versions have about the same set of filters as MPlayer/MEncoder.
AFAIK it also supports AviSynth.

Offline Selur

  • Member
  • Posts: 232
    • View Profile
    • Hybrid
Re: lachs0r's MPlayer builds for Windows
« Reply #7 on: February 12, 2011, 11:52:09 PM »
Quote
You can pipe MPlayer’s output to FFmpeg, though.
yup, but since I normally pipe the output of ffmpeg to x264 (it's easier to find a up to date x264 than a up to date ffmpeg with up to date x264 version ;))

Quote
Recent FFmpeg versions have about the same set of filters as MPlayer/MEncoder.
That would be nice, but http://www.ffmpeg.org/ffmpeg-doc.html#SEC6 nor ffmpeg -h doesn't show any deinterlace option aside from (-deinterlace).

Quote
AFAIK it also supports AviSynth.
yup, but since I use my frontend with which I use ffmpeg/mencoder/mplayer cross-plattform and I don't like wine avisynth is a no-go until avisynth has a working&stable linux version.

Cu Selur

Offline lachs0r

  • eccentric
  • Member
  • Posts: 17
    • View Profile
Re: lachs0r's MPlayer builds for Windows
« Reply #8 on: February 13, 2011, 09:30:49 AM »
yup, but since I normally pipe the output of ffmpeg to x264 (it's easier to find a up to date x264 than a up to date ffmpeg with up to date x264 version ;))
Nowadays x264 has lavf and ffms2 support, along with video filters. I see no reason to pipe ffmpeg output other than for network streams.
That would be nice, but http://www.ffmpeg.org/ffmpeg-doc.html#SEC6 nor ffmpeg -h doesn't show any deinterlace option aside from (-deinterlace).
Try ffmpeg -filters. There’s yadif, hqdn3d, gradfun and other filters.
wine avisynth is a no-go until avisynth has a working&stable linux version.
IMO that’s like using VP8 or Theora just because it is “more free” than H.264.

Offline Selur

  • Member
  • Posts: 232
    • View Profile
    • Hybrid
Re: lachs0r's MPlayer builds for Windows
« Reply #9 on: February 13, 2011, 03:35:55 PM »
Quote
Try ffmpeg -filters. There’s yadif, hqdn3d, gradfun and other filters.
Thanks! Didn't know that! :)

Offline Selur

  • Member
  • Posts: 232
    • View Profile
    • Hybrid
Re: lachs0r's MPlayer builds for Windows
« Reply #10 on: February 13, 2011, 04:45:55 PM »
The '-filters' tip really was good, even found some infos over at http://ffmpeg.org/libavfilter.html. :)
btw. is there also some ivtc filter hidden somewhere in ffmpeg?

Offline J_Darnley

  • Global Moderator
  • Member
  • *****
  • Posts: 397
    • View Profile
Re: lachs0r's MPlayer builds for Windows
« Reply #11 on: February 14, 2011, 02:56:09 AM »
If mplayer (libmpcodec) has an ivtc filter, ffmpeg now has an ivtc filter.
Knowledgeable about: cmd.exe, ffmpeg, x264

Offline Selur

  • Member
  • Posts: 232
    • View Profile
    • Hybrid
Re: lachs0r's MPlayer builds for Windows
« Reply #12 on: February 14, 2011, 03:00:51 AM »
NICE!!! :) (so only reason to use mencoder is dvd&blu-ray support)

Offline Selur

  • Member
  • Posts: 232
    • View Profile
    • Hybrid
Re: lachs0r's MPlayer builds for Windows
« Reply #13 on: February 14, 2011, 06:39:44 AM »
is this only in a special git subtree?
I checked out:
Code: [Select]
git clone git://git.ffmpeg.org/ffmpeg.git(+ all the other git repositories at http://www.ffmpeg.org/download.html)
and they did include some of the filters but far less than MPlayer-1.0rc4:
ffmpeg
Quote
vf_aspect.c
vf_blackframe.c
vf_copy.c
vf_crop.c
vf_cropdetect.c
vf_drawbox.c
vf_fifo.c
vf_format.c
vf_frei0r.c
vf_gradfun.c
vf_hflip.c
vf_hqdn3d.c
vf_libopencv.c
vf_null.c
vf_overlay.c
vf_pad.c
vf_pixdesctest.c
vf_scale.c
vf_setpts.c
vf_settb.c
vf_slicify.c
vf_transpose.c
vf_unsharp.c
vf_vflip.c
vf_yadif.c
mplayer
Quote
vf.c
vf_1bpp.c
vf_2xsai.c
vf_ass.c
vf_blackframe.c
vf_bmovl.c
vf_boxblur.c
vf_crop.c
vf_cropdetect.c
vf_decimate.c
vf_delogo.c
vf_denoise3d.c
vf_detc.c
vf_dint.c
vf_divtc.c
vf_down3dright.c
vf_dsize.c
vf_dvbscale.c
vf_eq.c
vf_eq2.c
vf_expand.c
vf_field.c
vf_fil.c
vf_filmdint.c
vf_fixpts.c
vf_flip.c
vf_format.c
vf_framestep.c
vf_fspp.c
vf_geq.c
vf_gradfun.c
vf_halfpack.c
vf_harddup.c
vf_hqdn3d.c
vf_hue.c
vf_il.c
vf_ilpack.c
vf_ivtc.c
vf_kerndeint.c
vf_lavc.c
vf_lavcdeint.c
vf_mcdeint.c
vf_mirror.c
vf_noformat.c
vf_noise.c
vf_ow.c
vf_palette.c
vf_perspective.c
vf_phase.c
vf_pp.c
vf_pp7.c
vf_pullup.c
vf_qp.c
vf_rectangle.c
vf_remove_logo.c
vf_rgbtest.c
vf_rotate.c
vf_sab.c
vf_scale.c
vf_screenshot.c
vf_smartblur.c
vf_softpulldown.c
vf_softskip.c
vf_spp.c
vf_swapuv.c
vf_telecine.c
vf_test.c
vf_tfields.c
vf_tile.c
vf_tinterlace.c
vf_unsharp.c
vf_uspp.c
vf_vo.c
vf_yadif.c
vf_yuvcsp.c
vf_yvu9.c
vf_zrmjpeg.c

-> so seems like no ivtc atm,..
« Last Edit: February 14, 2011, 06:56:39 AM by Selur »

Offline J_Darnley

  • Global Moderator
  • Member
  • *****
  • Posts: 397
    • View Profile
Re: lachs0r's MPlayer builds for Windows
« Reply #14 on: February 14, 2011, 08:45:26 AM »
Knowledgeable about: cmd.exe, ffmpeg, x264

Offline Selur

  • Member
  • Posts: 232
    • View Profile
    • Hybrid
Re: lachs0r's MPlayer builds for Windows
« Reply #15 on: February 14, 2011, 08:54:10 AM »
got it, looked in the wrong folder ;)
Any idea when these changes will make it into the main tree? (git://git.ffmpeg.org/ffmpeg.git)
« Last Edit: February 14, 2011, 08:58:28 AM by Selur »

Offline Selur

  • Member
  • Posts: 232
    • View Profile
    • Hybrid
Re: lachs0r's MPlayer builds for Windows
« Reply #16 on: February 15, 2011, 06:23:46 AM »
Following http://ffmpeg.arrozcru.com/forum/viewtopic.php?f=1&p=5301#p5301 to the point where I checked out ffmpeg with
Code: [Select]
git clone git://git.videolan.org/ffmpeg.git checkoutcalled
Code: [Select]
../checkout/configure --prefix=/home/developer/ffmpeg/built --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-memalign-hack --arch=x86 --target-os=mingw32 --cross-prefix=i686-mingw32- --enable-runtime-cpudetect and
Code: [Select]
makebut make sadly stops with:
Quote
CC      libavfilter/libmpcodecs/vf_detc.o
In file included from /home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/vf_detc.c:31:
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/libvo/fastmemcpy.h: In function 'mem2agpcpy_pic':
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/libvo/fastmemcpy.h:42: warning: cast discards qualifiers from pointer target type
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/libvo/fastmemcpy.h:54: warning: cast discards qualifiers from pointer target type
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/libvo/fastmemcpy.h: In function 'memcpy_pic2':
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/libvo/fastmemcpy.h:79: warning: cast discards qualifiers from pointer target type
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/libvo/fastmemcpy.h:91: warning: cast discards qualifiers from pointer target type
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/vf_detc.c: At top level:
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/vf_detc.c:390: warning: initialization discards qualifiers from pointer target type
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/vf_detc.c:391: warning: initialization discards qualifiers from pointer target type
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/vf_detc.c: In function 'parse_args':
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/vf_detc.c:416: error: implicit declaration of function 'strdup'
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/vf_detc.c:416: warning: assignment makes pointer from integer without a cast
make: *** [libavfilter/libmpcodecs/vf_detc.o] Fehler 1
(works fine without '--enable-gpl --enable-version3 --enable-nonfree --enable-postproc' but since I do the whole thing to get the additional filters from libmpcodecs I need the options afaik ;))

-> Does someone know what's going wrong? (and how to fix it?)

Cu Selur

Ps.: LOL, I know it's getting a bit off topic, but the forum flagging the post as spam still seems a bit cruel. ;)
« Last Edit: February 15, 2011, 06:25:19 AM by Selur »

Offline Selur

  • Member
  • Posts: 232
    • View Profile
    • Hybrid
Re: lachs0r's MPlayer builds for Windows
« Reply #17 on: February 15, 2011, 06:32:00 AM »
Following http://ffmpeg.arrozcru.com/forum/viewtopic.php?f=1&p=5301#p5301 to the point where I checked out ffmpeg with
Code: [Select]
git clone git://git.videolan.org/ffmpeg.git checkoutcalled
Code: [Select]
../checkout/configure --prefix=/home/developer/ffmpeg/built --enable-gpl --enable-version3 --enable-postproc --enable-memalign-hack --arch=x86 --target-os=mingw32 --cross-prefix=i686-mingw32- --enable-runtime-cpudetect and
Code: [Select]
makebut make sadly stops with:
Quote
CC      libavfilter/libmpcodecs/vf_detc.o
In file included from /home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/vf_detc.c:31:
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/libvo/fastmemcpy.h: In function 'mem2agpcpy_pic':
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/libvo/fastmemcpy.h:42: warning: cast discards qualifiers from pointer target type
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/libvo/fastmemcpy.h:54: warning: cast discards qualifiers from pointer target type
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/libvo/fastmemcpy.h: In function 'memcpy_pic2':
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/libvo/fastmemcpy.h:79: warning: cast discards qualifiers from pointer target type
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/libvo/fastmemcpy.h:91: warning: cast discards qualifiers from pointer target type
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/vf_detc.c: At top level:
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/vf_detc.c:390: warning: initialization discards qualifiers from pointer target type
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/vf_detc.c:391: warning: initialization discards qualifiers from pointer target type
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/vf_detc.c: In function 'parse_args':
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/vf_detc.c:416: error: implicit declaration of function 'strdup'
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/vf_detc.c:416: warning: assignment makes pointer from integer without a cast
make: *** [libavfilter/libmpcodecs/vf_detc.o] Fehler 1
(works fine without '--enable-gpl --enable-version3 --enable-postproc' but since I do the whole thing to get the additional filters from libmpcodecs I need the options afaik ;))

-> Does someone know what's going wrong? (and how to fix it?)

Cu Selur

Ps.: LOL, I know it's getting a bit off topic, but the forum flagging the post as spam still seems a bit cruel. ;) (okay, found the problem seems like the forum doesn't like the multiupload link I inserted to link to my first compile without '--enable-gpl --enable-version3 --enable-postproc' )
« Last Edit: February 15, 2011, 06:42:35 AM by Selur »

Offline lachs0r

  • eccentric
  • Member
  • Posts: 17
    • View Profile
Re: lachs0r's MPlayer builds for Windows
« Reply #18 on: February 15, 2011, 09:02:38 AM »
Looks like either your toolchain is broken or vf_detc.c is missing a string.h include.

Offline Selur

  • Member
  • Posts: 232
    • View Profile
    • Hybrid
Re: lachs0r's MPlayer builds for Windows
« Reply #19 on: February 15, 2011, 09:06:53 AM »
okay, then it's probably a problem with my toolchain, since it contains a '#include <string.h>'

Cu Selur

Offline Selur

  • Member
  • Posts: 232
    • View Profile
    • Hybrid
Re: lachs0r's MPlayer builds for Windows
« Reply #20 on: February 16, 2011, 08:25:27 AM »
Found a workaround:

adding:
Code: [Select]
static char *strCopy(const char *str)
{
    int n = strlen(str) + 1;
    char *dup = malloc(n);
    if(dup)
    {
        strcpy(dup, str);
    }
    return dup;
}
and replacing all the strdup with strCopy calls works,..

Any one got a hint how to enable the libmpcodecs filters?
"configure --list-filters" only shows:
Quote
Enabled filters:
anull                   gradfun                 pixdesctest
anullsink               hflip                   scale
anullsrc                hqdn3d                  setdar
blackframe              movie                   setpts
buffer                  mp                      setsar
color                   noformat                settb
copy                    null                    slicify
crop                    nullsink                transpose
cropdetect              nullsrc                 unsharp
drawbox                 overlay                 vflip
fifo                    pad                     yadif
format
is there a configure flag I need to add to build ffmpeg with the filters listed under libavfilter/libmpcodecs/ ?

here are the configure options listed:
Quote
developer@crosscompiler:~/ffmpeg/build$ ../checkout/configure --help
Usage: configure [options]
Options: [defaults in brackets after descriptions]

Standard options:
  --help                   print this message
  --logfile=FILE           log tests and output to FILE [config.log]
  --disable-logging        do not log configure debug information
  --prefix=PREFIX          install in PREFIX []
  --bindir=DIR             install binaries in DIR [PREFIX/bin]
  --datadir=DIR            install data files in DIR [PREFIX/share/ffmpeg]
  --libdir=DIR             install libs in DIR [PREFIX/lib]
  --shlibdir=DIR           install shared libs in DIR [PREFIX/lib]
  --incdir=DIR             install includes in DIR [PREFIX/include]
  --mandir=DIR             install man page in DIR [PREFIX/share/man]

Configuration options:
  --disable-static         do not build static libraries [no]
  --enable-shared          build shared libraries [no]
  --enable-gpl             allow use of GPL code, the resulting libs
                           and binaries will be under GPL [no]
  --enable-version3        upgrade (L)GPL to version 3 [no]
  --enable-nonfree         allow use of nonfree code, the resulting libs
                           and binaries will be unredistributable [no]
  --disable-doc            do not build documentation
  --disable-ffmpeg         disable ffmpeg build
  --disable-ffplay         disable ffplay build
  --disable-ffprobe        disable ffprobe build
  --disable-ffserver       disable ffserver build
  --disable-avdevice       disable libavdevice build
  --disable-avcodec        disable libavcodec build
  --disable-avcore         disable libavcore build
  --disable-avformat       disable libavformat build
  --disable-swscale        disable libswscale build
  --enable-postproc        enable GPLed postprocessing support [no]
  --disable-avfilter       disable video filter support [no]
  --disable-pthreads       disable pthreads [auto]
  --enable-w32threads      use Win32 threads [no]
  --enable-x11grab         enable X11 grabbing [no]
  --disable-network        disable network support [no]
  --disable-mpegaudio-hp   faster (but less accurate) MPEG audio decoding [no]
  --enable-gray            enable full grayscale support (slower color)
  --disable-swscale-alpha  disable alpha channel support in swscale
  --disable-fastdiv        disable table-based division
  --enable-small           optimize for size instead of speed
  --disable-aandct         disable AAN DCT code
  --disable-dct            disable DCT code
  --disable-fft            disable FFT code
  --disable-golomb         disable Golomb code
  --disable-huffman        disable Huffman code
  --disable-lpc            disable LPC code
  --disable-mdct           disable MDCT code
  --disable-rdft           disable RDFT code
  --disable-vaapi          disable VAAPI code
  --disable-vdpau          disable VDPAU code
  --disable-dxva2          disable DXVA2 code
  --enable-runtime-cpudetect detect cpu capabilities at runtime (bigger binary)
  --enable-hardcoded-tables use hardcoded tables instead of runtime generation
  --enable-memalign-hack   emulate memalign, interferes with memory debuggers
  --disable-everything     disable all components listed below
  --disable-encoder=NAME   disable encoder NAME
  --enable-encoder=NAME    enable encoder NAME
  --disable-encoders       disable all encoders
  --disable-decoder=NAME   disable decoder NAME
  --enable-decoder=NAME    enable decoder NAME
  --disable-decoders       disable all decoders
  --disable-hwaccel=NAME   disable hwaccel NAME
  --enable-hwaccel=NAME    enable hwaccel NAME
  --disable-hwaccels       disable all hwaccels
  --disable-muxer=NAME     disable muxer NAME
  --enable-muxer=NAME      enable muxer NAME
  --disable-muxers         disable all muxers
  --disable-demuxer=NAME   disable demuxer NAME
  --enable-demuxer=NAME    enable demuxer NAME
  --disable-demuxers       disable all demuxers
  --enable-parser=NAME     enable parser NAME
  --disable-parser=NAME    disable parser NAME
  --disable-parsers        disable all parsers
  --enable-bsf=NAME        enable bitstream filter NAME
  --disable-bsf=NAME       disable bitstream filter NAME
  --disable-bsfs           disable all bitstream filters
  --enable-protocol=NAME   enable protocol NAME
  --disable-protocol=NAME  disable protocol NAME
  --disable-protocols      disable all protocols
  --disable-indev=NAME     disable input device NAME
  --disable-outdev=NAME    disable output device NAME
  --disable-indevs         disable input devices
  --disable-outdevs        disable output devices
  --disable-devices        disable all devices
  --enable-filter=NAME     enable filter NAME
  --disable-filter=NAME    disable filter NAME
  --disable-filters        disable all filters
  --list-decoders          show all available decoders
  --list-encoders          show all available encoders
  --list-hwaccels          show all available hardware accelerators
  --list-muxers            show all available muxers
  --list-demuxers          show all available demuxers
  --list-parsers           show all available parsers
  --list-protocols         show all available protocols
  --list-bsfs              show all available bitstream filters
  --list-indevs            show all available input devices
  --list-outdevs           show all available output devices
  --list-filters           show all available filters

External library support:
  --enable-avisynth        enable reading of AVISynth script files [no]
  --enable-bzlib           enable bzlib [autodetect]
  --enable-frei0r          enable frei0r video filtering
  --enable-libopencore-amrnb enable AMR-NB de/encoding via libopencore-amrnb [no                                       ]
  --enable-libopencore-amrwb enable AMR-WB decoding via libopencore-amrwb [no]
  --enable-libopencv       enable video filtering via libopencv [no]
  --enable-libdc1394       enable IIDC-1394 grabbing using libdc1394
                           and libraw1394 [no]
  --enable-libdirac        enable Dirac support via libdirac [no]
  --enable-libfaac         enable FAAC support via libfaac [no]
  --enable-libgsm          enable GSM support via libgsm [no]
  --enable-libmp3lame      enable MP3 encoding via libmp3lame [no]
  --enable-libnut          enable NUT (de)muxing via libnut,
                           native (de)muxer exists [no]
  --enable-libopenjpeg     enable JPEG 2000 decoding via OpenJPEG [no]
  --enable-librtmp         enable RTMP[E] support via librtmp [no]
  --enable-libschroedinger enable Dirac support via libschroedinger [no]
  --enable-libspeex        enable Speex decoding via libspeex [no]
  --enable-libtheora       enable Theora encoding via libtheora [no]
  --enable-libvorbis       enable Vorbis encoding via libvorbis,
                           native implementation exists [no]
  --enable-libvpx          enable VP8 support via libvpx [no]
  --enable-libx264         enable H.264 encoding via x264 [no]
  --enable-libxavs         enable AVS encoding via xavs [no]
  --enable-libxvid         enable Xvid encoding via xvidcore,
                           native MPEG-4/Xvid encoder exists [no]
  --enable-mlib            enable Sun medialib [no]
  --enable-zlib            enable zlib [autodetect]

Advanced options (experts only):
  --source-path=PATH       path to source code [/home/developer/ffmpeg/checkout]
  --cross-prefix=PREFIX    use PREFIX for compilation tools []
  --enable-cross-compile   assume a cross-compiler is used
  --sysroot=PATH           root of cross-build tree
  --sysinclude=PATH        location of cross-build system headers
  --target-os=OS           compiler targets OS []
  --target-exec=CMD        command to run executables on target
  --target-path=DIR        path to view of build directory on target
  --nm=NM                  use nm tool
  --ar=AR                  use archive tool AR [ar]
  --as=AS                  use assembler AS []
  --cc=CC                  use C compiler CC [gcc]
  --ld=LD                  use linker LD
  --host-cc=HOSTCC         use host C compiler HOSTCC
  --host-cflags=HCFLAGS    use HCFLAGS when compiling for host
  --host-ldflags=HLDFLAGS  use HLDFLAGS when linking for host
  --host-libs=HLIBS        use libs HLIBS when linking for host
  --extra-cflags=ECFLAGS   add ECFLAGS to CFLAGS []
  --extra-ldflags=ELDFLAGS add ELDFLAGS to LDFLAGS []
  --extra-libs=ELIBS       add ELIBS []
  --extra-version=STRING   version string suffix []
  --build-suffix=SUFFIX    library name suffix []
  --arch=ARCH              select architecture []
  --cpu=CPU                select the minimum required CPU (affects
                           instruction selection, may crash on older CPUs)
  --disable-asm            disable all assembler optimizations
  --disable-altivec        disable AltiVec optimizations
  --disable-amd3dnow       disable 3DNow! optimizations
  --disable-amd3dnowext    disable 3DNow! extended optimizations
  --disable-mmx            disable MMX optimizations
  --disable-mmx2           disable MMX2 optimizations
  --disable-sse            disable SSE optimizations
  --disable-ssse3          disable SSSE3 optimizations
  --disable-armv5te        disable armv5te optimizations
  --disable-armv6          disable armv6 optimizations
  --disable-armv6t2        disable armv6t2 optimizations
  --disable-armvfp         disable ARM VFP optimizations
  --disable-iwmmxt         disable iwmmxt optimizations
  --disable-mmi            disable MMI optimizations
  --disable-neon           disable neon optimizations
  --disable-vis            disable VIS optimizations
  --disable-yasm           disable use of yasm assembler
  --enable-pic             build position-independent code
  --malloc-prefix=PFX      prefix malloc and related names with PFX
  --enable-sram            allow use of on-chip SRAM
  --disable-symver         disable symbol versioning

Developer options (useful when working on FFmpeg itself):
  --disable-debug          disable debugging symbols
  --enable-debug=LEVEL     set the debug level []
  --disable-optimizations  disable compiler optimizations
  --enable-extra-warnings  enable more compiler warnings
  --disable-stripping      disable stripping of executables and shared libraries
  --samples=PATH           location of test samples for FATE

Cu Selur


« Last Edit: February 16, 2011, 09:01:45 AM by Selur »

Offline J_Darnley

  • Global Moderator
  • Member
  • *****
  • Posts: 397
    • View Profile
Re: lachs0r's MPlayer builds for Windows
« Reply #21 on: February 16, 2011, 11:12:37 AM »
They're GPL, so you need to enable that.  Also, they're wrapped by the "mp" filter.

I thought these string-related errors were fixed with a simple --extra-cflags=-U__STRICT_ANSI__
« Last Edit: February 16, 2011, 11:14:25 AM by J_Darnley »
Knowledgeable about: cmd.exe, ffmpeg, x264

Offline Selur

  • Member
  • Posts: 232
    • View Profile
    • Hybrid
Re: lachs0r's MPlayer builds for Windows
« Reply #22 on: February 16, 2011, 11:45:37 AM »
Quote
Also, they're wrapped by the "mp" filter.
... and that means what? -> got it :)

Quote
I thought these string-related errors were fixed with a simple --extra-cflags=-U__STRICT_ANSI__
adding the cflag causes another error:
Quote
CC      libavfilter/libmpcodecs/vf_divtc.o
In file included from /home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/vf_divtc.c:30:
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/mpbswap.h:35: error: conflicting types for 'swab'
/usr/lib/gcc/i686-mingw32/4.4.2/../../../../i686-mingw32/include/string.h:115: note: previous declaration of 'swab' was here
In file included from /home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/vf_divtc.c:36:
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/libvo/fastmemcpy.h: In function 'mem2agpcpy_pic':
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/libvo/fastmemcpy.h:42: warning: cast discards qualifiers from pointer target type
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/libvo/fastmemcpy.h:54: warning: cast discards qualifiers from pointer target type
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/libvo/fastmemcpy.h: In function 'memcpy_pic2':
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/libvo/fastmemcpy.h:79: warning: cast discards qualifiers from pointer target type
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/libvo/fastmemcpy.h:91: warning: cast discards qualifiers from pointer target type
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/vf_divtc.c: In function 'vf_open':
/home/developer/ffmpeg/checkout/libavfilter/libmpcodecs/vf_divtc.c:602: warning: initialization discards qualifiers from pointer target type
make: *** [libavfilter/libmpcodecs/vf_divtc.o] Fehler 1

Cu Selur
« Last Edit: February 16, 2011, 09:52:13 PM by Selur »

Offline lachs0r

  • eccentric
  • Member
  • Posts: 17
    • View Profile
Re: lachs0r's MPlayer builds for Windows
« Reply #23 on: February 17, 2011, 08:42:36 AM »
Some news about 10-bit H.264 support:

There are changes to FFmpeg and swscale which make it work with 10-bit, but MPlayer needs some additional magic as well.
AFAICT, these are trivial changes to:
  • fmt_conversion.c
  • libmpcodecs/img_format.h
  • libmpcodecs/img_format.c

I didn’t have enough time during my lunch break to figure out what exactly I need to put into img_format.h, though.
Also, MPlayer2 currently doesn’t build with MinGW as they forgot to replace a few memalign()s with av_malloc(). Again, trivial changes.

Offline LLStarks

  • Member
  • Posts: 5
    • View Profile
Re: lachs0r's MPlayer2 builds for Windows
« Reply #24 on: February 17, 2011, 09:02:33 AM »
heh. so uau finally went through with the name change.

should've seen this coming with the irc channel being #mplayer2 and everything.

Offline lachs0r

  • eccentric
  • Member
  • Posts: 17
    • View Profile
Re: lachs0r's MPlayer2 builds for Windows
« Reply #25 on: February 18, 2011, 08:41:28 AM »

Offline lachs0r

  • eccentric
  • Member
  • Posts: 17
    • View Profile
Re: lachs0r's MPlayer2 builds for Windows
« Reply #26 on: February 20, 2011, 04:28:26 PM »
http://mplayer.srsfckn.biz/mplayer2-20110220.7z

Updated build, non-mt ffmpeg, no OpenAL.
This one was built just for testing specific features, so I will not update the OP.

I’ll get a decent internet connection in 4 days according to my ISP, so you’ll have to wait until then.

Edit: Guess what  ::)
« Last Edit: April 16, 2011, 07:06:03 AM by lachs0r »

Offline LLStarks

  • Member
  • Posts: 5
    • View Profile
Re: lachs0r's MPlayer2 builds for Windows
« Reply #27 on: February 24, 2011, 09:25:38 AM »
i've been having problems cross-compiling libass and i've had to use a pre-existing libass.la to get around mingw's complaints.

what's your toolchain for libass compilation and do i need any libass libraries in my mingw includes/libs before compiling?

Offline m45t3r

  • Member
  • Posts: 1
    • View Profile
Re: lachs0r's MPlayer2 builds for Windows
« Reply #28 on: March 06, 2011, 08:28:50 PM »
Register only to follow this thread, for ages I was looking for a build of uau's MPlayer (I use this version on Linux since the name was still mplayer-git, good times ;D).

I will also upload a working toolchain for cross-compiling on Linux, including scripts for downloading, patching and building all the dependencies (and possibly other multimedia-related software), as well as a Live CD/HDD image/OVF with everything set up. Maybe it is of use to someone ;)

Hey, I would love if you can do this. I was trying to build the mplayer2 for Windows using mingw32 on Linux without much success.

Offline lachs0r

  • eccentric
  • Member
  • Posts: 17
    • View Profile
Re: lachs0r's MPlayer2 builds for Windows
« Reply #29 on: March 25, 2011, 12:57:23 PM »
This build has experimental -vo lavc encoding support: http://mplayer.srsfckn.biz/mplayer-divVerent-20110325.exe.xz

Untested build; have fun crashing it :P

Edit: Due to a memory leak apparently caused by libvpx, this build allocates a lot (more than 500M) of memory for no real reason.
« Last Edit: April 16, 2011, 07:06:17 AM by lachs0r »