[Message previously posted on ffmpeg-users by mistake, sorry for
cross-posting]
Hi all,
I'm having problems with output picture reordering in H.264 decoder
(great piece of work BTW). I have a purely IPPPP stream, where the POC
increases by 4 with each frame.
The first IDR is immediately decoded. However, upon decoding the first P
the decoder thinks that there is picture reordering required since the
POC increases by more than 2. The code in question is in h264.c,
decode_frame():
08233 else if((out_of_order && pics-1 == s->avctx->has_b_frames && pics
< 15)
08234 || (s->low_delay &&
08235 ((!cross_idr && prev && out->poc > prev->poc + 2)
08236 || cur->pict_type == B_TYPE)))
As far as I understand the H.264 spec the POC can increase by whatever
amount on two successive output pictures and this test seems too
restrictive. What is the reason for such a test? I would like to remove
it, but I am afraid I do not understand all the implications of it on
the H.264 decoder.
I have example .264 streams available if necessary.
Many thanks,
Diego
--
Diego Santa Cruz, PhD
GE Security
Engineered Systems EMEA
Research Scientist
T +41 21 695 0019
F +41 21 695 0001
E diego.santacruz at ge.com
www.gesecurity.net
Victoria House
Route de la Pierre, 22
1024 Ecublens
Switzerland
VisioWave sarl