[FFmpeg-cvslog] r25118 - in trunk: Changelog configure doc/filters.texi libavfilter/Makefile libavfilter/allfilters.c libavfilter/avfilter.h libavfilter/vf_libopencv.c
Stefano Sabatini
stefano.sabatini-lala
Thu Sep 16 10:49:13 CEST 2010
On date Thursday 2010-09-16 10:04:05 +0200, Diego Biurrun wrote:
> On Tue, Sep 14, 2010 at 03:21:14PM +0200, stefano wrote:
> >
> > Log:
> > Implement libopencv smooth filter.
> >
> > --- trunk/Changelog Tue Sep 14 02:17:58 2010 (r25117)
> > +++ trunk/Changelog Tue Sep 14 15:21:13 2010 (r25118)
> > @@ -35,6 +35,7 @@ version <next>:
> > - MMS-HTTP support
> > - G.722 ADPCM audio decoder
> > - R10k video decoder
> > +- ocv_smooth filter
>
> The readers of the Changelog should not have to guess what ocv_
> stands for. I would not have guessed correctly without reading
> the commit.
>
> > --- trunk/doc/filters.texi Tue Sep 14 02:17:58 2010 (r25117)
> > +++ trunk/doc/filters.texi Tue Sep 14 15:21:13 2010 (r25118)
> > @@ -112,6 +112,33 @@ input to the vflip filter.
> >
> > +It accepts the following parameters:
>
> s/It/The filter/
>
> > + at var{type}:@var{param1}:@var{param2}:@var{param3}:@var{param4}.
> > +
> > + at var{type} is the type of smooth filter to apply, and can be one of
> > +the following value: "blur", "blur_no_scale", "median", "gaussian",
>
> valueS
>
> > +These parameters corresponds to the parameters assigned to the
>
> correspond
>
> > +libopencv function @code{cvSmooth}. Refer the official libopencv
>
> Refer to
>
> Please doublecheck your plural/singular uses before committing.
>
> > --- /dev/null 00:00:00 1970 (empty, because file is newly added)
> > +++ trunk/libavfilter/vf_libopencv.c Tue Sep 14 15:21:13 2010 (r25118)
> > @@ -0,0 +1,156 @@
> > +/*
> > + * copyright Stefano Sabatini 2010
>
> This looks slightly weird, compare the other copyright lines in the
> code.
>
> > +#include "opencv/cv.h"
> > +#include "opencv/cxtypes.h"
>
> System headers should use <> instead of "".
>
> > +static void fill_iplimage_from_picref(IplImage *img, const AVFilterBufferRef *picref, enum PixelFormat pixfmt)
>
> Here (and in lots of other places) you could easily break this long
> line for extra readability.
>
> > +static void null_draw_slice(AVFilterLink *link, int y, int h, int slice_dir) { }
>
> Hmmm?
I noticed this helps readability, and also this makes it reusable by
many ocv filters (that was the original idea).
> > +#if CONFIG_OCV_SMOOTH_FILTER
>
> This is pointless and thus harmful: The file is only ever compiled
> if that condition is true...
Yes but my idea was to put here more than one ocv filters, so it's
useful for enabling just one of these.
> > +typedef struct {
> > + int type;
> > + int param1, param2;
> > + double param3, param4;
> > +} SmoothContext;
>
> What's with the typedef mania that everybody has? Just write 'struct'...
Save some typing, you know FFmpeg devs are *lazy*...
> > +static void smooth_end_frame(AVFilterLink *inlink)
> > +{
> > + SmoothContext *smooth = inlink->dst->priv;
> > + AVFilterLink *outlink= inlink->dst->outputs[0];
>
> align :)
Fixed.
Regards.
More information about the ffmpeg-cvslog
mailing list