Change libass submodule URL
[mplayer-build.git] / README
blob830358e141f4c3b2f0820ac40acbd3764ea516e7
1 This repository contains scripts to help build MPlayer together with
2 some dependencies that many platforms will not have a new enough
3 version of. Currently the scripts probably require git version 1.6.2
4 or later.
6 If you have a multicore machine read about FFmpeg-mt below.
10 Initializing the repo
12 First you need to download the actual sources, using either:
14 ./init
16 ./init --shallow
18 The latter form creates only partial git repositories which do not
19 have full history data. This reduces the amount of data you need to
20 download but reduces the development-related functionality of the
21 repositories. If you only want to simply build MPlayer it should
22 usually be enough.
26 Building
28 You can build MPlayer with just 'make'. There is no separate
29 configure step because the MPlayer configure depends on included
30 library sources being configured _and_ built first. If you want to
31 give configuration options see the section below.
35 Enabling FFmpeg-mt
37 FFmpeg-mt is version of FFmpeg with improved threading support, useful
38 for things like high-bitrate H264. It allows significantly faster
39 decoding on multicore machines but is sometimes less stable (it's
40 quite usable in most cases though). You can enable compilation with
41 FFmpeg-mt decoders using "./enable-mt" and disable it with
42 "./disable-mt". To actually use the threading support in your
43 mt-enabled MPlayer you need to it a "-lavdopts threads=N" option,
44 where N is the number of threads you want to use (a value equal to
45 your number of cores is normally good). So if you have a quadcore
46 machine you can do for example:
47 ./enable-mt
48 ./init --shallow
49 make -j 6
50 mplayer/mplayer -lavdopts threads=4 some_high_bitrate_h264_stuff.mkv
51 (or alternatively install first instead of running mplayer from the
52 build location on the last line)
56 Giving configure options to MPlayer and FFmpeg
58 You can specify extra options that will be passed to MPlayer's
59 configure script by placing them in a file called "mplayer_options" in
60 this directory. There's a corresponding file called "ffmpeg_options"
61 for FFmpeg. Options in file "common_options" will be passed to both
62 MPlayer and FFmpeg; this mainly makes sense for generic options like
63 "-cc=gcc-4.4'.
67 Helper scripts included in this repo:
69 ./init
70 Prepare the repository by downloading actual sources. You need to run
71 this at least once before you can build anything. With the --shallow
72 argument creates shallow git repositories that require less bandwidth
73 to download.
75 ./update
76 Download the latest version of the sources.
78 ./clean
79 Remove all generated or extra files from build directories and
80 restore them to their original state. Running this between builds is
81 probably a good idea.
83 ./enable-mt
84 ./disable-mt
85 Enabled or disable building with FFmpeg-mt support. Can be run before
86 first ./init or later to switch support on and off. The file
87 'ffmpeg-mt-enabled' is created or deleted to indicate whether -mt
88 support is currently active. Note that if you build MPlayer and then
89 switch -mt support on or off, a rebuild is likely to fail unless you
90 remember to run ./clean before the new build.