View Single Post
Old 31st March 2005, 21:05   #14  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,389
tsp:
Holy sh** , somehow I had totally forgotten about your filter!
Sorry, and thanks for reminding.

Okay, just a quick test about precision, artefacts and speed:



As can be seen clearly, chaining blur()'s is practically unusable. Not only the color degrades, but note the banding artefacts on the wall, and the overall degradation for radii 24 and 64.
YV12convolution and VariableBlur seem very precise both.
FastGaussBlur is less precise, but IMHO sufficient for most "normal" requirements of blurring.


And the speed:

For each filter method, I let compute 10 chained instances of Gaussian Blurring with radius=16. In case of yv12convolution, I cheated a little: since I was too lazy to create Pascal's Triangle up to the 34th line, I made radius=16 by applying 4 times radius=4 ("1 8 28 56 70 56 28 8 1"). Dunno whether or not this put any penalty on yv12convolution, but still ... look below:

Results:
Code:
FastGaussBlur:  11.2 fps
VariableBlur:    6.9 fps
chained blur():  1.8 fps
yv12convolution: 1.0 fps
Objections, anyone?
__________________
- We´re at the beginning of the end of mankind´s childhood -

My little flickr gallery. (Yes indeed, I do have hobbies other than digital video!)

Last edited by Didée; 25th January 2007 at 13:06.
Didée is offline   Reply With Quote