avfilter/vf_cover_rect: clip rectangle if it is partly outside the input

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2015-05-04 22:33:17 +02:00
parent 0eec40b713
commit b4cc7d67f5

View File

@ -163,6 +163,17 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
return ff_filter_frame(ctx->outputs[0], 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) if (w > in->width || h > in->height || w <= 0 || h <= 0)
return AVERROR(EINVAL); return AVERROR(EINVAL);