[FFmpeg-cvslog] avfilter/vf_cropdetect: Do not check lines or columns twice on black frames

Michael Niedermayer git at videolan.org
Tue Sep 9 02:18:14 CEST 2014


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Tue Sep  9 02:06:17 2014 +0200| [02946120fc30022f367d5af646b84251c2456e2d] | committer: Michael Niedermayer

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

Idea from patch by: hjiodjf 97xgw46 <jfbvxt at gmail.com>
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=02946120fc30022f367d5af646b84251c2456e2d
---

 libavfilter/vf_cropdetect.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavfilter/vf_cropdetect.c b/libavfilter/vf_cropdetect.c
index f85a0bb..76aa7b2 100644
--- a/libavfilter/vf_cropdetect.c
+++ b/libavfilter/vf_cropdetect.c
@@ -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;



More information about the ffmpeg-cvslog mailing list