[MPlayer-users] Error playing VC1 file on 32 bits host, but it works on 64bits

Jason Garrett-Glaser darkshikari at gmail.com
Fri Nov 28 15:23:20 CET 2008


On Fri, Nov 28, 2008 at 4:23 AM, Jean-Yves Avenard <jyavenard at gmail.com> wrote:
> Hi...
>
> I have experienced some errors trying to play a BD rip of I Am Legend
> that contains a VC1 video stream..
>
> This is using the default mplayer package of Ubuntu 8.10 , as well as
> compiled from SVN trung (revision 28045 retrieved about an hour
> ago)...
>
> On 32 bit host:
> myth at pcliving:/data/videos/I Am Legend - HD 1080p$ mplayer -fs -vo xv
> I.Am.Legend.VC1..disk1.ts
> MPlayer dev-SVN-r28045-4.3.2 (C) 2000-2008 MPlayer Team
> CPU: Intel(R) Core(TM)2 CPU         E8500  @ 3.16GHz (Family: 6,
> Model: 23, Stepping: 10)
> CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
> Compiled with runtime CPU detection.
> Can't open joystick device /dev/input/js0: No such file or directory
> Can't init input joystick
>
> Playing I.Am.Legend.VC1.disk1.ts.
> TS file format detected.
> VIDEO VC1(pid=4129) AUDIO A52(pid=4136) NO SUBS (yet)!  PROGRAM N. 1
> Searching for VC1 sequence header... found
> VIDEO:  VC-1  1920x1080, 23.976 fps, header len: 33
> ==========================================================================
> Opening video decoder: [dmo] DMO video codecs
> DMO dll supports VO Optimizations 0 1
> DMO dll might use previous sample when requested
> GetOutput r=0x0   size:6220800  align:1
> StreamCount r=0x0  1  1
> Decoder supports the following formats: YV12 YUY2 UYVY YVYU RGB8
> RGB555 RGB565 RGB24 RGB32
> Decoder is capable of YUV output (flags 0x1b)
> VDec: vo config request - 1920 x 1080 (preferred colorspace: Packed YUY2)
> VDec: using Planar YV12 as output csp (no 0)
> Movie-Aspect is undefined - no prescaling applied.
> VO: [xv] 1920x1080 => 1920x1080 Planar YV12  [fs]
> Selected video codec: [wmvvc1dmo] vfm: dmo (Windows Media Video (VC-1)
> Advanced Profile Decoder)
> ==========================================================================
> ==========================================================================
> Opening audio decoder: [liba52] AC3 decoding with liba52
> Using SSE optimized IMDCT transform
> Using MMX optimized resampler
> AUDIO: 48000 Hz, 2 ch, s16le, 640.0 kbit/41.67% (ratio: 80000->192000)
> Selected audio codec: [a52] afm: liba52 (AC3-liba52)
> ==========================================================================
> AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
> Starting playback...
> ProcessInputError  r:0xffffff9c=-100 (keyframe: 1)
> ProcessInputError  r:0x80004005=-2147467259 (keyframe: 1)??,?% 0 0
> ProcessInputError  r:0x80004005=-2147467259 (keyframe: 1)??,?% 1 0
> ProcessInputError  r:0x80004005=-2147467259 (keyframe: 1)??,?% 1 0
> ProcessInputError  r:0x80004005=-2147467259 (keyframe: 1)??,?% 1 0
> ProcessInputError  r:0x80004005=-2147467259 (keyframe: 1)??,?% 1 0
> ProcessInputError  r:0x80004005=-2147467259 (keyframe: 1)??,?% 1 0
> ProcessInputError  r:0x80004005=-2147467259 (keyframe: 1)??,?% 1 0
> ProcessInputError  r:0x80004005=-2147467259 (keyframe: 1)??,?% 1 0
> ProcessInputError  r:0x80004005=-2147467259 (keyframe: 1)??,?% 1 0
> ProcessInputError  r:0x80004005=-2147467259 (keyframe: 1)??,?% 1 0
> ProcessInputError  r:0x80004005=-2147467259 (keyframe: 1)??,?% 1 0
>
> On 64 bits,
> mplayer -fs -vo xv I.Am.Legend.VC1.disk1.ts t
> MPlayer dev-SVN-r28045-4.3.2 (C) 2000-2008 MPlayer Team
> CPU: Intel(R) Core(TM)2 Duo CPU     E8200  @ 2.66GHz (Family: 6,
> Model: 23, Stepping: 6)
> CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
> Compiled with runtime CPU detection.
>
> Playing I.Am.Legend.VC1.disk1.ts.
> TS file format detected.
> VIDEO VC1(pid=4129) AUDIO A52(pid=4136) NO SUBS (yet)!  PROGRAM N. 1
> Searching for VC1 sequence header... found
> VIDEO:  VC-1  1920x1080, 23.976 fps, header len: 33
> ==========================================================================
> Requested video codec family [wmvvc1dmo] (vfm=dmo) not available.
> Enable it at compilation.
> Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
> Selected video codec: [ffvc1] vfm: ffmpeg (FFmpeg WVC1)
> ==========================================================================
> ==========================================================================
> Forced audio codec: hwac3
> Opening audio decoder: [hwac3] AC3/DTS pass-through S/PDIF
> No accelerated IMDCT transform found
> hwac3: switched to AC3, 640000 bps, 48000 Hz
> AUDIO: 48000 Hz, 2 ch, ac3, 640.0 kbit/41.67% (ratio: 80000->192000)
> Selected audio codec: [hwac3] afm: hwac3 (AC3 through S/PDIF)
> ==========================================================================
> AO: [alsa] 48000Hz 2ch ac3 (1 bytes per sample)
> Starting playback...
> VDec: vo config request - 1920 x 1080 (preferred colorspace: Planar YV12)A:   1.
> VDec: using Planar YV12 as output csp (no 0)
> Movie-Aspect is 1.78:1 - prescaling to correct movie aspect.
> VO: [xv] 1920x1080 => 1920x1080 Planar YV12  [fs]
> a52: CRC check failed!  A:   1.4 V:   1.4 A-V:  0.010 ct: -0.009  11/ 11 ??% ??%
> A:   5.0 V:   5.0 A-V:  0.023 ct: -0.052  97/ 97 13%  5%  0.9% 0 0
>
>
> Both packages were compiled with the exact same options, with the same
> development packages installed.
>
> To play it on 32 bits platform, I have to expressly specify which
> decode to use with:
> -vc ffvc1
>
> Any ideas what's wrong and why auto-detection fails to work here ?

Nothing is failing to work: mplayer is (rightfully) passing the stream
to the w32codecs binary decoder, making the (reasonable) assumption
that it will decode VC-1 more accurately/reliably than ffmpeg.
Obviously, for this particular stream it fails.

The 64-bit version works correctly simply because it doesn't work with
w32codecs.

Dark Shikari



More information about the MPlayer-users mailing list