avcodec/h264_refs: modify key frame detection heuristic to detect more cases
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 9 Oct 2013 21:52:54 +0000 (23:52 +0200)
committerCarl Eugen Hoyos <cehoyos@ag.or.at>
Thu, 24 Oct 2013 09:52:05 +0000 (11:52 +0200)
Fixes Ticket2968

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 5ac6b6028f17b64723884c9fa72cfcbd369a1ba2)

Conflicts:
libavcodec/h264_refs.c

libavcodec/h264_refs.c

index 926a6cc..b872759 100644 (file)
@@ -653,7 +653,7 @@ int ff_h264_execute_ref_pic_marking(H264Context *h, MMCO *mmco, int mmco_count){
     print_short_term(h);
     print_long_term(h);
 
-    if(err >= 0 && h->long_ref_count==0 && h->short_ref_count<=2 && h->pps.ref_count[0]<=1 + (s->picture_structure != PICT_FRAME) && s->current_picture_ptr->f.pict_type == AV_PICTURE_TYPE_I){
+    if(err >= 0 && h->long_ref_count==0 && h->short_ref_count<=2 && h->pps.ref_count[0]<=2 + (s->picture_structure != PICT_FRAME) && s->current_picture_ptr->f.pict_type == AV_PICTURE_TYPE_I){
         s->current_picture_ptr->sync |= 1;
         if(!h->s.avctx->has_b_frames)
             h->sync = 2;