On Thu, Feb 26, 2015 at 01:41:08PM +0530, arwa arif wrote: > I have updated the patch. > > Can you please explain me which user options to include?
yes
it could be similar to the vf_geq.c flter
so something like
-vf fftfilt=dc=128:lum="'(1 / (1 + exp(-Y/10.0+H/100.0)))'"
could result in the equivalent of this:
@@ -97,6 +98,13 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
av_rdft_end(fftfilt->rdft);
+ for (i = 0; i < rdft_hlen; i++)
+ {
+ for (j = 0; j < rdft_vlen; j++)
+ fftfilt->rdft_vdata[i * rdft_vlen + j] *= (1 / (1 +
exp(-j/10.0+h/100.0)));
+ }
+ fftfilt->rdft_vdata[0] += rdft_hlen * rdft_vlen * 128;
+
/*Vertical pass - IRDFT*/
fftfilt->rdft = av_rdft_init(rdft_vbits, IDFT_C2R);
further comments below
[...]
> + /* RDFT - Array initialization for Horizontal pass*/
> + for (rdft_hbits = 1; 1 << rdft_hbits < 2 * w; rdft_hbits++);
> + rdft_hlen = 1 << rdft_hbits;
> + fftfilt->rdft_hdata = av_malloc_array(h, rdft_hlen * sizeof(FFTSample));
> +
> + /* RDFT - Array initialization for Vertical pass*/
> + for (rdft_vbits = 1; 1 << rdft_vbits < 2 * h; rdft_vbits++);
without the 2 * the code will be faster
> + rdft_vlen = 1 << rdft_vbits;
> + fftfilt->rdft_vdata = av_malloc_array(w, rdft_hlen * rdft_vlen *
> sizeof(FFTSample));
ftfilt->rdft_vdata = av_malloc_array(rdft_hlen, rdft_vlen * sizeof(FFTSample));
that is without the w
also the av_malloc_array return values need to be checked, the functions
could fail if there is npt enough memory
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
Asymptotically faster algorithms should always be preferred if you have
asymptotical amounts of data
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
