Mac OS X 和 WMV9

jserv 在十八日介绍了 Kostya Shishkov 在 FFmpeg-devel 提出的 [RFC - VC-1 I-frames decoder]。
由于以前的 win32codec 在 Mac OS X 下无法使用,所以我对此表现了很大的兴趣。

经过试验确定确实可以使用,但效率目前仍然十分低下,在我的 PB17" 上只能达到 2 frames/sec.

补丁可以从 http://jserv.sayya.org/mplayer/ffmpeg-vc1.patch.gz 下载
jserver 的 blog 在: http://blog.linux.org.tw/~jserv/archives/001726.html

实际运行效果如:

$ mplayer -vc ffwmv3 '/tmp/test (DVD 640x480 WMV9)[CRC 9FD2].avi'
MPlayer dev-SVN-r18764-4.0.1 (C) 2000-2006 MPlayer Team
AltiVec found
CPU: PowerPC

Playing /tmp/test (DVD 640x480 WMV9)[CRC 9FD2].avi.
AVI file format detected.
VIDEO: [WMV3] 640x480 24bpp 119.880 fps 1269.1 kbps (154.9 kbyte/s)
Clip info:
Software: VirtualDubMod 1.5.10.1 (build 2366/release)
SUB: Could not determine file format
Cannot load subtitles: /tmp/test (DVD 640x480 WMV9)[CRC 9FD2].txt
==========================================================================
Forced video codec: ffwmv3
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
[wmv3 @ 0x4f2770]This decoder is not supposed to produce picture. Dont report this as a bug!
[wmv3 @ 0x4f2770]Header: 4FF10A01
[wmv3 @ 0x4f2770]Profile 1:
frmrtq_postproc=7, bitrtq_postproc=31
LoopFilter=0, MultiRes=0, FastUVMV=0, Extended MV=0
Rangered=0, VSTransform=1, Overlap=1, SyncMarker=0
DQuant=0, Quantizer mode=0, Max B frames=0
[wmv3 @ 0x4f2770]Extra data: 16 bits left, value: 401F
Selected video codec: [ffwmv3] vfm: ffmpeg (FFmpeg M$ WMV3/WMV9)
==========================================================================
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
AUDIO: 48000 Hz, 2 ch, s16be, 192.0 kbit/12.50% (ratio: 24000->192000)
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
AO: [macosx] 48000Hz 2ch s16be (2 bytes per sample)
Starting playback...
[wmv3 @ 0x4f2770]I Frame: QP=3 ( 0/2)
[wmv3 @ 0x4f2770]Consumed 12055/12056 bits
VDec: vo config request - 640 x 480 (preferred colorspace: Planar YV12)
Could not find matching colorspace - retrying with -vf scale...
Opening video filter: [scale]
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is undefined - no prescaling applied.
SwScaler: using unscaled Planar YV12 -> Packed YUY2 special converter
VO: [macosx] 640x480 => 640x480 Packed YUY2
[wmv3 @ 0x4f2770]I Frame: QP=3 ( 0/2)000 72/ 72 27% 3% 7.5% 32 0
[wmv3 @ 0x4f2770]Consumed 14381/14384 bits
[wmv3 @ 0x4f2770]P Frame: QP=3 ( 0/2)000 76/ 76 27% 4% 7.2% 35 0
Error while decoding frame!
[wmv3 @ 0x4f2770]P Frame: QP=3 ( 0/2)001 80/ 80 26% 4% 6.8% 39 0
Error while decoding frame!
[wmv3 @ 0x4f2770]I Frame: QP=3 ( 0/2)001 84/ 84 24% 3% 6.5% 41 0
[wmv3 @ 0x4f2770]Consumed 36226/36232 bits
[wmv3 @ 0x4f2770]I Frame: QP=3 ( 0/2)000 88/ 88 24% 4% 6.2% 42 0
[wmv3 @ 0x4f2770]Consumed 43567/43568 bits
[wmv3 @ 0x4f2770]P Frame: QP=3 ( 0/2)000 92/ 92 25% 4% 6.0% 43 0
Error while decoding frame!
[wmv3 @ 0x4f2770]I Frame: QP=3 ( 0/2)000 96/ 96 24% 4% 5.8% 43 0
[wmv3 @ 0x4f2770]Consumed 58828/58832 bits
[wmv3 @ 0x4f2770]P Frame: QP=3 ( 0/2)000 100/100 24% 5% 5.6% 43 0
Error while decoding frame!
[wmv3 @ 0x4f2770]I Frame: QP=3 ( 0/2)000 104/104 23% 5% 5.4% 43 0
[wmv3 @ 0x4f2770]Consumed 76199/76200 bits
[wmv3 @ 0x4f2770]P Frame: QP=3 ( 0/2)001 108/108 24% 5% 5.3% 43 0
Error while decoding frame!
[wmv3 @ 0x4f2770]P Frame: QP=3 ( 0/2)001 112/112 23% 5% 5.1% 43 0
Error while decoding frame!
[wmv3 @ 0x4f2770]P Frame: QP=3 ( 0/2)002 116/116 22% 5% 5.0% 43 0
Error while decoding frame!
[wmv3 @ 0x4f2770]P Frame: QP=3 ( 0/2)002 120/120 21% 4% 4.9% 43 0
Error while decoding frame!
[wmv3 @ 0x4f2770]P Frame: QP=3 ( 0/2)002 124/124 21% 4% 4.9% 43 0
Error while decoding frame!
===== 以下输出省略 =====


mplayer -vc help 输出如以下:

$ mplayer -vc help  | grep ffwmv
ffwmv1 ffmpeg working FFmpeg M$ WMV1/WMV7 [wmv1]
ffwmv2 ffmpeg problems FFmpeg M$ WMV2/WMV8 [wmv2]
ffwmv3 ffmpeg crashing FFmpeg M$ WMV3/WMV9 [wmv3]


Technorati Tags: , ,

Posted by K*K Wed, 21 Jun 2006 14:02:00 +0800