diff --git a/ffmpeg.c b/ffmpeg.c index 06fb2535a9..c43192d8f9 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -553,7 +553,7 @@ static int codec_get_buffer(AVCodecContext *s, AVFrame *frame) FrameBuffer *buf; int ret, i; - if(av_image_check_size(s->width, s->height, 0, s)) + if(av_image_check_size(s->width, s->height, 0, s) || s->pix_fmt<0) return -1; if (!ist->buffer_pool && (ret = alloc_buffer(s, ist, &ist->buffer_pool)) < 0) diff --git a/ffplay.c b/ffplay.c index 19c430883c..93097e1ee7 100644 --- a/ffplay.c +++ b/ffplay.c @@ -1564,7 +1564,7 @@ static int input_get_buffer(AVCodecContext *codec, AVFrame *pic) w = codec->width; h = codec->height; - if(av_image_check_size(w, h, 0, codec)) + if(av_image_check_size(w, h, 0, codec) || codec->pix_fmt<0) return -1; avcodec_align_dimensions2(codec, &w, &h, stride); diff --git a/libavcodec/utils.c b/libavcodec/utils.c index a697facdaa..63f7fae88a 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -414,7 +414,7 @@ static int video_get_buffer(AVCodecContext *s, AVFrame *pic) return -1; } - if(av_image_check_size(w, h, 0, s)) + if(av_image_check_size(w, h, 0, s) || s->pix_fmt<0) return -1; if (!avci->buffer) {