diff options
author | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2010-01-25 14:34:56 +0200 |
---|---|---|
committer | Uoti Urpala <uau@glyph.nonexistent.invalid> | 2010-01-25 14:34:56 +0200 |
commit | 47a04d40f35a02a64f8410ee684affc5f0af894f (patch) | |
tree | a32a4f9d4901a6a1ca1a8a763627cd795ab5fb3d | |
parent | ffc3db22395b2a505e2f9ef6e805650c9b375731 (diff) | |
parent | a91c19964de606c8002531cbb87aa6de3d89508f (diff) | |
download | mpv-47a04d40f35a02a64f8410ee684affc5f0af894f.tar.bz2 mpv-47a04d40f35a02a64f8410ee684affc5f0af894f.tar.xz |
Merge svn changes up to r30250
-rw-r--r-- | DOCS/man/zh_CN/mplayer.1 | 33 | ||||
-rw-r--r-- | DOCS/tech/wishlist | 6 | ||||
-rw-r--r-- | etc/codecs.conf | 12 | ||||
-rw-r--r-- | libmpcodecs/vf_crop.c | 2 | ||||
-rw-r--r-- | libmpdemux/mp_taglists.c | 1 | ||||
-rw-r--r-- | libvo/vo_fbdev.c | 13 | ||||
-rw-r--r-- | libvo/vo_fbdev2.c | 8 |
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; } |