[Ffmpeg-devel] [PATCH] ODML AVI Duration

Michael Niedermayer michaelni
Tue Aug 22 23:14:11 CEST 2006


Hi

On Tue, Aug 22, 2006 at 03:21:23PM -0500, Brian Brice wrote:
> If I encoded an AVI that was over 2 GB (or 4m:43s DV), then video
> players would read the wrong duration, thus not being able to show the
> entire clip.  For example, encoding a DV clip that is about 5 minutes
> in duration:
> 
> ffmpeg -i INPUT.mpg -f avi -vcodec dvvideo -acodec pcm_s16le -s ntsc
> -r ntsc -ar 48000 -pix_fmt yuv411p -t 00:05:00 OUTPUT.avi
> 
> Windows Media Player and even ffmpeg would report the duration as 4:43.
> This patch is to write the proper lengths in the AVI and stream headers.
> If the file contains only 1 RIFF, then all will be the same.  If there
> is more than 1 RIFF, then in the write_trailer, it updates the odml's
> length along with the headers.

quoting the odml spec
"The dwTotalFrames field indicates the size (number of frames) within the first RIFF
chunk."

...

"Extended AVI Header (dmlh)
typedef struct {
   DWORD dwTotalFrames;
} ODMLExtendedAVIHeader;
Total Frames
The dwTotalFrames field indicates the real size of the AVI file. Since the same field in the
Main AVI Header indicates the size within the first RIFF chunk.
"

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

In the past you could go to a library and read, borrow or copy any book
Today you'd get arrested for mere telling someone where the library is




More information about the ffmpeg-devel mailing list