avfilter/vf_cropdetect: Do not check lines or columns twice on black frames

Idea from patch by: hjiodjf 97xgw46 <jfbvxt@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2014-09-09 02:06:17 +02:00
parent 5109ce2017
commit 02946120fc

View File

@ -143,7 +143,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
}
}
for (y = frame->height - 1; y > s->y2; y--) {
for (y = frame->height - 1; y > FFMAX(s->y2, s->y1); y--) {
if (checkline(ctx, frame->data[0] + frame->linesize[0] * y, bpp, frame->width, bpp) > s->limit) {
s->y2 = y;
break;
@ -157,7 +157,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *frame)
}
}
for (y = frame->width - 1; y > s->x2; y--) {
for (y = frame->width - 1; y > FFMAX(s->x2, s->x1); y--) {
if (checkline(ctx, frame->data[0] + bpp*y, frame->linesize[0], frame->height, bpp) > s->limit) {
s->x2 = y;
break;