From b4cc7d67f564417af5da99c894a305d1fdd75d51 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Mon, 4 May 2015 22:33:17 +0200 Subject: avfilter/vf_cover_rect: clip rectangle if it is partly outside the input Signed-off-by: Michael Niedermayer --- libavfilter/vf_cover_rect.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'libavfilter') diff --git a/libavfilter/vf_cover_rect.c b/libavfilter/vf_cover_rect.c index 7e1a9f449d..d12807ad53 100644 --- a/libavfilter/vf_cover_rect.c +++ b/libavfilter/vf_cover_rect.c @@ -163,6 +163,17 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in) return ff_filter_frame(ctx->outputs[0], in); } + if (x < 0) { + w += x; + x = 0; + } + if (y < 0) { + h += y; + y = 0; + } + w = FFMIN(w, in->width - x); + h = FFMIN(h, in->height - y); + if (w > in->width || h > in->height || w <= 0 || h <= 0) return AVERROR(EINVAL); -- cgit v1.2.3