[FFmpeg-trac] #961(avcodec:new): Decoding H.264 to YUV drops one frame

FFmpeg trac at avcodec.org
Tue Jan 31 15:47:54 CET 2012


#961: Decoding H.264 to YUV drops one frame
--------------------------------------+---------------------------------
               Reporter:  takis       |                  Owner:
                   Type:  defect      |                 Status:  new
               Priority:  normal      |              Component:  avcodec
                Version:  git-master  |               Keywords:
             Blocked By:              |               Blocking:
Reproduced by developer:  0           |  Analyzed by developer:  0
--------------------------------------+---------------------------------
 For the attached samples encoded with x264, FFmpeg drops one frame when
 decoding them to YUV420.

 I used the reference decoder (JM 17.2) to verify that the bitstream indeed
 did contain one more frame than FFmpeg decoded.

 ./ldecod.dbg.exe -i output3.h264
 Setting Default Parameters...
 Parsing Configfile decoder.cfg
 ...............

 ----------------------------- JM 17.2 (FRExt)
 -----------------------------
 --------------------------------------------------------------------------
  Input H.264 bitstream                  : /tmp/output3.h264
  Output decoded YUV                     : test_dec.yuv
  Input reference file                   : test_rec.yuv
 --------------------------------------------------------------------------
 POC must = frame# or field# for SNRs to be correct
 --------------------------------------------------------------------------
   Frame          POC  Pic#   QP    SnrY     SnrU     SnrV   Y:U:V Time(ms)
 --------------------------------------------------------------------------
  Input reference file                   : test_rec.yuv does not exist
                                           SNR values are not available
 (fn=0  T: poc=0  B: poc=0  F: poc=0  G: poc=0)  ref (3) view_id (0)
 00000(IDR)        0     0    28                             4:2:0      86
 (fn=0  T: poc=0  B: poc=0  F: poc=0  G: poc=0)  ref (3) view_id (0)
 (fn=1  T: poc=4  B: poc=4  F: poc=4  G: poc=4)  ref (3) view_id (0)
 00002( P )        4     1    28                             4:2:0      13
 (fn=0  T: poc=0  B: poc=0  F: poc=0  G: poc=0)  ref (3) view_id (0)
 (fn=1  T: poc=4  B: poc=4  F: poc=4  G: poc=4)  ref (3) view_id (0)
 (fn=2  T: poc=2  B: poc=2  F: poc=2  G: poc=2)
 00001( b )        2     2    28                             4:2:0      10
 -------------------- Average SNR all frames ------------------------------
  SNR Y(dB)           :  0.00
  SNR U(dB)           :  0.00
  SNR V(dB)           :  0.00
  Total decoding time : 0.111 sec (27.027 fps)[3 frm/111 ms]
 --------------------------------------------------------------------------
  Exit JM 17 (FRExt) decoder, ver 17.2
  Output status file                     : log.dec





 pissaris at takis-Latitude-E6520:/usr/local/src/jm-17.2/bin$ ffmpeg -y -i
 /tmp/output3.h264  test.yuv
 ffmpeg version N-37401-g151ecc2 Copyright (c) 2000-2012 the FFmpeg
 developers
   built on Jan 31 2012 15:39:01 with clang 3.0 (tags/RELEASE_30/final)
   configuration: --cc=/opt/clang/bin/clang
   libavutil      51. 36.100 / 51. 36.100
   libavcodec     54.  0.102 / 54.  0.102
   libavformat    54.  0.100 / 54.  0.100
   libavdevice    53.  4.100 / 53.  4.100
   libavfilter     2. 60.100 /  2. 60.100
   libswscale      2.  1.100 /  2.  1.100
   libswresample   0.  6.100 /  0.  6.100
 [h264 @ 0x29c83a0] decoding for stream 0 failed
 [h264 @ 0x29c83a0] Estimating duration from bitrate, this may be
 inaccurate
 Input #0, h264, from '/tmp/output3.h264':
   Duration: N/A, bitrate: N/A
     Stream #0:0: Video: h264 (High), yuv420p, 352x288, 25 fps, 25 tbr,
 1200k tbn, 50 tbc
 [buffer @ 0x29d08e0] w:352 h:288 pixfmt:yuv420p tb:1/1000000 sar:0/1
 sws_param:
 Output #0, rawvideo, to 'test.yuv':
   Metadata:
     encoder         : Lavf54.0.100
     Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 352x288,
 q=2-31, 200 kb/s, 90k tbn, 25 tbc
 Stream mapping:
   Stream #0:0 -> #0:0 (h264 -> rawvideo)
 Press [q] to stop, [?] for help
 frame=    2 fps=  0 q=0.0 Lsize=     297kB time=00:00:00.08
 bitrate=30412.8kbits/s dup=0 drop=1
 video:297kB audio:0kB global headers:0kB muxing overhead 0.000000%

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


More information about the FFmpeg-trac mailing list