AMZ SmartBlur by ArchMage ZeratuL Avisynth 2.5 filter ------------------------------------------- Disclaimer: THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ------------------------------------------- This filter is not really finished or supported. Use at your own risk. On a side note, it used to be called "Spatiotemporal smartblur", but I never really got the temporal code to work right, so I changed name to AMZSmartBlur. Also, it's REALLY slow. (2~3 fps by itself on my XP 2200+) You'll need the boost dll (as well as MSVC 7.1 runtimes) on your system folder for this to work. The source for this dll is available in this package, but keep in mind that it's HORRIBLE, BADLY WRITEN and one of the worst codes I ever wrote. You have been warned. :) ------------------------------------------- Sample usage: AMZSmartBlur(exponent=9,strength=3.0,threads=2,edgeblur=3.0,showedges=false) Exponent = Similar to a threshhold, the higher this number is, the more detail will be preserved near edges. Strength = The maximum "rho" parameter in the Gaussian Blur formula. The higher, the more it will smooth (it'll also be slower). Threads = number of parallel threads to execute on. 1 or 2 work best for one processor/core, experiment if you have more than one core or processor. Showedges = Only turn on for debugging EdgeBlur = Actually, I don't remember if this is really implemented, but helps determine the extents of an edge.