diff --git a/libavcodec/utils.c b/libavcodec/utils.c index af21cdd95f..90ece2f343 100644 --- a/libavcodec/utils.c +++ b/libavcodec/utils.c @@ -864,8 +864,7 @@ static int get_buffer_internal(AVCodecContext *avctx, AVFrame *frame, int flags) av_log(avctx, AV_LOG_ERROR, "video_get_buffer: image parameters invalid\n"); return AVERROR(EINVAL); } - } - if (avctx->codec_type == AVMEDIA_TYPE_VIDEO) { + if (frame->width <= 0 || frame->height <= 0) { frame->width = FFMAX(avctx->width, AV_CEIL_RSHIFT(avctx->coded_width, avctx->lowres)); frame->height = FFMAX(avctx->height, AV_CEIL_RSHIFT(avctx->coded_height, avctx->lowres));