diff --git a/libavutil/frame.c b/libavutil/frame.c index 85208b8644da6dfc70aa35ef1139042a767ccc73..89557ed16423391280cee50a231aaa0c19dadb4b 100644 --- a/libavutil/frame.c +++ b/libavutil/frame.c @@ -589,8 +589,8 @@ static int frame_copy_video(AVFrame *dst, const AVFrame *src) const uint8_t *src_data[4]; int i, planes; - if (dst->width != src->width || - dst->height != src->height) + if (dst->width < src->width || + dst->height < src->height) return AVERROR(EINVAL); planes = av_pix_fmt_count_planes(dst->format); @@ -601,7 +601,7 @@ static int frame_copy_video(AVFrame *dst, const AVFrame *src) memcpy(src_data, src->data, sizeof(src_data)); av_image_copy(dst->data, dst->linesize, src_data, src->linesize, - dst->format, dst->width, dst->height); + dst->format, src->width, src->height); return 0; }