id	summary	reporter	owner	description	type	status	priority	component	version	resolution	keywords	cc	blockedby	blocking	reproduced	analyzed
961	Decoding H.264 to YUV drops one frame	takis		"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@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%
"	defect	closed	normal	avcodec	git-master	fixed	h264				0	0
