Yet another optimisation for the gaussian filter. This adds a compile
authorAntoine Cellerier <dionoea@videolan.org>
Mon, 23 Apr 2007 21:41:25 +0000 (21:41 +0000)
committerAntoine Cellerier <dionoea@videolan.org>
Mon, 23 Apr 2007 21:41:25 +0000 (21:41 +0000)
commitd08ba16893629f32dcac2315f4d37b6c31e5199a
treeaa9e1fc122b1522c0ae08267f2d1b5e102b0effc
parent3a72b28ff377df3db201c0ecc46b6784fcc6e4bf
Yet another optimisation for the gaussian filter. This adds a compile
time option to use floats instead of integers. Performance comparison
is:
(performance is in numbers of samples output by oprofile. Less is better)

sigma   old version (integers)       integers       floats
 2.0    556889                    466435 (-17%)  481293 (-13%)
 4.0    902749 (core maxed out)   732755 (-19%)  716070 (-21%)

I'll have to check why relative performance gain depends on sigma when
comparing the the float and integer versions.

I'll aslo add another module (most likely named fastgaussianblur.c)
based on Frederick M. Waltz and John W. V. Miller's "An efficient
algorithm for Gaussian blur using finite-state machines" article. This
seems to be way faster (but it's doesn't allow as much granularity in
the gaussian's choice and it adds an error compared to this module).
modules/video_filter/gaussianblur.c