summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUoti Urpala <uau@glyph.nonexistent.invalid>2010-03-09 22:47:41 +0200
committerUoti Urpala <uau@glyph.nonexistent.invalid>2010-03-09 22:47:41 +0200
commit8e593f5a34b4827d6ec97dd875c802267a6f03b7 (patch)
tree648fde930e4a2b836a9803b17944c370a9608c72
parentbf31241e932818df3bc2eba55cf06c2b9ee3f56f (diff)
parent5c10618fa191d306e6d6674dd2fc7ad46476f85d (diff)
downloadmpv-8e593f5a34b4827d6ec97dd875c802267a6f03b7.tar.bz2
mpv-8e593f5a34b4827d6ec97dd875c802267a6f03b7.tar.xz
Merge svn changes up to r30529
-rw-r--r--DOCS/man/hu/mplayer.144
-rw-r--r--DOCS/man/zh_CN/mplayer.141
-rw-r--r--DOCS/xml/hu/usage.xml6
-rw-r--r--Makefile12
-rw-r--r--etc/codecs.conf8
-rw-r--r--help/help_mp-hu.h2
-rw-r--r--loader/dshow/DS_Filter.c1
-rw-r--r--loader/ldt_keeper.c16
-rw-r--r--loader/win32.h9
-rw-r--r--spudec.c33
-rw-r--r--stream/network.c9
11 files changed, 114 insertions, 67 deletions
diff --git a/DOCS/man/hu/mplayer.1 b/DOCS/man/hu/mplayer.1
index 86ddc2d752..e81f276a82 100644
--- a/DOCS/man/hu/mplayer.1
+++ b/DOCS/man/hu/mplayer.1
@@ -1,4 +1,4 @@
-.\" Synced with r30414
+.\" Synced with r30503
.\" MPlayer (C) 2000-2010 MPlayer Team
.\" Ezt a man oldalt Gabucino, Diego Biurrun s Jonas Jermann kszti/ksztette
.\" Karbantart: Gabrov
@@ -33,7 +33,7 @@
.\" Nv
.\" --------------------------------------------------------------------------
.
-.TH MPlayer 1 "2010. 01. 24." "MPlayer Project" "A film lejtsz"
+.TH MPlayer 1 "2010. 02. 06." "MPlayer Project" "A film lejtsz"
.
.SH NV
mplayer \- film lejtsz
@@ -443,8 +443,6 @@ Teletext ki/\:bekapcsolsa.
Ugrs a kvetkez/\:elz teletext oldalra.
.RE
.PD 1
-.PP
-.RS
.
.TP
.B irnyts egrrel
@@ -2875,6 +2873,22 @@ Egy fjl \-v kapcsolval trtn lejtszsval kilistzza az elrhet eszkzket
.PD 1
.
.TP
+.B kai (csak OS/2)
+OS/2 KAI audi kimeneti vezrl
+.PD 0
+.RSs
+.IPs uniaud
+UNIAUD md knyszertse
+.IPs dart
+DART md knyszertse
+.IPs (no)share
+Audi megosztott vagy kizrlagos mdban trtn megnyitsa.
+.IPs bufsize=<mret>
+Belltja a buffer mrett <mret> nagysgra mintkban (alaprtelmezett: 2048).
+.RE
+.PD 1
+.
+.TP
.B dart (csak OS/2)
OS/2 DART audi kimeneti vezrl
.PD 0
@@ -3531,7 +3545,9 @@ Hasznld a nochroma\-deint kapcsolt, ha csak a fnyerssget akarod vltoztatni
szeretnl a fejlett deinterlacing-en.
Hasznos lass vide memrinl.
.IPs pullup
-Inverz telecine-t prbl alkalmazni, mozgs adaptv idbeli deinterlace kell hozz.
+Megprblja kihagyni a deinterlacing-et a progresszv kockknl, hasznos,
+ha telecine-s tartalmat nzel, de gyors vide hardver kell hozz a nagy felbontsokhoz.
+Csak mozgs adaptv idbeli deinterlace mellett mkdik.
.IPs colorspace
Kivlasztja a sznteret a YUV-RGB konverzihoz.
ltalban a BT.601 hasznlatos a szabvny felbonts (SD) tartalomhoz s
@@ -3866,8 +3882,9 @@ Hasznlja a GL_MESA_ycbcr_texture bvtmnyt a YUV-RGB konverziknl.
A legtbb esetben ez valsznleg lassabb, mint az RGB-be trtn szoftveres konverzi.
.IPs yuv=<n>
Kivlasztja a YUV s az RGB konverzi tpust.
+Az alaprtelmezett az automatikus dnts a 0 s a 2 kztt.
.RSss
-0: Szoftveres konverzi hasznlata (alaprtelmezett).
+0: Szoftveres konverzi hasznlata.
Kompatibilis minden OpenGL verzival.
Fnyerssg, kontraszt s teltettsg belltst teszi lehetv.
.br
@@ -4531,7 +4548,7 @@ Audi szr opciinak halad szint megadsa:
.IPs force=<0\-7>
Az audi szr beillesztsnek mdjt rja el a kvetkezkppen:
.RSss
-0: Teljesen automatikus szr beilleszts.
+0: Teljesen automatikus szr beilleszts (jelenleg azonos az 1-gyel).
.br
1: Pontossgra optimalizlva (alaprtelmezett).
.br
@@ -5813,7 +5830,7 @@ A vgott kp pozcija, alaprtelmezettknt kzpen.
.PD 1
.
.TP
-.B cropdetect[=hatr:kerekts]
+.B cropdetect[=hatr:kerekts[:reset]]
Kiszmtja a szksges vgsi paramtereket s kirja a javasolt paramtereket
az stdout-ra.
.PD 0
@@ -5826,6 +5843,13 @@ Kszb, mely opcionlisan megadhat a semmitl (0) a mindenig (255) (alaprtelme
Az offset automatikusan belltdik a vide kzepre.
Hasznlj 2-t csak a pros dimenzikhoz (4:2:2 videnl szksges).
16 a legjobb a legtbb vide codec-nl.
+.br
+.IPs <reset>
+Szmll, mely megadja, hogy hny kpkocka utn fogja trlni a cropdetect
+az elzleg detektlt legnagyobb vide mretet s vgzi el jra az optimlis
+vgsi terlet megllaptst. Ez hasznos lehet, ha csatorna logk zavarjk
+a vide terlett. A 0 azt jelenti, hogy soha nem resetel s a lejtszs
+sorn tallt legnagyobb terletet hasznlja. (alaprtelmezett: 0).
.RE
.PD 1
.
@@ -7103,8 +7127,8 @@ Vltozatlan magassg mellett a framerta felezdik.
.B tfields[=md[:mez_dominancia]]
Ideiglenes mez sztvlaszts \- a mezket kockkra vgja, megduplzva a
kimeneti framertt.
-Csakgy mint a telecine szr, a tfields is csak a MEncoder-rel
-mkdik s csak ha az \-fps s \-ofps be van lltva a
+Csakgy mint a telecine szr, a tfields sem biztos, hogy helyesen mkdik,
+csak ha MEncoder-rel hasznlod s az \-fps s \-ofps be van lltva a
kvnt (dupla) framertra!
.PD 0
.RSs
diff --git a/DOCS/man/zh_CN/mplayer.1 b/DOCS/man/zh_CN/mplayer.1
index 83bcde4f7e..7fae694b8d 100644
--- a/DOCS/man/zh_CN/mplayer.1
+++ b/DOCS/man/zh_CN/mplayer.1
@@ -2668,6 +2668,22 @@ DirectX DirectSound 音频输出驱动
.PD 1
.
.TP
+.B kai(仅适用于 OS/2)
+OS/2 KAI 音频输出驱动
+.PD 0
+.RSs
+.IPs uniaud
+强制使用 UNIAUD 模式
+.IPs dart
+强制使用 DART 模式
+.IPs (no)share
+以共享或独占模式打开音频
+.IPs bufsize=<size>
+设置缓冲大小为 <size>,以采样数为单位(默认值:2048)。
+.RE
+.PD 1
+.
+.TP
.B dart(仅适用于 OS/2)
OS/2 DART 音频输出驱动
.PD 0
@@ -3285,7 +3301,9 @@ ffodivxvdpau 一同使用)
使用 nochroma\-deint 以使其仅作用于亮度通道,从而加速高级反隔行扫描算法。
对于低速显存很有用。
.IPs pullup
-尝试应用反电视电影模式,需要使用运动自适应的瞬间反隔行扫描算法。
+尝试跳过逐行扫描帧的解除隔行扫描操作,适用于观看电视图像化的内容,高分辨率
+的情况下需要高速的视频硬件。
+仅适用于运动自适应瞬时解除隔行扫描操作。
.IPs colorspace
选择 YUV 至 RGB 转换时使用的色彩空间
通常标清(SD)内容应使用 BT.601,而高清(HD)内容用 BT.709。
@@ -3586,37 +3604,38 @@ OSD 颜色(默认值是:0x00ffffff,对应不透明的白色)。
在大多数情况下,该方法很可能比使用软件转换成 RGB 慢。
.IPs yuv=<n>
选择 YUV 到 RGB 转换的类型。
+默认方式是自动侦测,选取 0 到 2 之间的一个值。
.RSss
-0: 使用软件转换 (默认)。
+0:使用软件转换 。
兼容于所有的 OpenGL 版本。
提供亮度, 对比度和饱和度控制。
.br
-1: 使用寄存器组合。
+1:使用寄存器组合。
这里使用 nVidia 专用的扩展 (GL_NV_register_combiners)。
至少需要三个纹理单位。提供饱和度和色调的控制。
此方法快速但不精确。
.br
-2: 使用片断程序。
+2:使用片断程序。
需要 GL_ARB_fragment_program 扩展和至少三个纹理单位。
提供亮度, 对比度, 饱和度和色调控制。
.br
-3: 使用片断程序, 用到 POW 指令。
+3:使用片断程序, 用到 POW 指令。
需要 GL_ARB_fragment_program 扩展和至少三个纹理单位。
提供亮度, 对比度, 饱和度, 色调和 gamma 控制。
对红, 绿和蓝色, Gamma 也能被独立设置。
方法 4 通常更快。
.br
-4: 使用片断程序及附加的查询。
+4:使用片断程序及附加的查询。
需要 GL_ARB_fragment_program 扩展和至少四个纹理单位。
提供亮度, 对比度, 饱和度, 色调和 gamma 控制。
对红, 绿和蓝色, Gamma 也能被独立设置。
.br
-5: 使用 ATI 专用的方式(用于较老的显卡)。
+5:使用 ATI 专用的方式(用于较老的显卡)。
这里使用 ATI 专用的扩展(GL_ATI_fragment_shader——不是
GL_ARB_fragment_shader!)。至少需要三个纹理单位。提供饱和度和色调的控制。
此方法快速但不精确。
.br
-6: 使用 3D 纹理通过查询做转换。
+6:使用 3D 纹理通过查询做转换。
需要 GL_ARB_fragment_program 扩展和至少四个纹理单位。
既然使用一个纹理和边框像素, 在某些(所有?) ATI 卡上 (软件模拟) 极其慢。
提供亮度, 对比度, 饱和度, 色调和 gamma 控制。
@@ -4197,7 +4216,7 @@ mplayer video.nut \-vf format=bgr15 \-vo tga
.IPs force=<0\-7>
锁定音频过滤器的插入为下面其中之一:
.RSss
-0: 使用完全自动的过滤器插入。
+0: 使用完全自动的过滤器插入(目前与选项 1 相同)。
.br
1: 精度优化 (默认)。
.br
@@ -6596,8 +6615,8 @@ CPU的运算能力。
.TP
.B tfields[=mode[:field_dominance]]
瞬时扫描场分离——将扫描场分离成帧,输出帧率加倍。
-就像telecine滤镜,tfields只在MEncoder中能正常工作,并且只在\-fps
-和\-ofps设置成所需的(加倍的)帧率的情况下!
+就像 telecine 滤镜,tfields 可能无法正常工作,除非用于 MEncoder,并且 \-fps
+和 \-ofps 设置成所需的(加倍的)帧率的情况下!
.PD 0
.RSs
.IPs <mode>
diff --git a/DOCS/xml/hu/usage.xml b/DOCS/xml/hu/usage.xml
index b3463c93bd..9df776c7ec 100644
--- a/DOCS/xml/hu/usage.xml
+++ b/DOCS/xml/hu/usage.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- synced with r29001 -->
+<!-- synced with r30449 -->
<chapter id="usage">
<title>Használat</title>
@@ -934,8 +934,8 @@ szűrővel, és még többet is. Sajnos az alopciók még komplikáltabbak.
<listitem><para>
A fennmaradó alopciók megadják, hogy melyik csatornát milyen mértékben kell
bekeverni mindegyik másik csatornába. Ez az igazán bonyolult dolog. Könnyítésként
- válaszd szét az alopciókat különböző részekre, egy rész minden egyes kimeneti
- csatornához. Minden egy részen belül található alopció egy bemeneti csatornának
+ válaszd szét az alopciókat különböző részekre, egy rész minden egyes bemeneti
+ csatornához. Minden egy részen belül található alopció egy kimeneti csatornának
felel meg. A szám, amit megadsz, a bemeneti csatorna kimeneti csatornába
történő bekeverésének százalékos aránya lesz.
</para>
diff --git a/Makefile b/Makefile
index eef6f927d6..3766a14e76 100644
--- a/Makefile
+++ b/Makefile
@@ -107,7 +107,7 @@ SRCS_COMMON-$(HAVE_SYS_MMAN_H) += libaf/af_export.c osdep/mmap_anon.c
SRCS_COMMON-$(JPEG) += libmpcodecs/vd_ijpg.c
SRCS_COMMON-$(LADSPA) += libaf/af_ladspa.c
SRCS_COMMON-$(LIBA52) += libmpcodecs/ad_liba52.c
-SRCS_COMMON-$(LIBA52_INTERNAL) += liba52/crc.c \
+SRCS_LIBA52_INTERNAL += liba52/crc.c \
liba52/resample.c \
liba52/bit_allocate.c \
liba52/bitstream.c \
@@ -115,6 +115,8 @@ SRCS_COMMON-$(LIBA52_INTERNAL) += liba52/crc.c \
liba52/imdct.c \
liba52/parse.c \
+SRCS_COMMON-$(LIBA52_INTERNAL) += $(SRCS_LIBA52_INTERNAL)
+
SRCS_COMMON-$(LIBASS) += ass_mp.c \
libmpcodecs/vf_ass.c \
@@ -196,8 +198,10 @@ SRCS_MP3LIB-$(ARCH_X86_32) += mp3lib/decode_i586.c \
SRCS_MP3LIB-$(HAVE_ALTIVEC) += mp3lib/dct64_altivec.c
SRCS_MP3LIB-$(HAVE_MMX) += mp3lib/decode_mmx.c
SRCS_MP3LIB-$(HAVE_SSE) += mp3lib/dct64_sse.c
-SRCS_COMMON-$(MP3LIB) += libmpcodecs/ad_mp3lib.c mp3lib/sr1.c \
+SRCS_MP3LIB += mp3lib/sr1.c \
$(SRCS_MP3LIB-yes)
+SRCS_COMMON-$(MP3LIB) += libmpcodecs/ad_mp3lib.c \
+ $(SRCS_MP3LIB)
SRCS_COMMON-$(MUSEPACK) += libmpcodecs/ad_mpc.c \
libmpdemux/demux_mpc.c
@@ -908,7 +912,7 @@ codec-cfg-test$(EXESUF): codec-cfg.c codecs.conf.h help_mp.h $(TEST_OBJS)
codecs2html$(EXESUF): codec-cfg.c help_mp.h $(TEST_OBJS)
$(CC) -I. -DCODECS2HTML -o $@ $^
-liba52/test$(EXESUF): cpudetect.o $(filter liba52/%,$(SRCS_COMMON:.c=.o)) -lm
+liba52/test$(EXESUF): cpudetect.o $(SRCS_LIBA52_INTERNAL:.c=.o) -lm
libvo/aspecttest$(EXESUF): libvo/aspect.o libvo/geometry.o $(TEST_OBJS)
@@ -917,7 +921,7 @@ LOADER_TEST_OBJS = $(filter loader/%,$(SRCS_COMMON:.c=.o)) libmpdemux/aviprint.o
loader/qtx/list$(EXESUF) loader/qtx/qtxload$(EXESUF): CFLAGS += -g
loader/qtx/list$(EXESUF) loader/qtx/qtxload$(EXESUF): $(LOADER_TEST_OBJS)
-mp3lib/test$(EXESUF) mp3lib/test2$(EXESUF): $(filter mp3lib/%,$(SRCS_COMMON:.c=.o)) libvo/aclib.o cpudetect.o $(TEST_OBJS)
+mp3lib/test$(EXESUF) mp3lib/test2$(EXESUF): $(SRCS_MP3LIB:.c=.o) libvo/aclib.o cpudetect.o $(TEST_OBJS)
TESTS = codecs2html codec-cfg-test liba52/test libvo/aspecttest \
mp3lib/test mp3lib/test2
diff --git a/etc/codecs.conf b/etc/codecs.conf
index fffb1e0c2f..df379171da 100644
--- a/etc/codecs.conf
+++ b/etc/codecs.conf
@@ -1674,6 +1674,14 @@ videocodec indeo3xa
dll "vid_iv32.xa"
out YVU9
+videocodec ffindeo5
+ info "FFmpeg Indeo 5"
+ status working
+ fourcc IV50
+ driver ffmpeg
+ dll indeo5
+ out YVU9
+
; DV: qdv is more stable... libdv is slow, mcdv is unstable
videocodec ffdv
diff --git a/help/help_mp-hu.h b/help/help_mp-hu.h
index 5a3735d188..673ae214bd 100644
--- a/help/help_mp-hu.h
+++ b/help/help_mp-hu.h
@@ -3,7 +3,7 @@
//... Okay enough of the hw, now send the other two!
//
// Updated by: Gabrov <gabrov@freemail.hu>
-// Sync'ed with help_mp-en.h r30044 (2010. 01. 16.)
+// Sync'ed with help_mp-en.h r30515 (2010. 02. 06.)
// ========================= MPlayer help ===========================
diff --git a/loader/dshow/DS_Filter.c b/loader/dshow/DS_Filter.c
index 42b47b8626..e3102cf264 100644
--- a/loader/dshow/DS_Filter.c
+++ b/loader/dshow/DS_Filter.c
@@ -209,6 +209,7 @@ DS_Filter* DS_FilterCreate(const char* dllname, const GUID* id,
enum_pins->vt->Reset(enum_pins);
result = enum_pins->vt->Next(enum_pins, (ULONG)256, (IPin**)array, &fetched);
+ enum_pins->vt->Release(enum_pins);
Debug printf("Pins enumeration returned %ld pins, error is %x\n", fetched, (int)result);
for (i = 0; i < fetched; i++)
diff --git a/loader/ldt_keeper.c b/loader/ldt_keeper.c
index adbe9900c9..35025888ca 100644
--- a/loader/ldt_keeper.c
+++ b/loader/ldt_keeper.c
@@ -60,14 +60,10 @@ int modify_ldt(int func, void *ptr, unsigned long bytecount);
#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
#include <machine/segments.h>
#include <machine/sysarch.h>
-#endif
-
-#if defined(__APPLE__)
+#elif defined(__APPLE__)
#include <architecture/i386/table.h>
#include <i386/user_ldt.h>
-#endif
-
-#ifdef __svr4__
+#elif defined(__svr4__)
#include <sys/segment.h>
#include <sys/sysi86.h>
@@ -238,9 +234,7 @@ ldt_fs_t* Setup_LDT_Keeper(void)
perror("install_fs");
printf("Couldn't install fs segment, expect segfault\n");
}
-#endif /*linux*/
-
-#if defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__APPLE__)
+#elif defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__DragonFly__) || defined(__APPLE__)
{
unsigned long d[2];
@@ -262,9 +256,7 @@ ldt_fs_t* Setup_LDT_Keeper(void)
#endif
}
}
-#endif /* __NetBSD__ || __FreeBSD__ || __OpenBSD__ || __DragonFly__ || __APPLE__ */
-
-#if defined(__svr4__)
+#elif defined(__svr4__)
{
struct ssd ssd;
ssd.sel = LDT_SEL(TEB_SEL_IDX);
diff --git a/loader/win32.h b/loader/win32.h
index 1e90827da0..bc2a28aeb8 100644
--- a/loader/win32.h
+++ b/loader/win32.h
@@ -12,15 +12,6 @@
#include "wine/winbase.h"
#include "com.h"
-#ifdef AVIFILE
-#ifdef __GNUC__
-#include "avm_output.h"
-#ifndef __cplusplus
-#define printf(a, ...) avm_printf("Win32 plugin", a, ## __VA_ARGS__)
-#endif
-#endif
-#endif
-
void my_garbagecollection(void);
typedef struct {
diff --git a/spudec.c b/spudec.c
index 05ec81f514..e03328ab8b 100644
--- a/spudec.c
+++ b/spudec.c
@@ -175,14 +175,9 @@ static inline int mkalpha(int i)
{
/* In mplayer's alpha planes, 0 is transparent, then 1 is nearly
opaque upto 255 which is transparent */
- switch (i) {
- case 0xf:
- return 1;
- case 0:
- return 0;
- default:
- return (0xf - i) << 4;
- }
+ // extend 4 -> 8 bit
+ i |= i << 4;
+ return (uint8_t)(-i);
}
/* Cut the sub to visible part */
@@ -359,7 +354,7 @@ static void compute_palette(spudec_handle_t *this, packet_t *packet)
static void spudec_process_control(spudec_handle_t *this, int pts100)
{
- int a,b; /* Temporary vars */
+ int a,b,c,d; /* Temporary vars */
unsigned int date, type;
unsigned int off;
unsigned int start_off = 0;
@@ -422,10 +417,22 @@ static void spudec_process_control(spudec_handle_t *this, int pts100)
break;
case 0x04:
/* Alpha */
- this->alpha[0] = this->packet[off] >> 4;
- this->alpha[1] = this->packet[off] & 0xf;
- this->alpha[2] = this->packet[off + 1] >> 4;
- this->alpha[3] = this->packet[off + 1] & 0xf;
+ a = this->packet[off] >> 4;
+ b = this->packet[off] & 0xf;
+ c = this->packet[off + 1] >> 4;
+ d = this->packet[off + 1] & 0xf;
+ // Note: some DVDs change these values to create a fade-in/fade-out effect
+ // We can not handle this, so just keep the highest value during the display time.
+ if (display) {
+ a = FFMAX(a, this->alpha[0]);
+ b = FFMAX(b, this->alpha[1]);
+ c = FFMAX(c, this->alpha[2]);
+ d = FFMAX(d, this->alpha[3]);
+ }
+ this->alpha[0] = a;
+ this->alpha[1] = b;
+ this->alpha[2] = c;
+ this->alpha[3] = d;
mp_msg(MSGT_SPUDEC,MSGL_DBG2,"Alpha %d, %d, %d, %d\n",
this->alpha[0], this->alpha[1], this->alpha[2], this->alpha[3]);
off+=2;
diff --git a/stream/network.c b/stream/network.c
index 0e1771113f..5802b85c67 100644
--- a/stream/network.c
+++ b/stream/network.c
@@ -68,6 +68,11 @@ int network_ipv4_only_proxy = 0;
const mime_struct_t mime_type_table[] = {
+#ifdef CONFIG_LIBAVFORMAT
+ // Flash Video
+ { "video/x-flv", DEMUXER_TYPE_LAVF_PREFERRED},
+ { "video/quicktime", DEMUXER_TYPE_LAVF_PREFERRED },
+#endif
// MP3 streaming, some MP3 streaming server answer with audio/mpeg
{ "audio/mpeg", DEMUXER_TYPE_AUDIO },
// MPEG streaming
@@ -101,10 +106,6 @@ const mime_struct_t mime_type_table[] = {
// NullSoft Streaming Video
{ "video/nsv", DEMUXER_TYPE_NSV},
{ "misc/ultravox", DEMUXER_TYPE_NSV},
-#ifdef CONFIG_LIBAVFORMAT
- // Flash Video
- { "video/x-flv", DEMUXER_TYPE_LAVF},
-#endif
{ NULL, DEMUXER_TYPE_UNKNOWN},
};