On Wed, Sep 10, 2014 at 11:45:48AM -0700, hjiodjf 97xgw46 wrote: > On Wed, Sep 10, 2014 at 11:26 AM, Michael Niedermayer <michae...@gmx.at> > wrote: > > On Wed, Sep 10, 2014 at 10:35:23AM -0700, hjiodjf 97xgw46 wrote: > >> It appears to work for me: > > > > > > ./ffmpeg -i matrixbench_mpeg2.mpg -vframes 5 -an -vf "cropdetect" -f null - > > > > before patch: > > [Parsed_cropdetect_0 @ 0x27a46e0] x1:91 x2:719 y1:201 y2:437 w:624 h:224 > > x:94 y:208 pts:7200 t:0.080000 crop=624:224:94:208 > > [Parsed_cropdetect_0 @ 0x27a46e0] x1:91 x2:719 y1:198 y2:437 w:624 h:240 > > x:94 y:198 pts:10800 t:0.120000 crop=624:240:94:198 > > [Parsed_cropdetect_0 @ 0x27a46e0] x1:91 x2:719 y1:198 y2:437 w:624 h:240 > > x:94 y:198 pts:14400 t:0.160000 crop=624:240:94:198 > > [Parsed_cropdetect_0 @ 0x27a46e0] x1:91 x2:719 y1:198 y2:437 w:624 h:240 > > x:94 y:198 pts:18000 t:0.200000 crop=624:240:94:198 > > > > after patch: > > [Parsed_cropdetect_0 @ 0x1e686e0] x1:91 x2:719 y1:201 y2:575 w:624 h:368 > > x:94 y:206 pts:7200 t:0.080000 crop=624:368:94:206 > > [Parsed_cropdetect_0 @ 0x1e686e0] x1:91 x2:719 y1:198 y2:575 w:624 h:368 > > x:94 y:204 pts:10800 t:0.120000 crop=624:368:94:204 > > [Parsed_cropdetect_0 @ 0x1e686e0] x1:91 x2:719 y1:198 y2:575 w:624 h:368 > > x:94 y:204 pts:14400 t:0.160000 crop=624:368:94:204 > > [Parsed_cropdetect_0 @ 0x1e686e0] x1:91 x2:719 y1:198 y2:575 w:624 h:368 > > x:94 y:204 pts:18000 t:0.200000 crop=624:368:94:204 > > > > > > > > [...] > > -- > > Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB > > > > Good people do not need laws to tell them to act responsibly, while bad > > people will find a way around the laws. -- Plato > > > > _______________________________________________ > > ffmpeg-devel mailing list > > ffmpeg-devel@ffmpeg.org > > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > > > Sorry about that. That was a brainfart on my end. I will leave the > s->[x1,x2,y1,y2] parameters as they are and just change the reporting > of w/h/x/y. Amended patch attached.
> vf_cropdetect.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > 014f97e9d8a29154e5f7fba9e54e550692f4416d > 0001-Avoid-returning-negative-rectangles-from-cropdetect.patch > From 5281e57c62a13973c778c9296c98632de8bd5864 Mon Sep 17 00:00:00 2001 > From: tue46wsdgxfjrt <jfb...@gmail.com> > Date: Tue, 9 Sep 2014 18:05:44 -0700 > Subject: [PATCH] Avoid returning negative rectangles from cropdetect > > --- > libavfilter/vf_cropdetect.c | 8 +++++--- > 1 file changed, 5 insertions(+), 3 deletions(-) > > diff --git a/libavfilter/vf_cropdetect.c b/libavfilter/vf_cropdetect.c > index 76aa7b2..70d7d66 100644 > --- a/libavfilter/vf_cropdetect.c > +++ b/libavfilter/vf_cropdetect.c > @@ -120,7 +120,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame > *frame) > AVFilterContext *ctx = inlink->dst; > CropDetectContext *s = ctx->priv; > int bpp = s->max_pixsteps[0]; > - int w, h, x, y, shrink_by; > + int w, h, x, y, x2, y2, shrink_by; > AVDictionary **metadata; > > // ignore first 2 frames - they may be empty > @@ -168,9 +168,11 @@ static int filter_frame(AVFilterLink *inlink, AVFrame > *frame) > // make sure they stay rounded! > x = (s->x1+1) & ~1; > y = (s->y1+1) & ~1; > + x2 = FFMAX(x, (s->x2+1) & ~1); > + y2 = FFMAX(y, (s->y2+1) & ~1); > > - w = s->x2 - x + 1; > - h = s->y2 - y + 1; > + w = x2 - x + 1; > + h = y2 - y + 1; this can result in a width and height larger than the input [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Avoid a single point of failure, be that a person or equipment.
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel