[FFmpeg-trac] #5439(undetermined:new): Decoding issue

FFmpeg trac at avcodec.org
Thu Apr 14 12:08:30 CEST 2016


#5439: Decoding issue
-------------------------------------+-------------------------------------
             Reporter:  Eddy         |                     Type:  defect
               Status:  new          |                 Priority:  normal
            Component:               |                  Version:  git-
  undetermined                       |  master
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
 Summary of the bug:

 I have some troubles while decoding h264 streams. It seems to be a
 regression in ffmpeg. When I decode a stream with the 2.7.1 version, I
 decode all the frames in my stream. But when I try with the same command
 line on the latest version (3.0), I have one skipped frame. I notice that
 the skipped frame was after a I frame due to a cut detection.

 Here's the command line on both versions :

 ffmpeg -v verbose -i encoded.264 -vsync 0 decoded.yuv

 Here's the output on the 2.7.1 version :

 {{{
 ffmpeg -v verbose -i test.264 -vsync 0 test_dec_oldffmpeg.yuv
 ffmpeg version 2.7.1 Copyright (c) 2000-2015 the FFmpeg developers
   built with gcc 4.7 (Debian 4.7.2-5)
   configuration: --prefix=./build --bindir=./bin
   libavutil      54. 27.100 / 54. 27.100
   libavcodec     56. 41.100 / 56. 41.100
   libavformat    56. 36.100 / 56. 36.100
   libavdevice    56.  4.100 / 56.  4.100
   libavfilter     5. 16.101 /  5. 16.101
   libswscale      3.  1.101 /  3.  1.101
   libswresample   1.  2.100 /  1.  2.100
 [h264 @ 0x2300ba0] Increasing reorder buffer to 3
 [h264 @ 0x2300180] max_analyze_duration 5000000 reached at 5000000
 microseconds
 Input #0, h264, from 'test.264':
   Duration: N/A, bitrate: N/A
     Stream #0:0: Video: h264 (High), 4 reference frames, yuv420p(tv,
 bt709), 1920x1080 (1920x1088) [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 1200k
 tbn, 50 tbc
 [graph 0 input from stream 0:0 @ 0x2300ae0] w:1920 h:1080 pixfmt:yuv420p
 tb:1/1200000 fr:50/2 sar:1/1 sws_param:flags=2
 Output #0, rawvideo, to 'test_dec_oldffmpeg.yuv':
   Metadata:
     encoder         : Lavf56.36.100
     Stream #0:0: Video: rawvideo, 1 reference frame (I420 / 0x30323449),
 yuv420p, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 25 fps, 25 tbn,
 25 tbc
     Metadata:
       encoder         : Lavc56.41.100 rawvideo
 Stream mapping:
   Stream #0:0 -> #0:0 (h264 (native) -> rawvideo (native))
 Press [q] to stop, [?] for help
 [rawvideo @ 0x23016e0] Application provided invalid, non monotonically
 increasing dts to muxer in stream 0: 240 >= 240
 No more output streams to write to, finishing.
 frame=  243 fps= 51 q=0.0 Lsize=  738112kB time=00:00:09.72
 bitrate=622080.0kbits/s
 video:738112kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
 muxing overhead: 0.000000%
 Input file #0 (test.264):
   Input stream #0:0 (video): 486 packets read (4952189 bytes); 243 frames
 decoded;
   Total: 486 packets (4952189 bytes) demuxed
 Output file #0 (test_dec_oldffmpeg.yuv):
   Output stream #0:0 (video): 243 frames encoded; 243 packets muxed
 (755827200 bytes);
   Total: 243 packets (755827200 bytes) muxed
 }}}

 Here's the output on the 3.0 version :

 {{{
 ffmpeg -v verbose -i test.264 -vsync 0 test_dec_newwffmpeg.yuv
 ffmpeg version N-78758-g5156578 Copyright (c) 2000-2016 the FFmpeg
 developers
   built with gcc 5.3.0 (GCC)
   configuration: --enable-gpl --enable-version3 --disable-w32threads
 --enable-av
 isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls
 --enab
 le-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-
 libcaca --
 enable-libdcadec --enable-libfreetype --enable-libgme --enable-libgsm
 --enable-l
 ibilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb
 --enab
 le-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-
 librtmp --en
 able-libschroedinger --enable-libsoxr --enable-libspeex --enable-libtheora
 --ena
 ble-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-
 libvorbis --
 enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264
 --enable-lib
 x265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma
 --enable-d
 ecklink --enable-zlib
   libavutil      55. 19.100 / 55. 19.100
   libavcodec     57. 27.100 / 57. 27.100
   libavformat    57. 26.100 / 57. 26.100
   libavdevice    57.  0.101 / 57.  0.101
   libavfilter     6. 37.100 /  6. 37.100
   libswscale      4.  0.100 /  4.  0.100
   libswresample   2.  0.101 /  2.  0.101
   libpostproc    54.  0.100 / 54.  0.100
 [h264 @ 0000000000854860] Increasing reorder buffer to 1
 [h264 @ 0000000000854860] Increasing reorder buffer to 2
 [h264 @ 0000000000842660] max_analyze_duration 5000000 reached at 5000000
 micros
 econds st:0
 Input #0, h264, from 'test.264':
   Duration: N/A, bitrate: N/A
     Stream #0:0: Video: h264 (High), 4 reference frames, yuv420p(tv,
 bt709), 192
 0x1080 (1920x1088) [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 1200k tbn, 50 tbc
 [graph 0 input from stream 0:0 @ 0000000000848140] w:1920 h:1080
 pixfmt:yuv420p
 tb:1/1200000 fr:50/2 sar:1/1 sws_param:flags=2
 Output #0, rawvideo, to 'test_dec_newwffmpeg.yuv':
   Metadata:
     encoder         : Lavf57.26.100
     Stream #0:0: Video: rawvideo, 1 reference frame (I420 / 0x30323449),
 yuv420p
 , 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
     Metadata:
       encoder         : Lavc57.27.100 rawvideo
 Stream mapping:
   Stream #0:0 -> #0:0 (h264 (native) -> rawvideo (native))
 Press [q] to stop, [?] for help
 frame=   60 fps=0.0 q=-0.0 size=  182250kB time=00:00:02.44
 bitrate=611882.0kbit
 [h264 @ 0000000002e50540] Increasing reorder buffer to 3
 frame=  125 fps=124 q=-0.0 size=  379688kB time=00:00:05.12
 bitrate=607500.0kbit
 frame=  190 fps=126 q=-0.0 size=  577125kB time=00:00:07.72
 bitrate=612410.4kbit
 frame=  232 fps=115 q=-0.0 size=  704700kB time=00:00:09.40
 bitrate=614138.6kbit
 [rawvideo @ 0000000002fcf020] Application provided invalid, non
 monotonically in
 creasing dts to muxer in stream 0: 241 >= 241
 No more output streams to write to, finishing.
 frame=  242 fps=116 q=-0.0 Lsize=  735075kB time=00:00:09.76
 bitrate=616981.0kbi
 ts/s speed=4.68x
 video:735075kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
 muxin
 g overhead: 0.000000%
 Input file #0 (test.264):
   Input stream #0:0 (video): 486 packets read (4952189 bytes); 242 frames
 decode
 d;
   Total: 486 packets (4952189 bytes) demuxed
 Output file #0 (test_dec_newwffmpeg.yuv):
   Output stream #0:0 (video): 242 frames encoded; 242 packets muxed
 (752716800 b
 ytes);
   Total: 242 packets (752716800 bytes) muxed
 }}}

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


More information about the FFmpeg-trac mailing list