[Ffmpeg-devel] ffmpeg mp4 demuxer doesnt handle 64bit

bond b-o-n-d
Fri Dec 30 12:48:06 CET 2005

the ffmpeg mp4 demuxer doesnt seem to handle 64bit values in the mp4
headers, as allowed by the specs
whenever i try to play such a file mplayer by using the ffmpeg demuxer
via -demuxer 35 it tells me "LAVF: no audio or video headers found - broken
file?" obviously the headers are there and all other players i tried handle
the file fine

i assume thats caused as in the mdhd atom, which stores the timescale and
the duration, the creation/modification time is also set as 64bit, which
leads to that the demuxer thinks the followup timescale is zero, which might
lead to the error above

i have tried uploaded a file showing this to the mplayer ftp (incoming) but
access was denied

anyways attached the structure of the mdhd atom:

   type mdia
    type mdhd
     version = 1 (0x01)
     flags = 0 (0x000000)
     creationTime = 3218293987 (0x00000000bfd344e3)
     modificationTime = 3218295051 (0x00000000bfd3490b)
     timeScale = 15712911 (0x00efc28f)
     duration = 4525654016 (0x000000010dc00000)
     language = 21956 (0x55c4)
     reserved = <2 bytes> 00 00

the version = 1 flag indicates that 64bit is used, it seems mplayer ignores
this and thinks 32bit is used always. 64bit is allowed as can be seen in the
specs on page 20:

More information about the ffmpeg-devel mailing list