[FFmpeg-devel] Fwd: [PATCH] lavfi: add xbr filter
arwa arif
arwaarif1994 at gmail.com
Sat Nov 8 12:42:13 CET 2014
On Sat, Nov 8, 2014 at 2:56 AM, Michael Niedermayer <michaelni at gmx.at>
wrote:
> On Fri, Nov 07, 2014 at 11:08:54PM +0530, arwa arif wrote:
> > On Fri, Nov 7, 2014 at 10:53 PM, Michael Niedermayer <michaelni at gmx.at>
> > wrote:
> >
> > > On Tue, Nov 04, 2014 at 12:26:27AM +0530, arwa arif wrote:
> > > > Okay. I would try to complete it by tomorrow.
> > >
> > > any news about this ?
> > > i know this isnt trivial to update to the other reference ...
> > >
> > >
> > > >
> > > > On Mon, Nov 3, 2014 at 8:02 PM, Stefano Sabatini <stefasab at gmail.com
> >
> > > wrote:
> > > >
> > > > > On date Monday 2014-11-03 12:09:50 +0530, arwa arif encoded:
> > > [...]
> > > > > So we have:
> > > > > C++, 2xBR v3.3b, LGPL
> > > > >
> > > > >
> > >
> http://sourceforge.net/p/paintown/code/HEAD/tree/trunk/src/util/graphics/sdl/xbr.cpp
> > > > >
> > > > > C++, 2xBR v3.3b, GPL
> > > > >
> > > > >
> > >
> https://github.com/yoyofr/iFBA/blob/master/fba_src/src/intf/video/scalers/xbr.cpp
> > > > >
> > > > > The former is clearly a copy&paste from the latter, so that should
> be
> > > > > used as reference.
> > > > >
> > > > > paintown code was relicensed to GPL with Hyllian's consent, so we
> > > > > should be able to do the same (if licensing is a concerns, which
> > > > > probably isn't for such a fringe filter).
> > > > >
> > > > > Algorithm description can be found here:
> > > > >
> > > > >
> > >
> https://web.archive.org/web/20140904180543/http://board.byuu.org/viewtopic.php?f=10&t=2248
> > > > >
> > > > > (note: it was down the last time I checked).
> > > > >
> > > > > NOTE: since both are games/emulators, I suppose it won't be easy to
> > > > > make them generate a reference output, so we should rely on
> comparing
> > > > > the output generated by the filter with some output found on the
> web.
> > > > >
> > > > > @arwa: are you willing to readapt your xbr filter to make use of
> > > > > Hyllian's code?
> > > > > --
> > > > > FFmpeg = Freak and Frightening Maxi Powered Enhancing Gangster
> > > > > _______________________________________________
> > > > > ffmpeg-devel mailing list
> > > > > ffmpeg-devel at ffmpeg.org
> > > > > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> > > > >
> > > > _______________________________________________
> > > > ffmpeg-devel mailing list
> > > > ffmpeg-devel at ffmpeg.org
> > > > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> > > >
> > >
> > >
> > I tried modifying the code. I have created a patch, but I am confused how
> > to do ALPHA_BLEND part without using float values. Currently I have
> > commented that part in the patch. In the reference code(
> >
> https://github.com/yoyofr/iFBA/blob/master/fba_src/src/intf/video/scalers/xbr.cpp
> ),
> > they are actually doing ALPHA_BLEND with masks for 565 format. But, since
> > FFmpeg has RGB24 format, I am not able to get a way which would do the
> same
> > thing without float.
> >
> >
> > > --
> > > 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
> > >
>
> > doc/filters.texi | 5
> > libavfilter/Makefile | 1
> > libavfilter/allfilters.c | 1
> > libavfilter/vf_xbr.c | 359
> +++++++++++++++++++++++++++++++++++++++++++++++
> > 4 files changed, 366 insertions(+)
> > dc77f80072970067718918f0414f4bc94746c063
> 0001-i-This-is-a-combination-of-2-commits.patch
> > From 1e838a3045110791cfe1e6bf94a969b59f7160fc Mon Sep 17 00:00:00 2001
> > From: Arwa Arif <arwaarif1994 at gmail.com>
> > Date: Thu, 30 Oct 2014 22:06:20 +0530
> > Subject: [PATCH] i# This is a combination of 2 commits.
> >
> > [PATCH]lavfi: add xbr filter
> >
> > xBR
> > ---
> > doc/filters.texi | 5 +
> > libavfilter/Makefile | 1 +
> > libavfilter/allfilters.c | 1 +
> > libavfilter/vf_xbr.c | 359
> ++++++++++++++++++++++++++++++++++++++++++++++
> > 4 files changed, 366 insertions(+)
> > create mode 100644 libavfilter/vf_xbr.c
> >
> > diff --git a/doc/filters.texi b/doc/filters.texi
> > index 7be29de..2905e5d 100644
> > --- a/doc/filters.texi
> > +++ b/doc/filters.texi
> > @@ -9163,6 +9163,11 @@ Only deinterlace frames marked as interlaced.
> > Default value is @samp{all}.
> > @end table
> >
> > + at section xbr
> > +Apply high-quality magnification filter which is designed for pixel
> art. It follows a set
> > +of edge-detection rules @url{
> http://www.libretro.com/forums/viewtopic.php?f=6&t=134}.
> > +This filter was originally created by Hyllian.
> > +
> > @anchor{yadif}
> > @section yadif
> >
> > diff --git a/libavfilter/Makefile b/libavfilter/Makefile
> > index 6d868e7..2c56e38 100644
> > --- a/libavfilter/Makefile
> > +++ b/libavfilter/Makefile
> > @@ -198,6 +198,7 @@ OBJS-$(CONFIG_VIDSTABDETECT_FILTER) +=
> vidstabutils.o vf_vidstabdetect.
> > OBJS-$(CONFIG_VIDSTABTRANSFORM_FILTER) += vidstabutils.o
> vf_vidstabtransform.o
> > OBJS-$(CONFIG_VIGNETTE_FILTER) += vf_vignette.o
> > OBJS-$(CONFIG_W3FDIF_FILTER) += vf_w3fdif.o
> > +OBJS-$(CONFIG_XBR_FILTER) += vf_xbr.o
> > OBJS-$(CONFIG_YADIF_FILTER) += vf_yadif.o
> > OBJS-$(CONFIG_ZMQ_FILTER) += f_zmq.o
> > OBJS-$(CONFIG_ZOOMPAN_FILTER) += vf_zoompan.o
> > diff --git a/libavfilter/allfilters.c b/libavfilter/allfilters.c
> > index d88a9ad..2352d44 100644
> > --- a/libavfilter/allfilters.c
> > +++ b/libavfilter/allfilters.c
> > @@ -213,6 +213,7 @@ void avfilter_register_all(void)
> > REGISTER_FILTER(VIDSTABTRANSFORM, vidstabtransform, vf);
> > REGISTER_FILTER(VIGNETTE, vignette, vf);
> > REGISTER_FILTER(W3FDIF, w3fdif, vf);
> > + REGISTER_FILTER(XBR, xbr, vf);
> > REGISTER_FILTER(YADIF, yadif, vf);
> > REGISTER_FILTER(ZMQ, zmq, vf);
> > REGISTER_FILTER(ZOOMPAN, zoompan, vf);
> > diff --git a/libavfilter/vf_xbr.c b/libavfilter/vf_xbr.c
> > new file mode 100644
> > index 0000000..416c7ce
> > --- /dev/null
> > +++ b/libavfilter/vf_xbr.c
> > @@ -0,0 +1,359 @@
> > +/*
> > + * This file is part of FFmpeg.
> > + *
> > + * Copyright (c) 2014 Arwa Arif <arwaarif1994 at gmail.com>
>
> This should also have a copyright line for Hyllian/Jararaca
> as some/most of the code is takenfrom /based on his implementation
>
> [...]
>
> --
> Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>
> No great genius has ever existed without some touch of madness. --
> Aristotle
>
>
How is RGB32 stored? Is it big endian or small endian? I assumed it to be
RRGGBBAA. I tried with AARRGGBB also. Neither of the two are giving the
desired results.
> _______________________________________________
> ffmpeg-devel mailing list
> ffmpeg-devel at ffmpeg.org
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-PATCH-lavfi-add-xbr-filter.patch
Type: text/x-patch
Size: 14556 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20141108/ca97d023/attachment.bin>
More information about the ffmpeg-devel
mailing list