静态柔化效果不错,用他处理x ova(vcd片源),除了开场的羽毛杀不好,其他都很好
缺点是要先转成YV12 or YUY2
LoadPlugin("C:\Program Files\AviSynth2\plugins\convolution3d.dll")
directshowsource("d:\main.avi",fps=23.97).CONVERTtOYUY2()
convolution3d(0,32,128,16,64,10,0)
versions: - 1.01 (YUY2 version)
- beta 4 (YV12 version with temporal influence disabled)
download:
http://www.avisynth.org/warpenterprises/category: Spatio-Temporal Smoothers
requirements:
YV12 or YUY2 (dependent on version) colorspace
ISSE support
--------------------------------------------------------------------------------
Description
Convolution3D is an avisynth filter that will apply a 3D convolution to all pixel of a frame.
1 - How to use it
Convolution3d (matrix=0, ythresh=3, cthresh=4, t_ythresh=3, t_cthresh=4, influence=3, debug=0)
Matrix choice :
0 : original matrix :
1 2 1 2 4 2 1 2 1
2 4 1 4 8 4 2 4 1
1 2 1 2 4 2 1 2 1
This matrix is useful for normal movie (not anime) because it keep more details
1 : bb idea of full 1 matrix (great idea)
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1
This matrix is much usefull with animes or bad quality sources because it blur a little more (so removing more noise)
Temporal influence :
It's used especially to speed up a little this filter and to avoid using temporal informations when not needed
(scene change, fade, ...)
I first build a limit = Temporal Luma Threshold * Temporal influence
For each 2 pixel computed (due to MMX, 2 pixel at the same time), I first check this :
if
(Abs (Y0 - Y0[Previous frame]) +
Abs (Y0 - Y0[Next frame]) +
Abs (Y1 - Y1[Previous frame]) +
Abs (Y1 - Y1[Next frame])) > limit
then
do Spacial work (only 3*3 matrix)
Else
do Spacial and Temporal work (3*3*3 matrix)
The lower it is -> the faster will be the filter but compressibility should be lower
The higher it is -> the slower will be the filter but compressibility should be higher
if temporal influence is set to -1 then only spatial work is done (high speed).
This parameter is a float.
2 - Parameters sample
I build the following presets to make things easier :
Convolution3d (preset="movieHQ") // Movie Hi Quality (good DVD source)
is an alias for Convolution3D (0, 3, 4, 3, 4, 2.8, 0)
Convolution3d (preset="movieLQ") // Movie Low Quality (noisy DVD source)
is an alias for Convolution3D (0, 6, 10, 6, 8, 2.8, 0)
Convolution3d (preset="animeHQ") // Anime Hi Quality (good DVD source)
is an alias for Convolution3D (0, 6, 12, 6, 8, 2.8, 0)
Convolution3d (preset="animeLQ") // Anime Low Quality (noisy DVD source)
is an alias for Convolution3D (1, 8, 16, 8, 8, 2.8, 0)
Convolution3d (preset="animeBQ") // Anime Bad Quality (???)
is an alias for Convolution3D (1, 12, 22, 8, 8, 2.8, 0)
Convolution3d (preset="vhsBQ") // VHS capture Bad Quality (???)
is an alias for Convolution3D (0, 32, 128, 16, 64, 10, 0)
I had to test Convolution3d with bad quality TV capture and in this case
you'll have to higher especially the chroma tresholds (causing some ghosting but the overall quality seems to be better).
I personnaly use these parameters :
Convolution3D (0, 32, 128, 32, 128, 10, 0)
The thresholds of Convolution3d are only here to take care of edges and scene change. You can increase the spatial one (especially the chroma threshold) but stop as soon as you see some blurring around the edges (if you want quality). With the settings proposed you shouldn't have this problem.
The Temporal one should be left below 10 to avoid ghosting.
You should especially take care of the threshold with matrix 1, because with this matrix the current frame has less weight so it's easier to have ghosting.
You can find some informations about how it works in :
http://forum.doom9.org/showthread.php?s=&threadid=298293 - Current limitations or known problems
Work only with YUV2, CHECKED.
requires a Integer SSE capable CPU (no PII and K6-II), CHECKED.