View Single Post
Old 19th March 2006, 00:26   #4  |  Link
Didée
Registered User
 
Join Date: Apr 2002
Location: Germany
Posts: 5,391
It might not matter too much in this case, because of the rather low opacity setting in Overlay ... however:

Never, never ever make a strong blur by chaining blur() several times. Not only it is slow, but more seriously blur() is not precise enough. Especially chroma will get *very noticeable* distortions.

Use VariableBlur() instead, or simulate it through down&up-bicubicresize (not quite as accurate, but fairly fast):

Code:
function FastGauss(clip clp, float rx, float ry)
{ ox=clp.width()
  oy=clp.height()
  clp.bicubicresize(m4(ox/rx),m4(oy/ry)).bicubicresize(ox,oy,1,0)
}
function m4(float x) {x<16?16:int(round(x/4.0)*4)}
(Could be bloated much more ... multitap resizing for radii > 3.0 aso., but hey...)
__________________
- 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!)
Didée is offline   Reply With Quote