comparison h264.c @ 7358:2f9d5f6b8fff libavcodec

Simplify cross_idr calculation.
author michael
date Wed, 23 Jul 2008 14:37:15 +0000
parents e03fd655afe3
children 1980cae356ad
comparison
equal deleted inserted replaced
7357:5a743d9ad9bc 7358:2f9d5f6b8fff
7894 7894
7895 h->delayed_pic[pics++] = cur; 7895 h->delayed_pic[pics++] = cur;
7896 if(cur->reference == 0) 7896 if(cur->reference == 0)
7897 cur->reference = DELAYED_PIC_REF; 7897 cur->reference = DELAYED_PIC_REF;
7898 7898
7899 cross_idr = 0;
7900 for(i=0; h->delayed_pic[i]; i++)
7901 if(h->delayed_pic[i]->poc==0)
7902 cross_idr = 1;
7903
7904 out = h->delayed_pic[0]; 7899 out = h->delayed_pic[0];
7905 out_idx = 0; 7900 out_idx = 0;
7906 for(i=1; h->delayed_pic[i] && h->delayed_pic[i]->poc; i++) 7901 for(i=1; h->delayed_pic[i] && h->delayed_pic[i]->poc; i++)
7907 if(h->delayed_pic[i]->poc < out->poc){ 7902 if(h->delayed_pic[i]->poc < out->poc){
7908 out = h->delayed_pic[i]; 7903 out = h->delayed_pic[i];
7909 out_idx = i; 7904 out_idx = i;
7910 } 7905 }
7906 cross_idr = !h->delayed_pic[0]->poc || !h->delayed_pic[i];
7911 7907
7912 out_of_order = !cross_idr && out->poc < h->outputed_poc; 7908 out_of_order = !cross_idr && out->poc < h->outputed_poc;
7913 7909
7914 if(h->sps.bitstream_restriction_flag && s->avctx->has_b_frames >= h->sps.num_reorder_frames) 7910 if(h->sps.bitstream_restriction_flag && s->avctx->has_b_frames >= h->sps.num_reorder_frames)
7915 { } 7911 { }