mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Fix crash of interlaced MPEG2 decoding
Problem description, preliminary review discussion at http://thread.gmane.org/gmane.comp.video.ffmpeg.devel/127731
This commit is contained in:
parent
d2bf42895a
commit
b44c8ad280
@ -998,8 +998,13 @@ int MPV_frame_start(MpegEncContext *s, AVCodecContext *avctx)
|
|||||||
s->pict_type, s->dropable);*/
|
s->pict_type, s->dropable);*/
|
||||||
|
|
||||||
if(s->codec_id != CODEC_ID_H264){
|
if(s->codec_id != CODEC_ID_H264){
|
||||||
if((s->last_picture_ptr==NULL || s->last_picture_ptr->data[0]==NULL) && s->pict_type!=AV_PICTURE_TYPE_I){
|
if((s->last_picture_ptr==NULL || s->last_picture_ptr->data[0]==NULL) &&
|
||||||
|
(s->pict_type!=AV_PICTURE_TYPE_I || s->picture_structure != PICT_FRAME)){
|
||||||
|
if (s->pict_type != AV_PICTURE_TYPE_I)
|
||||||
av_log(avctx, AV_LOG_ERROR, "warning: first frame is no keyframe\n");
|
av_log(avctx, AV_LOG_ERROR, "warning: first frame is no keyframe\n");
|
||||||
|
else if (s->picture_structure != PICT_FRAME)
|
||||||
|
av_log(avctx, AV_LOG_INFO, "allocate dummy last picture for field based first keyframe\n");
|
||||||
|
|
||||||
/* Allocate a dummy frame */
|
/* Allocate a dummy frame */
|
||||||
i= ff_find_unused_picture(s, 0);
|
i= ff_find_unused_picture(s, 0);
|
||||||
s->last_picture_ptr= &s->picture[i];
|
s->last_picture_ptr= &s->picture[i];
|
||||||
|
Loading…
Reference in New Issue
Block a user