mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-06-28 11:27:30 +08:00
Allocate last picture for 4xm pfrm if its not allocated.
Fixes segfault and issue2527 Originally committed as revision 26397 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
@ -791,6 +791,14 @@ static int decode_frame(AVCodecContext *avctx,
|
|||||||
if(decode_i_frame(f, buf, frame_size) < 0)
|
if(decode_i_frame(f, buf, frame_size) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
}else if(frame_4cc == AV_RL32("pfrm") || frame_4cc == AV_RL32("pfr2")){
|
}else if(frame_4cc == AV_RL32("pfrm") || frame_4cc == AV_RL32("pfr2")){
|
||||||
|
if(!f->last_picture.data[0]){
|
||||||
|
f->last_picture.reference= 1;
|
||||||
|
if(avctx->get_buffer(avctx, &f->last_picture) < 0){
|
||||||
|
av_log(avctx, AV_LOG_ERROR, "get_buffer() failed\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
p->pict_type= FF_P_TYPE;
|
p->pict_type= FF_P_TYPE;
|
||||||
if(decode_p_frame(f, buf, frame_size) < 0)
|
if(decode_p_frame(f, buf, frame_size) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
|
Reference in New Issue
Block a user