[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
(<http://wiki.multimedia.cx/index.php?title=XMV>).
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.
Cheers
Sven
-------------- 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