引用
最初由 大虾 发布
前面某个帖子里面据说可以指定Decomb使用哪个滤镜来PP,请问那位大侠知道如何指定?Decomb默认的PP效果实在让人不敢恭维。
在avs的说明书里面有这么一段..........
那个iscomb的filter就是decomb用来判断是否comb的filter.
Advanced conditional filtering: part II
In the following example, some frame dependent info will be written to a text-file. The first variable "a" indicates whether the frame is combed (for a certain threshold). Note that IsCombed is a filter from the Decomb plugin. The second variable "b" indicates whether there is "much" movement in the frame.
global sep="."
global combedthreshold=25
function IsMoving()
{
global b = (diff < 1.0) ? false : true
}
function CombingInfo(clip c)
{
file = "F:\interlace.log"
global clip = c
c = WriteFile(c, file, "a", "sep", "b")
c = FrameEvaluate(c, "global a = IsCombed(clip,combedthreshold)")
c = FrameEvaluate(c, "IsMoving")
c = FrameEvaluate(c,"global diff = 0.50*YDifferenceFromPrevious(clip) + 0.25*UDifferenceFromPrevious(clip) + 0.25*VDifferenceFromPrevious(clip)")
return c
}
v = mpeg2source("F:\From_hell\from_hell.d2v").trim(100,124)
CombingInfo(v)
然后再用conditional filter就可以使用任何deinterlace filter了.
像下面说明书里面写的那样.........
ConditionalFilter returns source1 when the condition formed by filter+operator+value is met, otherwise it returns source2. If filter is not explicitly applied to a clip, it will be applied on testclip. The audio is taken from source1. An example:
This will choose frames from vid_blur when the average luma value of a frame is less than 20. Otherwise frames from vid will be returned.
vid = AviSource("file")
vid_blur = vid.Blur(1.5)
ConditionalFilter(vid, vid_blur, vid, "AverageLuma()", "lessthan", "20")