[FFmpeg-trac] #2932(avformat:closed): w64: fail to decode

FFmpeg trac at avcodec.org
Tue Sep 3 02:49:39 CEST 2013


#2932: w64: fail to decode
-------------------------------------+-------------------------------------
             Reporter:  ami_stuff    |                    Owner:
                 Type:  defect       |                   Status:  closed
             Priority:  important    |                Component:  avformat
              Version:  git-master   |               Resolution:  fixed
             Keywords:  w64          |               Blocked By:
  regression                         |  Reproduced by developer:  1
             Blocking:               |
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------

Comment (by jamal):

 The fix is wrong, or it at least is not a proper one.
 What needs to be changed is the last avio_skip() from summarylist
 from
 {{{
 avio_skip(pb, end - avio_tell(pb))
 }}}
 to
 {{{
 avio_skip(pb, end - avio_tell(pb) - 24)
 }}}

 Check the sample with an hex editor. The size for the summarylist chunk is
 reported as 200.
 As things are right now (Commit 79b70e47a46305), after the avio_skip()
 from summarylist the next (and unknown) GUID is
 "0x08000000280000000004000000030000" with size 2097153, then after that
 one is skipped the next GUID is "0xede0d800e9ddd900ebdedc00ece0de00" with
 size 57641763956315878, which is of course nonsense.

 If you add the "- 24" to summarylist's avio_skip(), the unknown GUID that
 comes after summarylist becomes "0x25ca2c61bb92554c84087bda2f15bd27" and
 the size 3145800, which after skipping the aviocontext will point exactly
 to EOF.
 That single unknown GUID is the BMP file ami_stuff mentioned.

-- 
Ticket URL: <https://ffmpeg.org/trac/ffmpeg/ticket/2932#comment:3>
FFmpeg <http://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list