Do not use the generic "alloc missing references" code for h.264 as it does
authorMichael Niedermayer <michaelni@gmx.at>
Thu, 25 Sep 2008 14:34:14 +0000 (14:34 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Thu, 25 Sep 2008 14:34:14 +0000 (14:34 +0000)
not work correctly in that case.
Fixes issue652.

Originally committed as revision 15413 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/mpegvideo.c

index ce52a0c..588bb78 100644 (file)
@@ -894,7 +894,7 @@ alloc:
     if(s->last_picture_ptr) copy_picture(&s->last_picture, s->last_picture_ptr);
     if(s->next_picture_ptr) copy_picture(&s->next_picture, s->next_picture_ptr);
 
-    if(s->pict_type != FF_I_TYPE && (s->last_picture_ptr==NULL || s->last_picture_ptr->data[0]==NULL) && !s->dropable){
+    if(s->pict_type != FF_I_TYPE && (s->last_picture_ptr==NULL || s->last_picture_ptr->data[0]==NULL) && !s->dropable && s->codec_id != CODEC_ID_H264){
         av_log(avctx, AV_LOG_ERROR, "warning: first frame is no keyframe\n");
         assert(s->pict_type != FF_B_TYPE); //these should have been dropped if we don't have a reference
         goto alloc;