[FFmpeg-devel] [PATCH] lavfi: port 2xsai filter from libmpcodecs
Stefano Sabatini
stefasab at gmail.com
Fri Apr 13 00:18:54 CEST 2012
On date Wednesday 2012-04-11 12:50:52 +0200, Stefano Sabatini encoded:
> On date Sunday 2012-04-08 12:39:56 +0200, Stefano Sabatini encoded:
> > On date Sunday 2012-04-08 00:07:43 +0200, Stefano Sabatini encoded:
> > > On date Saturday 2012-04-07 23:58:28 +0200, Stefano Sabatini encoded:
> > > > Based on the port by Nielkie <nielkie at gmail.com>, done for GCI 2010.
> > > > Same output as the original filter.
> > > >
> > > > See thread:
> > > > Subject: [FFmpeg-devel] [PATCH] Port MPlayer 2xSaI filter to libavfilter
> > > > Date: Thu, 25 Nov 2010 01:31:24 +1000
> > > > ---
> > > > configure | 1 +
> > > > doc/filters.texi | 7 +
> > > > libavfilter/Makefile | 1 +
> > > > libavfilter/allfilters.c | 1 +
> >
> > > > libavfilter/vf_super2xsai.c | 302 +++++++++++++++++++++++++++++++++++++++++++
> >
> > Note also that the name of the filter is "super2xsai" rather than
> > "2xsai" since an FFmpeg component can't start with a number (alternative
> > names are welcome).
> >
> > > > 5 files changed, 312 insertions(+), 0 deletions(-)
> > > > create mode 100644 libavfilter/vf_super2xsai.c
> > >
> > > I had to rewrite the port basically from scratch, in order to check
> > > where the Nielkie port was diverging. New variant is as fast as the
> > > original, so I'll remove the libmpcodecs wrapped filter as I'll commit
> > > this one.
>
> After more benchmarking, I noted the performance was actually worst,
> due to some unnecessary and redundant checks. New variant is as fast
> as the original, and produce the same output.
>
> > >
> > > [...]
> > > > + READ_COLOR(color[0][0], src_line[0], 0); color[0][1] = color[0][0]; READ_COLOR(color[0][2], src_line[0], 1); READ_COLOR(color[0][3], src_line[0], 2);
> > > > + READ_COLOR(color[1][0], src_line[1], 0); color[1][1] = color[1][0]; READ_COLOR(color[1][2], src_line[1], 1); READ_COLOR(color[1][3], src_line[1], 2);
> > > > + READ_COLOR(color[2][0], src_line[2], 0); color[2][1] = color[2][1]; READ_COLOR(color[2][2], src_line[2], 1); READ_COLOR(color[2][3], src_line[2], 2);
> > > ^^^^^^^^^^^^^^^^^^^^^^^^^
> > >
> > > > + READ_COLOR(color[3][0], src_line[3], 0); color[3][1] = color[3][0]; READ_COLOR(color[3][2], src_line[3], 1); READ_COLOR(color[3][3], src_line[3], 2);
> > >
> > > This looks like an error, but I kept it for maintaining the same output.
> >
> > I'll push the filter in a few days if I read no comments.
>
> I'll apply tomorrow if I read no comments.
Applied (and new personal combo record).
--
FFmpeg = Fostering Friendly Magical Power Elitarian Gorilla
More information about the ffmpeg-devel
mailing list