mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
fixing files where the first frame isn a keyframe
Originally committed as revision 1309 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
140cb66321
commit
aa388dba30
@ -801,8 +801,8 @@ int MPV_frame_start(MpegEncContext *s, AVCodecContext *avctx)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!s->encoding){
|
||||
alloc:
|
||||
if(!s->encoding){
|
||||
/* find unused Picture */
|
||||
for(i=0; i<MAX_PICTURE_COUNT; i++){
|
||||
if(s->picture[i].data[0]==NULL) break;
|
||||
@ -829,14 +829,20 @@ int MPV_frame_start(MpegEncContext *s, AVCodecContext *avctx)
|
||||
s->current_picture= s->picture[i];
|
||||
}
|
||||
|
||||
s->hurry_up= s->avctx->hurry_up;
|
||||
s->error_resilience= avctx->error_resilience;
|
||||
|
||||
if (s->pict_type != B_TYPE) {
|
||||
s->last_picture= s->next_picture;
|
||||
s->next_picture= s->current_picture;
|
||||
}
|
||||
|
||||
if(s->pict_type != I_TYPE && s->last_picture.data[0]==NULL){
|
||||
fprintf(stderr, "warning: first frame is no keyframe\n");
|
||||
assert(s->pict_type != B_TYPE); //these should have been dropped if we dont have a reference
|
||||
goto alloc;
|
||||
}
|
||||
|
||||
s->hurry_up= s->avctx->hurry_up;
|
||||
s->error_resilience= avctx->error_resilience;
|
||||
|
||||
/* set dequantizer, we cant do it during init as it might change for mpeg4
|
||||
and we cant do it in the header decode as init isnt called for mpeg4 there yet */
|
||||
if(s->out_format == FMT_H263){
|
||||
|
Loading…
Reference in New Issue
Block a user