]> git.sesse.net Git - ffmpeg/blobdiff - libavcodec/h264_refs.c
Merge remote-tracking branch 'qatar/master'
[ffmpeg] / libavcodec / h264_refs.c
index cdc1fca1a0fa2ee86b5c18910c82c891ea609d5f..8432a8a5b67262a53032901657001c4fa1e6f203 100644 (file)
@@ -653,9 +653,8 @@ 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->current_picture_ptr->f.pict_type == AV_PICTURE_TYPE_I){
-        h->sync |= 1;
-        s->current_picture_ptr->sync |= h->sync;
+    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){
+        s->current_picture_ptr->sync |= 1;
     }
 
     return (h->s.avctx->err_recognition & AV_EF_EXPLODE) ? err : 0;