[FFmpeg-devel] [PATCH] lavf: Add an XMV demuxer

Sven Hesse drmccoy at drmccoy.de
Tue Aug 16 03:12:55 CEST 2011

Hej hej!

The attached patch adds a demuxer for Microsoft's XMV container, which
is used in Xbox games

A few caveats:

1) ADPCM compressed 5.1 sound is encoded as 3 separate stereo APDCM
   streams.  Right now, the demuxer does not interleave them.
2) The video is encoded in WMV2, with 2 differences:
2.1) The bitstream layout is 32bit little-endian. Since there doesn't
     seem to change the bitstream layout in the H263 code without
     affecting all the other codecs using it, the XMV demuxer
     manually swaps the byte order in the frame data (xmv.c:482).
2.2) The global video header in the extradata has a different layout.
     To differentiate between normal WMV2 and XMV'd WMV2, the demuxer
     appends 8 magic bytes to the extradata (wmv2dec.c:91). This is
     quite hacky.
3) I couldn't get the audio stream PTS correct, the video got really
   choppy. So the demuxer assigns the audio frame the same PTS as the
   video frame (xmv.c:438). This works but is probably not the way to
   do it.
4) No seeking support.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: xmv_ffmpeg.patch
Type: text/x-diff
Size: 20690 bytes
Desc: not available
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20110816/bb01d753/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20110816/bb01d753/attachment.asc>

More information about the ffmpeg-devel mailing list