summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUoti Urpala <uau@glyph.nonexistent.invalid>2010-01-25 14:34:56 +0200
committerUoti Urpala <uau@glyph.nonexistent.invalid>2010-01-25 14:34:56 +0200
commit47a04d40f35a02a64f8410ee684affc5f0af894f (patch)
treea32a4f9d4901a6a1ca1a8a763627cd795ab5fb3d
parentffc3db22395b2a505e2f9ef6e805650c9b375731 (diff)
parenta91c19964de606c8002531cbb87aa6de3d89508f (diff)
downloadmpv-47a04d40f35a02a64f8410ee684affc5f0af894f.tar.bz2
mpv-47a04d40f35a02a64f8410ee684affc5f0af894f.tar.xz
Merge svn changes up to r30250
-rw-r--r--DOCS/man/zh_CN/mplayer.133
-rw-r--r--DOCS/tech/wishlist6
-rw-r--r--etc/codecs.conf12
-rw-r--r--libmpcodecs/vf_crop.c2
-rw-r--r--libmpdemux/mp_taglists.c1
-rw-r--r--libvo/vo_fbdev.c13
-rw-r--r--libvo/vo_fbdev2.c8
7 files changed, 62 insertions, 13 deletions
diff --git a/DOCS/man/zh_CN/mplayer.1 b/DOCS/man/zh_CN/mplayer.1
index 274ef7c2b8..0c7a2d7a31 100644
--- a/DOCS/man/zh_CN/mplayer.1
+++ b/DOCS/man/zh_CN/mplayer.1
@@ -1,4 +1,4 @@
-.\" sync with en/mplayer.1 r30135
+.\" sync with en/mplayer.1 r30197
.\" Encoding: UTF-8
.\" Reminder of hard terms which need better/final solution later:
.\" /capture; playtree in parent list; colorkey; retrace; desync; downmix;
@@ -3623,9 +3623,21 @@ GL_ARB_fragment_shader!)。至少需要三个纹理单位。提供饱和度
对红, 绿和蓝色, Gamma 也能被独立设置。
速度比其他方法更多地依赖于 GPU 内存带宽。
.RE
+.IPs colorspace
+选择 YUV 至 RGB 转换所用的色彩空间
+.RSss
+.IPs 0
+使用 MPlayer 通常使用的程式(默认值)
+.IPs 1
+使用 ITU-R BT.601 色彩空间。
+.IPs 2
+使用 ITU-R BT.709 色彩空间。
+.IPs 3
+使用 SMPTE-240M 色彩空间。
+.RE
.IPs lscale=<n>
-选择缩放功能供调节发光性。
-仅对 yuv 模式 2, 3, 4 和 6 有效。
+选择用于亮度调整的调节函数。
+仅对 yuv 模式 2、3、4 和 6 有效。
.RSss
0: 使用简单线性过滤 (默认)。
.br
@@ -3714,6 +3726,21 @@ gamma 的设置只能是通过全局的 X 服务器的设置才有效。
.REss
.
.TP
+.B matrixview
+基于 OpenGL 的渲染器,生成类似于黑客帝国的滚动字幕效果。
+.PD 0
+.RSs
+.IPs cols=<n>
+所显示文字的列数。
+受限于图像缩放器的性能,值太小(<16)的话该选项很可能失效。
+不能被 16 整除的值也可能产生问题。
+.IPs rows=<n>
+所显示文字的行数。
+受限于图像缩放器的性能,值太小(<16)的话该选项很可能失效。
+不能被 16 整除的值也可能产生问题。
+.REss
+.
+.TP
.B "null\ \ \ "
不产生视频输出。
对基准测试有用。
diff --git a/DOCS/tech/wishlist b/DOCS/tech/wishlist
index 9ac16d8a23..2206b20f8e 100644
--- a/DOCS/tech/wishlist
+++ b/DOCS/tech/wishlist
@@ -111,7 +111,9 @@ Enhancements:
* implement Plextor compatible SCSI VCD reading
- * DirectX video acceleration -vo for Windows (similar to XvmC)
+ * DXVA / DXVA2 -vo for Windows
+
+ * GDI -vo for older windows versions
* hardware MPEG encoding support (Ati cards)
@@ -141,7 +143,7 @@ Enhancements:
Difficult stuff:
- * RE all closed source codecs (Voxware, VIVO, MVI2, MSS1/MSS2, Indeo 4/5, ...)
+ * RE all closed source codecs (Voxware, VIVO, MVI2, MSS1/MSS2, ...)
* support for Bink codec
diff --git a/etc/codecs.conf b/etc/codecs.conf
index 74043f6aff..3b065b7e05 100644
--- a/etc/codecs.conf
+++ b/etc/codecs.conf
@@ -1996,6 +1996,16 @@ videocodec smv2vfw
dll "smv2vfw.dll"
out BGR32,BGR24,BGR8,RGB32,RGB24,RGB8 flip
+videocodec cfhdvfw
+ status working
+ info "CineForm HD"
+ comment "set registry keys for half-res decoding"
+ status working
+ fourcc CFHD
+ driver vfw
+ dll "cinevfw.dll"
+ out BGR32
+
videocodec canopushq
status working
info "Canopus HQ Codec"
@@ -3414,7 +3424,7 @@ audiocodec qdmc
audiocodec ffqclp
info "FFmpeg QCLP audio"
- status buggy
+ status working
format 0x706C6351 ; "Qclp"
format 0x70637173 ; "sqcp"
format 0x716C6351 ; "Qclq"
diff --git a/libmpcodecs/vf_crop.c b/libmpcodecs/vf_crop.c
index 877c01d3b3..d3773cb1fa 100644
--- a/libmpcodecs/vf_crop.c
+++ b/libmpcodecs/vf_crop.c
@@ -131,7 +131,7 @@ static void draw_slice(struct vf_instance* vf,
if (x+w > vf->priv->crop_w) w = vf->priv->crop_w-x;
if (y+h > vf->priv->crop_h) h = vf->priv->crop_h-y;
//mp_msg(MSGT_VFILTER, MSGL_V, "%d %d %d %d\n", w,h,x,y);
- if ((w < 0) || (h < 0)) return;
+ if (w <= 0 || h <= 0) return;
vf_next_draw_slice(vf,src2,stride,w,h,x,y);
}
diff --git a/libmpdemux/mp_taglists.c b/libmpdemux/mp_taglists.c
index d40c17c34c..4b7c8ed331 100644
--- a/libmpdemux/mp_taglists.c
+++ b/libmpdemux/mp_taglists.c
@@ -38,6 +38,7 @@ static const struct mp_AVCodecTag mp_wav_tags[] = {
{ CODEC_ID_EAC3, MKTAG('E', 'A', 'C', '3')},
{ CODEC_ID_INTERPLAY_DPCM, MKTAG('I', 'N', 'P', 'A')},
{ CODEC_ID_MLP, MKTAG('M', 'L', 'P', ' ')},
+ { CODEC_ID_MP1, 0x50},
{ CODEC_ID_MUSEPACK7, MKTAG('M', 'P', 'C', ' ')},
{ CODEC_ID_MUSEPACK8, MKTAG('M', 'P', 'C', '8')},
{ CODEC_ID_NELLYMOSER, MKTAG('N', 'E', 'L', 'L')},
diff --git a/libvo/vo_fbdev.c b/libvo/vo_fbdev.c
index 12700108aa..96a173938c 100644
--- a/libvo/vo_fbdev.c
+++ b/libvo/vo_fbdev.c
@@ -692,8 +692,9 @@ static int fb_preinit(int reset)
mp_msg(MSGT_VO, MSGL_ERR, "notice: Can't open /dev/tty: %s\n", strerror(errno));
}
- fb_bpp = fb_vinfo.red.length + fb_vinfo.green.length +
- fb_vinfo.blue.length + fb_vinfo.transp.length;
+ fb_bpp = fb_vinfo.bits_per_pixel;
+ if (fb_bpp == 16)
+ fb_bpp = fb_vinfo.red.length + fb_vinfo.green.length + fb_vinfo.blue.length;
if (fb_bpp == 8 && !vo_dbpp) {
mp_msg(MSGT_VO, MSGL_ERR, "8 bpp output is not supported.\n");
@@ -811,6 +812,9 @@ static int config(uint32_t width, uint32_t height, uint32_t d_width,
fb_tty_fd = -1;
}
+ if (ioctl(fb_dev_fd, FBIOPUT_VSCREENINFO, &fb_vinfo))
+ // Intel drivers fail if we request a transparency channel
+ fb_vinfo.transp.length = fb_vinfo.transp.offset = 0;
if (ioctl(fb_dev_fd, FBIOPUT_VSCREENINFO, &fb_vinfo)) {
mp_msg(MSGT_VO, MSGL_ERR, "Can't put VSCREENINFO: %s\n", strerror(errno));
if (fb_tty_fd >= 0 && ioctl(fb_tty_fd, KDSETMODE, KD_TEXT) < 0) {
@@ -820,8 +824,9 @@ static int config(uint32_t width, uint32_t height, uint32_t d_width,
}
fb_pixel_size = fb_vinfo.bits_per_pixel / 8;
- fb_bpp = fb_vinfo.red.length + fb_vinfo.green.length +
- fb_vinfo.blue.length + fb_vinfo.transp.length;
+ fb_bpp = fb_vinfo.bits_per_pixel;
+ if (fb_bpp == 16)
+ fb_bpp = fb_vinfo.red.length + fb_vinfo.green.length + fb_vinfo.blue.length;
if (fb_bpp_we_want != fb_bpp)
mp_msg(MSGT_VO, MSGL_WARN, "requested %d bpp, got %d bpp!!!\n",
fb_bpp_we_want, fb_bpp);
diff --git a/libvo/vo_fbdev2.c b/libvo/vo_fbdev2.c
index a2b51debde..c44a216b75 100644
--- a/libvo/vo_fbdev2.c
+++ b/libvo/vo_fbdev2.c
@@ -319,13 +319,17 @@ static int query_format(uint32_t format)
set_bpp(&fb_vinfo, fb_target_bpp);
fb_vinfo.xres_virtual = fb_vinfo.xres;
fb_vinfo.yres_virtual = fb_vinfo.yres;
+ if (ioctl(fb_dev_fd, FBIOPUT_VSCREENINFO, &fb_vinfo))
+ // Needed for Intel framebuffer with 32 bpp
+ fb_vinfo.transp.length = fb_vinfo.transp.offset = 0;
if (ioctl(fb_dev_fd, FBIOPUT_VSCREENINFO, &fb_vinfo)) {
mp_msg(MSGT_VO, MSGL_ERR, "[fbdev2] Can't put VSCREENINFO: %s\n", strerror(errno));
return 0;
}
fb_pixel_size = fb_vinfo.bits_per_pixel / 8;
- fb_bpp = fb_vinfo.red.length + fb_vinfo.green.length +
- fb_vinfo.blue.length + fb_vinfo.transp.length;
+ fb_bpp = fb_vinfo.bits_per_pixel;
+ if (fb_bpp == 16)
+ fb_bpp = fb_vinfo.red.length + fb_vinfo.green.length + fb_vinfo.blue.length;
if (fb_bpp == fb_target_bpp)
return VFCAP_CSP_SUPPORTED|VFCAP_CSP_SUPPORTED_BY_HW|VFCAP_ACCEPT_STRIDE;
}