[Ffmpeg-devel] [PATCH] ODML AVI Duration

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


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


"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