[FFmpeg-trac] #6584(avformat:new): MP4 with edit list and multiple stsds not decoding correctly

FFmpeg trac at avcodec.org
Sat Aug 12 11:38:42 EEST 2017


#6584: MP4 with edit list and multiple stsds not decoding correctly
-------------------------------------+-------------------------------------
             Reporter:  zhangjiejun  |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:  avformat     |                  Version:
             Keywords:               |  unspecified
             Blocking:               |               Blocked By:
Analyzed by developer:  0            |  Reproduced by developer:  0
-------------------------------------+-------------------------------------
 When a MP4 has both edit list and multiple stsds, it does not decode
 correctly with ffmpeg. An example is
 https://www.dropbox.com/s/qz0ort4znqq9jdy/attachment_video.mov?dl=0. Such
 videos can be easily generated by iOS, when using AVMutableComposition and
 AVAssetExportSession to replace a part of a video with another totally
 different video.

 To reproduce, run:
 {{{ffmpeg -i attachment_video.mov frames/frame%03d.jpg}}}

 Take a look at frame327.jpg, frame328.jpg, frame329.jpg frame330.jpg. They
 are pure-green, which is wrong. They should be exactly the same as
 frame331.jpg.

 FFmpeg also prints error messages:
 {{{
 [h264 @ 0x7fbfc9040a00] reference count overflow
 [h264 @ 0x7fbfc9040a00] decode_slice_header error
 [h264 @ 0x7fbfc9040a00] no frame!
 Past duration 0.999992 too large
     Last message repeated 7 times
 Error while decoding stream #0:0: Invalid data found when processing input
 Past duration 0.999992 too large
 [h264 @ 0x7fbfc9004800] reference count overflow
 [h264 @ 0x7fbfc9004800] decode_slice_header error
 [h264 @ 0x7fbfc9004800] no frame!
 [h264 @ 0x7fbfc9001000] reference count overflow
 [h264 @ 0x7fbfc9001000] decode_slice_header error
 [h264 @ 0x7fbfc9001000] no frame!
 ...
 }}}

 The root cause is that FFmpeg used a wrong stsd to decode several frames.

--
Ticket URL: <https://trac.ffmpeg.org/ticket/6584>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list