[vlc-devel] [PATCH] Bug fix in AVI mux module

Ashok Bhat ashok.bhat at gmail.com
Thu Jun 9 15:40:37 CEST 2011


Hi All,
Please find attached patch for bug fixes in AVI mux module. More details
below

Description
===================
Fixed bugs in AVI mux to support creation of AVI files with following
popular video/audio combinations
(a) MPEG4 video (aka XVID) with MP3/AC3/PCM Audio
(b) MJPEG video with PCM audio.
AVI as such is not used for storing other formats like H.264, AAC etc

Bug fix details
===================
(a) 'hdrl' list size was wrong. It incorrectly included some parts of MOVI
list, size taken by hdrl LIST tag and its size and Size of 'RIFF', File size
and 'AVI ' type.
(b) Block Align was set to 0 in case of MP3/AC3. It has to be non-zero. It
has to been set to 1.
(c) XVID video decoders expect header to present as part of first frame.
Added code to append header present at end of BITMAPINFOHEADER to beginning
of the first video frame in case of XVID video.
(d) nAvgBytesPerSec of Waveformatex was not properly being set in case of
PCM audio.
(e) Last index entry value was set to garbage due to incorrect index size
calculation.


Test PC configuration
===================
Tested with Windows Media Player 11 installed on Windows XP Service pack 3
machine with following directshow filters installed
(a) XVID MPEG4 video decoder filter for MPEG4 video decoding
(b) LAME MP3 codec for MP3 audio decoding


Combinations tested
====================
(a) MPEG4/MP3 transcode
vlc -I dummy "Mr_MrsSmith-h264_aac.mp4"
:sout="#transcode{vcodec=mp4v,vb=1024,fps=25,acodec=mpga,ab=128}:standard{mux=avi,access=file,dst=out.avi}"
vlc://quit

(b) MPEG4/AC3 transcode
vlc -I dummy "Mr_MrsSmith-h264_aac.mp4"
:sout="#transcode{vcodec=mp4v,vb=1024,fps=25,acodec=a52,
ab=128}:standard{mux=avi,access=file,dst=out.avi}" vlc://quit

(c) MPEG4/PCM(16bit) transcode
vlc -I dummy "Mr_MrsSmith-h264_aac.mp4"
:sout="#transcode{vcodec=mp4v,vb=1024,fps=25,acodec=s16l}:standard{mux=avi,access=file,dst=out.avi}"
vlc://quit

(d) MPEG4/PCM(24 bit) transcode
vlc -I dummy "Mr_MrsSmith-h264_aac.mp4"
:sout="#transcode{vcodec=mp4v,vb=1024,fps=25,acodec=s24l}:standard{mux=avi,access=file,dst=out.avi}"
vlc://quit

(e) MPEG4/PCM(32bit) transcode
vlc -I dummy "Mr_MrsSmith-h264_aac.mp4"
:sout="#transcode{vcodec=mp4v,vb=1024,fps=25,acodec=s32l}:standard{mux=avi,access=file,dst=out.avi}"
vlc://quit

(f) MJPEG/PCM(32bit) transcode
vlc -I dummy "Mr_MrsSmith-h264_aac.mp4"
:sout="#transcode{vcodec=mjpeg,vb=1024,fps=25,acodec=s32l}:standard{mux=avi,access=file,dst=out.avi}"
vlc://quit

Regards
Ashok
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20110609/e7a64cdd/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Fixed-bugs-in-AVI-mux-module.patch
Type: application/octet-stream
Size: 7461 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20110609/e7a64cdd/attachment.obj>


More information about the vlc-devel mailing list