Commit eebff87d authored by lorenm's avatar lorenm

10l (fix reordering when B-frames are not present)


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@4004 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 8892d7b3
......@@ -6310,7 +6310,8 @@ static int decode_nal_units(H264Context *h, uint8_t *buf, int buf_size){
if(s->flags& CODEC_FLAG_LOW_DELAY)
s->low_delay=1;
avctx->has_b_frames= !s->low_delay;
if(avctx->has_b_frames < 2)
avctx->has_b_frames= !s->low_delay;
break;
case NAL_PPS:
init_get_bits(&s->gb, ptr, bit_length);
......@@ -6470,6 +6471,9 @@ static int decode_frame(AVCodecContext *avctx,
}
if(cur->reference == 0)
cur->reference = 1;
for(i=0; h->delayed_pic[i]; i++)
if(h->delayed_pic[i]->key_frame)
h->delayed_output_poc = -1;
if(pics > FFMAX(1, s->avctx->has_b_frames)){
if(out->reference == 1)
out->reference = 0;
......@@ -6477,10 +6481,6 @@ static int decode_frame(AVCodecContext *avctx,
h->delayed_pic[i] = h->delayed_pic[i+1];
}
for(i=0; h->delayed_pic[i]; i++)
if(h->delayed_pic[i]->key_frame)
h->delayed_output_poc = -1;
if((h->delayed_output_poc >=0 && h->delayed_output_poc > cur->poc)
|| (s->low_delay && (cur->pict_type == B_TYPE
|| (!h->sps.gaps_in_frame_num_allowed_flag
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment