summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DOCS/man/en/mplayer.112
-rw-r--r--DOCS/man/zh_CN/mplayer.130
-rw-r--r--DOCS/tech/slave.txt38
-rw-r--r--DOCS/xml/cs/video.xml2
-rw-r--r--DOCS/xml/de/video.xml2
-rw-r--r--DOCS/xml/en/video.xml2
-rw-r--r--DOCS/xml/es/video.xml2
-rw-r--r--DOCS/xml/fr/video.xml4
-rw-r--r--DOCS/xml/hu/video.xml2
-rw-r--r--DOCS/xml/it/video.xml4
-rw-r--r--DOCS/xml/pl/video.xml2
-rw-r--r--DOCS/xml/ru/video.xml2
-rw-r--r--Makefile1
-rw-r--r--av_sub.c2
-rw-r--r--command.c141
-rw-r--r--defaultopts.c1
-rw-r--r--etc/codecs.conf18
-rw-r--r--etc/example.conf16
-rw-r--r--input/input.c8
-rw-r--r--libmenu/menu_pt.c5
-rw-r--r--libmpcodecs/ad_faad.c5
-rw-r--r--libmpcodecs/ad_speex.c20
-rw-r--r--libmpcodecs/dec_video.c2
-rw-r--r--libmpcodecs/vd_ffmpeg.c18
-rw-r--r--libmpcodecs/vd_qtvideo.c3
-rw-r--r--libmpcodecs/vf_stereo3d.c115
-rw-r--r--libmpdemux/asfheader.c3
-rw-r--r--libmpdemux/aviheader.c6
-rw-r--r--libmpdemux/demux_asf.c7
-rw-r--r--libmpdemux/demux_audio.c11
-rw-r--r--libmpdemux/demux_demuxers.c2
-rw-r--r--libmpdemux/demux_gif.c2
-rw-r--r--libmpdemux/demux_lavf.c2
-rw-r--r--libmpdemux/demux_mkv.c166
-rw-r--r--libmpdemux/demux_mov.c20
-rw-r--r--libmpdemux/demux_real.c15
-rw-r--r--libmpdemux/demux_ts.c42
-rw-r--r--libmpdemux/demux_ty_osd.c2
-rw-r--r--libmpdemux/demux_ty_osd.h2
-rw-r--r--libmpdemux/demuxer.c63
-rw-r--r--libmpdemux/mp3_hdr.h7
-rw-r--r--libmpdemux/mp_taglists.c1
-rw-r--r--libmpdemux/video.c2
-rw-r--r--libvo/font_load_ft.c4
-rw-r--r--libvo/vo_vdpau.c12
-rw-r--r--m_option.c2
-rw-r--r--mp_core.h1
-rw-r--r--mplayer.c151
-rw-r--r--osdep/numcores.c66
-rw-r--r--osdep/numcores.h1
-rw-r--r--path.c16
-rw-r--r--path.h1
-rw-r--r--playtreeparser.c114
-rw-r--r--stream/http.c96
-rw-r--r--stream/http.h2
-rw-r--r--stream/network.c22
-rw-r--r--stream/realrtsp/real.c15
-rw-r--r--stream/stream.h4
-rw-r--r--stream/url.c36
-rw-r--r--stream/url.h4
-rw-r--r--sub_cc.c14
-rw-r--r--sub_cc.h4
-rw-r--r--vidix/radeon.h2
-rw-r--r--vidix/radeon_vid.c58
-rw-r--r--vobsub.c7
65 files changed, 756 insertions, 686 deletions
diff --git a/DOCS/man/en/mplayer.1 b/DOCS/man/en/mplayer.1
index e9065e941b..01e48d33d9 100644
--- a/DOCS/man/en/mplayer.1
+++ b/DOCS/man/en/mplayer.1
@@ -267,7 +267,7 @@ Toggle frame dropping states: none / skip display / skip decoding
(see \-framedrop and \-hardframedrop).
.IPs "v\ \ \ \ "
Toggle subtitle visibility.
-.IPs "j\ \ \ \ "
+.IPs "j and J"
Cycle through the available subtitles.
.IPs "y and g"
Step forward/backward in the subtitle list.
@@ -2009,7 +2009,7 @@ tv://1, tv://TV1, tv_set_channel 1, tv_set_channel TV1
.IPs [brightness|contrast|hue|saturation]=<\-100\-100>
Set the image equalizer on the card.
.IPs audiorate=<value>
-Set audio capture bitrate.
+Set input audio sample rate.
.IPs forceaudio
Capture audio even if there are no audio sources reported by v4l.
.IPs "alsa\ "
@@ -4935,8 +4935,12 @@ This degrades quality a lot of in almost all cases
Skips decoding of frames completely.
Big speedup, but jerky motion and sometimes bad artifacts
(see skiploopfilter for available skip values).
-.IPs "threads=<1\-8> (MPEG-1/2 and H.264 only)"
-number of threads to use for decoding (default: 1)
+.IPs "threads=<0\-16>"
+Number of threads to use for decoding.
+Whether threading is actually supported depends on codec.
+0 means autodetect number of cores on the machine and use that, up to the
+maximum of 16.
+(default: 0)
.IPs vismv=<value>
Visualize motion vectors.
.RSss
diff --git a/DOCS/man/zh_CN/mplayer.1 b/DOCS/man/zh_CN/mplayer.1
index fce0482906..e0b17028af 100644
--- a/DOCS/man/zh_CN/mplayer.1
+++ b/DOCS/man/zh_CN/mplayer.1
@@ -1,4 +1,4 @@
-.\" sync with en/mplayer.1 rev. 32566
+.\" sync with en/mplayer.1 rev. 32661
.\" Encoding: UTF-8
.\"
.\" MPlayer (C) 2000-2010 MPlayer 团队
@@ -2402,8 +2402,8 @@ MPlayer 在 verbose (\-v) 模式下会打印可用的语言。
.PD 1
.
.TP
-.B "\-subcc \ "
-显示 DVD 的隐藏式(CC)字幕。
+.B "\-subcc <1\-4>\ "
+显示来自指定频道的 DVD 外挂字幕。
它们
.B 不
是 VOB 字幕, 它们是为听力有障碍的人准备的特殊的 ASCII 字幕,
@@ -9609,7 +9609,7 @@ MPlayer与其它一些播放器能正确播放这些文件,除此之外的播
.
.PP
.sp 1
-以下选项只存在于Xvid 1.1.x中。
+以下选项只适用于 Xvid 1.1.x 以及之后的版本。
.
.TP
.B bvhq=<0|1>
@@ -9617,9 +9617,29 @@ MPlayer与其它一些播放器能正确播放这些文件,除此之外的播
选运动矢量,对于P帧这种方式是通过vhq选项实现的。
该方式产生的B帧看上去较好,而同时也几乎不影响性能(默认值:1)。
.
+.TP
+.B vbv_bufsize=<0...>(仅用于二阶段编码模式)
+以比特为单位指定视频缓冲校验器(VBV)的缓冲大小(默认值:0 \- 禁用 VBV 校
+验)。
+VBV 提供限制峰值比特率的功能,以使视频能在硬件播放器上正常播放。
+例如,Home 配置集使用 vbv_bufsize=3145728。
+如果设置了 vbv_bufsize,则应当同时设置 vbv_maxrate。
+注意,没有所谓 vbv_peakrate 的选项,因为 Xvid 实际上并不使用这种选项控制比
+特率;其它的 VBV 选项足以限制峰值比特率。
+.
+.TP
+.B vbv_initial=<0...vbv_bufsize>(仅用于二阶段编码模式)
+以比特为单位指定 VBV 缓冲初始填充的大小(默认值:vbv_bufsize 的 75%)。
+默认值通常是你所需的值。
+.
+.TP
+.B vbv_maxrate=<0...>(仅用于二阶段编码模式)
+以比特/秒为单位指定最大处理的比特率(默认值:0)。
+例如,Home 配置集使用 vbv_maxrate=4854000。
+.
.PP
.sp 1
-以下选项只存在于1.2.x版的Xvid中。
+以下选项只适用于 Xvid 1.2.x 以及之后的版本。
.
.TP
.B threads=<0\-n>
diff --git a/DOCS/tech/slave.txt b/DOCS/tech/slave.txt
index 6187affab5..d95ef41d84 100644
--- a/DOCS/tech/slave.txt
+++ b/DOCS/tech/slave.txt
@@ -20,6 +20,10 @@ Most slave mode commands are equivalent to command line options, though not
necessarily under the same name. Detailed descriptions can be found in the
man page.
+NOTE: the following paragraph is mostly obsolete; tricky pause handling
+was required in old MPlayer versions where all commands unpaused by default.
+Now running commands does not require leaving pause state any more, and
+the prefixes described here should not be required in normal use.
All commands can be prefixed with one of "pausing ", "pausing_keep ", or
"pausing_toggle ". "pausing " tells MPlayer to pause as soon as possible
after processing the command. "pausing_keep " tells MPlayer to do so only if
@@ -36,11 +40,6 @@ since other values do not make much sense for them.
Various tips and tricks (please help expand it!):
-- Try using something like
- pausing_keep_force pt_step 1
- get_property pause
- to switch to the next file. It avoids audio playback starting to play
- the old file for a short time before switching to the new one.
- To ensure the user can't control MPlayer "behind your back" use
something like -input nodefault-bindings -noconfig all
@@ -183,9 +182,6 @@ screenshot <value>
0 Take a single screenshot.
1 Start/stop taking screenshot of each frame.
-gui_[about|loadfile|loadsubtitle|play|playlist|preferences|skinbrowser|stop]
- GUI actions
-
key_down_event <value>
Inject <value> key code event into MPlayer.
@@ -241,7 +237,8 @@ panscan <-1.0 - 1.0> | <0.0 - 1.0> <abs>
absolute range.
pause
- Pause/unpause the playback.
+ Pause/unpause the playback (use "set_property pause X" to set a particular
+ value regardless of whether the player is already paused or not).
frame_step
Play one frame, then pause again.
@@ -355,7 +352,8 @@ sub_select [value]
Display subtitle with index [value]. Turn subtitle display off if
[value] is -1 or greater than the highest available subtitle index.
Cycle through the available subtitles if [value] is omitted or less
- than -1. Supported subtitle sources are -sub options on the command
+ than -1 (forward or backward respectively).
+ Supported subtitle sources are -sub options on the command
line, VOBsubs, DVD subtitles, and Ogg and Matroska text streams.
This command is mainly for cycling all subtitles, if you want to set
a specific subtitle, use sub_file, sub_vob, or sub_demux.
@@ -365,26 +363,30 @@ sub_source [source]
SUB_SOURCE_SUBS (0) for file subs
SUB_SOURCE_VOBSUB (1) for VOBsub files
SUB_SOURCE_DEMUX (2) for subtitle embedded in the media file or DVD subs.
- If [source] is -1, will turn off subtitle display. If [source] less than -1,
- will cycle between the first subtitle of each currently available sources.
+ If [source] is -1, will turn off subtitle display.
+ If [value] is omitted or less than -1, will cycle between the first subtitle
+ of each currently available source (forward or backward respectively).
sub_file [value]
Display subtitle specifid by [value] for file subs. The [value] is
corresponding to ID_FILE_SUB_ID values reported by '-identify'.
- If [value] is -1, will turn off subtitle display. If [value] less than -1,
- will cycle all file subs.
+ If [value] is -1, will turn off subtitle display.
+ If [value] is omitted or less than -1, will cycle all file subs
+ (forward or backward respectively).
sub_vob [value]
Display subtitle specifid by [value] for vobsubs. The [value] is
corresponding to ID_VOBSUB_ID values reported by '-identify'.
- If [value] is -1, will turn off subtitle display. If [value] less than -1,
- will cycle all vobsubs.
+ If [value] is -1, will turn off subtitle display.
+ If [value] is omitted or less than -1, will cycle all vobsubs
+ (forward or backward respectively).
sub_demux [value]
Display subtitle specifid by [value] for subtitles from DVD or embedded
in media file. The [value] is corresponding to ID_SUBTITLE_ID values
reported by '-identify'. If [value] is -1, will turn off subtitle display.
- If [value] less than -1, will cycle all DVD subs or embedded subs.
+ If [value] is omitted or less than -1, will cycle all DVD subs or embedded subs
+ (forward or backward respectively).
sub_scale <value> [abs]
Adjust the subtitle size by +/- <value> or set it to <value> when [abs]
@@ -520,7 +522,7 @@ speed float 0.01 100 X X X as -speed
loop int -1 X X X as -loop
hr_seek string X X X as -hr-seek
pts_association_mode string X X X as -pts-association-mode
-pause flag 0 1 X 1 if paused, use with pausing_keep_force
+pause flag 0 1 X 1 if paused
filename string X file playing wo path
path string X file playing
demuxer string X demuxer used
diff --git a/DOCS/xml/cs/video.xml b/DOCS/xml/cs/video.xml
index f8c1fd5ca9..03aec6dc08 100644
--- a/DOCS/xml/cs/video.xml
+++ b/DOCS/xml/cs/video.xml
@@ -1753,7 +1753,7 @@ Configure by měl detekovat vaši DVB kartu. Pokud ne, vynuťte detekci pomocí
<screen>./configure --enable-dvb</screen>
Pokud máte ost hlavičky na nestandardním místě, nastavte cestu pomocí
<screen>
-./configure --with-extraincdir=<replaceable>zdrojový adresář DVB</replaceable>/ost/include
+./configure --extra-cflags=<replaceable>zdrojový adresář DVB</replaceable>/ost/include
</screen>
Pak kompilujte a instalujte obvyklým způsobem.</para>
diff --git a/DOCS/xml/de/video.xml b/DOCS/xml/de/video.xml
index ed0783df11..e6902b2922 100644
--- a/DOCS/xml/de/video.xml
+++ b/DOCS/xml/de/video.xml
@@ -1815,7 +1815,7 @@ make</screen>
</para>
<para>
-<screen>./configure --with-extraincdir=<replaceable>DVB-Source-Verzeichnis</replaceable>/ost/include
+<screen>./configure --extra-cflags=<replaceable>DVB-Source-Verzeichnis</replaceable>/ost/include
</screen>
</para>
diff --git a/DOCS/xml/en/video.xml b/DOCS/xml/en/video.xml
index 0c17340a0f..ffeef6d6c6 100644
--- a/DOCS/xml/en/video.xml
+++ b/DOCS/xml/en/video.xml
@@ -1274,7 +1274,7 @@ Alternatively, you can use a special kernel module, like this:
<step><para>
Then run <filename>configure</filename> again and pass the parameter
<option>--enable-svgalib_helper</option> as well as
- <option>--with-extraincdir=<replaceable>/path/to/svgalib_helper/sources/</replaceable>kernel/svgalib_helper</option>,
+ <option>--extra-cflags=<replaceable>/path/to/svgalib_helper/sources/</replaceable>kernel/svgalib_helper</option>,
where <replaceable>/path/to/svgalib_helper/sources/</replaceable> has to be
adjusted to wherever you extracted svgalib_helper sources.
</para></step>
diff --git a/DOCS/xml/es/video.xml b/DOCS/xml/es/video.xml
index 21fd299ad4..4695319f4f 100644
--- a/DOCS/xml/es/video.xml
+++ b/DOCS/xml/es/video.xml
@@ -1823,7 +1823,7 @@ fuerce la detección con
<para>Si tiene cabeceras ost en una ruta no estándar, establezca la ruta con</para>
-<para><screen>./configure --with-extraincdir=<replaceable>directorio de fuentes de DVB</replaceable>/ost/include
+<para><screen>./configure --extra-cflags=<replaceable>directorio de fuentes de DVB</replaceable>/ost/include
</screen></para>
<para>Y luego compile e instale del modo habitual.</para>
diff --git a/DOCS/xml/fr/video.xml b/DOCS/xml/fr/video.xml
index 2467c68e4d..6a1da6de5f 100644
--- a/DOCS/xml/fr/video.xml
+++ b/DOCS/xml/fr/video.xml
@@ -1800,7 +1800,7 @@ téléchargé
<step><para>
Puis lancez de nouveau <filename>configure</filename> en passant les
paramètres <option>--enable-svgalib_helper</option> et
- <option>--with-extraincdir=/path/to/svgalib_helper/sources</option>,
+ <option>--extra-cflags=/path/to/svgalib_helper/sources</option>,
ajustés à l'emplacement où vous avez décompressé les sources.
</para></step>
<step><para>
@@ -1996,7 +1996,7 @@ avec
Si vous avez des entêtes ost dans un chemin non-standard, corrigez
ce chemin avec
<screen>
-./configure --with-extraincdir=
+./configure --extra-cflags=
<replaceable>répertoire source DVB</replaceable>/ost/include
</screen>
Ensuite compilez et installez comme d'habitude.</para>
diff --git a/DOCS/xml/hu/video.xml b/DOCS/xml/hu/video.xml
index ee7ef9e4f9..e736dfa4de 100644
--- a/DOCS/xml/hu/video.xml
+++ b/DOCS/xml/hu/video.xml
@@ -1274,7 +1274,7 @@ Alternatívaként használhatsz egy speciális kernel modult, így:
<step><para>
Ezután futtasd le a <filename>configure</filename>-t újra és add meg neki a
<option>--enable-svgalib_helper</option> és a
- <option>--with-extraincdir=<replaceable>/eleresi/ut/svgalib_helper/forrasahoz/</replaceable>kernel/svgalib_helper</option>
+ <option>--extra-cflags=<replaceable>/eleresi/ut/svgalib_helper/forrasahoz/</replaceable>kernel/svgalib_helper</option>
paramétereket, ahol a <replaceable>/eleresi/ut/svgalib_helper/forrasahoz/</replaceable> könyvtárat
az svgalib_helper kicsomagolt forrását tartalmazó könyvtárnak megfelelően kell beállítani.
</para></step>
diff --git a/DOCS/xml/it/video.xml b/DOCS/xml/it/video.xml
index f431829b95..cf980b0df2 100644
--- a/DOCS/xml/it/video.xml
+++ b/DOCS/xml/it/video.xml
@@ -1630,7 +1630,7 @@ Alternativamente puoi usare uno modulo del kernel speciale, come questo:
<step><para>
Poi esegui di nuovo <filename>configure</filename> passando i parametri
<option>--enable-svgalib_helper</option> e
- <option>--with-extraincdir=<replaceable>/percorso/dei/sorgenti/di/svgalib_helper</replaceable>kernel/svgalib_helper</option>,
+ <option>--extra-cflags=<replaceable>/percorso/dei/sorgenti/di/svgalib_helper</replaceable>kernel/svgalib_helper</option>,
dove <replaceable>/percorso/dei/sorgenti/di/svgalib_helper</replaceable> deve
puntare al percorso dove hai estratto i sorgenti di svgalib_helper.
</para></step>
@@ -1816,7 +1816,7 @@ Configure dovrebbe rilevare la tua scheda DVB. Se non lo fa, forzalo con
<screen>./configure --enable-dvb</screen>
Se hai gli header ost in un percorso non standard, imposta il percorso con
<screen>
-./configure --with-extraincdir=<replaceable>directory sorgenti DVB</replaceable>/ost/include
+./configure --extra-cflags=<replaceable>directory sorgenti DVB</replaceable>/ost/include
</screen>
Poi compila ed installa come al solito.</para>
diff --git a/DOCS/xml/pl/video.xml b/DOCS/xml/pl/video.xml
index e9b97e438a..37cf6c8787 100644
--- a/DOCS/xml/pl/video.xml
+++ b/DOCS/xml/pl/video.xml
@@ -1762,7 +1762,7 @@ możesz wymusić obsługę DVB używając
<para>Jeżeli Twoje nagłówki 'ost' znajdują się w niestandardowym miejscu,
ustaw ścieżkę przy pomocy</para>
-<para><screen>./configure --with-extraincdir=<replaceable>katalog ze źródłami DVB</replaceable>/ost/include</screen></para>
+<para><screen>./configure --extra-cflags=<replaceable>katalog ze źródłami DVB</replaceable>/ost/include</screen></para>
<para>Po czym skompiluj i zainstaluj jak zwykle.</para>
diff --git a/DOCS/xml/ru/video.xml b/DOCS/xml/ru/video.xml
index 8f94a461b5..409308a774 100644
--- a/DOCS/xml/ru/video.xml
+++ b/DOCS/xml/ru/video.xml
@@ -1766,7 +1766,7 @@ Ville Syrjala имеет
<screen>./configure --enable-dvb</screen>
Если заголовочные файлы ost находятся не в стандартных каталогах, укажите путь с
<screen>
-./configure --with-extraincdir=<replaceable>каталог исходников DVB</replaceable>/ost/include
+./configure --extra-cflags=<replaceable>каталог исходников DVB</replaceable>/ost/include
</screen>
Затем компилируйте и устанавливайте как обычно.
</para>
diff --git a/Makefile b/Makefile
index 7a6a4b0ff0..da2033392b 100644
--- a/Makefile
+++ b/Makefile
@@ -505,6 +505,7 @@ SRCS_COMMON = asxparser.c \
libvo/osd.c \
libvo/sub.c \
osdep/findfiles.c \
+ osdep/numcores.c \
osdep/$(GETCH) \
osdep/$(TIMER) \
stream/open.c \
diff --git a/av_sub.c b/av_sub.c
index 101f9a0291..e850e2ffa2 100644
--- a/av_sub.c
+++ b/av_sub.c
@@ -83,6 +83,8 @@ int decode_avsub(struct sh_sub *sh, uint8_t **data, int *size,
*endpts = *pts + sub.end_display_time / 1000.0;
*pts += sub.start_display_time / 1000.0;
}
+ if (got_sub && vo_spudec && sub.num_rects == 0)
+ spudec_set_paletted(vo_spudec, NULL, 0, NULL, 0, 0, 0, 0, *pts, *endpts);
if (got_sub && sub.num_rects > 0) {
switch (sub.rects[0]->type) {
case SUBTITLE_BITMAP:
diff --git a/command.c b/command.c
index c1519d001d..4408a584a6 100644
--- a/command.c
+++ b/command.c
@@ -297,14 +297,14 @@ static int mp_property_playback_speed(m_option_t *prop, int action,
return M_PROPERTY_ERROR;
M_PROPERTY_CLAMP(prop, *(float *) arg);
opts->playback_speed = *(float *) arg;
- build_afilter_chain(mpctx, mpctx->sh_audio, &ao_data);
+ reinit_audio_chain(mpctx);
return M_PROPERTY_OK;
case M_PROPERTY_STEP_UP:
case M_PROPERTY_STEP_DOWN:
opts->playback_speed += (arg ? *(float *) arg : 0.1) *
(action == M_PROPERTY_STEP_DOWN ? -1 : 1);
M_PROPERTY_CLAMP(prop, opts->playback_speed);
- build_afilter_chain(mpctx, mpctx->sh_audio, &ao_data);
+ reinit_audio_chain(mpctx);
return M_PROPERTY_OK;
}
return m_property_float_range(prop, action, arg, &opts->playback_speed);
@@ -324,10 +324,8 @@ static int mp_property_filename(m_option_t *prop, int action, void *arg,
char *f;
if (!mpctx->filename)
return M_PROPERTY_UNAVAILABLE;
- if (((f = strrchr(mpctx->filename, '/'))
- || (f = strrchr(mpctx->filename, '\\'))) && f[1])
- f++;
- else
+ f = (char *)mp_basename(mpctx->filename);
+ if (!*f)
f = mpctx->filename;
return m_property_string_ro(prop, action, arg, f);
}
@@ -1551,10 +1549,7 @@ static int mp_property_sub(m_option_t *prop, int action, void *arg,
sub_name = ass_track->name;
#endif
if (sub_name) {
- char *tmp, *tmp2;
- tmp = sub_name;
- if ((tmp2 = strrchr(tmp, '/')))
- tmp = tmp2 + 1;
+ const char *tmp = mp_basename(sub_name);
snprintf(*(char **) arg, 63, "(%d) %s%s",
mpctx->set_of_sub_pos + 1,
@@ -2502,8 +2497,8 @@