havsfunc
havsfunc是由HolyWu写的脚本,将Avisynth的一些函数迁移到VapourSynth中
脚本依赖:
havsfunc需要的脚本有:
adjust
mvsfunc
nnedi3_resample
havsfunc需要的滤镜有:
AddGrain
CTMF
DCTFilter
Deblock
DFTTest
EEDI2
EEDI3
FFT3DFilter
FluxSmooth
fmtconv
Hqdn3d
KNLMeansCL
MVTools
NNEDI3
NNEDI3CL
SangNom
SVP
TTempSmooth
ZNEDI3
所含函数:
Deblock_QED()
:
Deblock_QED()
:去块函数,相比其他去块函数在每一帧中使用相同的去块模式,Deblock_QED()
以8x8块为单位进行自适应去块
参数一览:
Deblock_QED(clp, quant1=24, quant2=26, aOff1=1, bOff1=2, aOff2=1, bOff2=2, uv=3)
参数解释:
clp
:参数变量类型为
VideoNode
支持8-16bit整型,不支持32bit浮点型(不报错,但输出异常),支持RGB色彩空间
quant1
:参数变量类型为
int
参数范围为
0-60
块边缘的去块强度
数值越大,去块强度越大
quant2
:参数变量类型为
int
参数范围为
0-60
块内的去块强度
数值越大,去块强度越大
aOff1
:参数变量类型为
int
quant1
修饰符,用于微调块检测的阈值数值越大,意味着被检测为“块”的可能性越大
当
quant1
+aOff1
小于16时,无去块作用
aOff2
:参数变量类型为
int
quant2
修饰符,用于微调块检测的阈值数值越大,意味着被检测为“块”的可能性越大
当
quant2
+aOff2
小于16时,无去块作用
bOff1
:参数变量类型为
int
另一个
quant1
修饰符,用于微调块检测的阈值与去块强度数值越大,意味着被检测为“块”的可能性越大,去块强度也会相应增强
当
quant1
+bOff1
小于16时,无去块作用
bOff2
:参数变量类型为
int
另一个
quant2
修饰符,用于微调块检测的阈值与去块强度数值越大,意味着被检测为“块”的可能性越大,去块强度也会相应增强
当
quant2
+bOff2
小于16时,无去块作用
uv
:参数变量类型为
int
有效参数范围为
-1,1,2,3
,数值小于-1时视为-1,数值为0时视为1,数值大于3时视为3设定U、V平面的处理方式
uv
= 3,对U、V平面做与Y平面一致的去块处理;uv
= 2,不处理U、V平面(速度最快);uv
= 1、-1时,对U、V平面直接使用deblock.Deblock()
函数做去块处理,其中uv
= 1时使用quant1、aOff1、bOff1
参数,uv
= -1时使用quant2、aOff2、bOff2
参数
使用贴士:
对于去块,不仅可以使用Deblock_QED()
等去块函数,还可以尝试f3kdb.Deband()
等去色带函数,直观上来讲,这两类函数都可以实现“涂抹”的效果
GSMC()
:
GSMC()
:时域降噪函数,全称为GrainStabilizeMC,降噪力度小、速度快,仅对输入源与空域降噪结果的差值进行时域降噪,并使用rgvs.Repair()
函数和亮度自适应mask进行后处理
参数一览:
GSMC(input, p=None, Lmask=None, nrmode=None, radius=1, adapt=-1, rep=13, planes=[0, 1, 2], thSAD=300, thSADC=None, thSCD1=300, thSCD2=100, limit=None, limitc=None)
参数解释:
input
:参数变量类型为
VideoNode
支持8-16bit整型,不支持32bit浮点型,不支持RGB色彩空间
p
:参数变量类型为
VideoNode
格式需要与
input
保持一致该项为空域降噪结果,用来与输入源做差,获得时域降噪的对象
默认为对输入源做均值滤波或
sbr()
降噪
Lmask
:参数变量类型为
VideoNode
该项为亮度mask
nrmode
:参数变量类型为
int
该项参数设定(作为预处理的)空域降噪模式
当
nrmode
≤ 0时,对输入源做均值滤波;当nrmode
> 0时,对输入源做haf.sbr()
降噪,参数含义与haf.sbr()
函数的r
相同当参数
p
非默认(即手工指定了空域降噪结果)时,该参数无效
radius
:参数变量类型为
int
参数范围为
1,2,3
该项参数设定Temporal radius,以控制时域降噪的力度,数值越大则降噪力度越大、速度越慢
adapt
:参数变量类型为
int
该项参数用于控制后处理时的亮度mask
当
adapt
≤ -1且未指定Lmask
时,函数不做后续的亮度自适应限制处理
rep
:参数变量类型为
int
该项参数用于设定后处理时
rgvs.Repair()
的模式当
rep
≤ 0时,函数不做rgvs.Repair()
;当rep
> 0时,参数含义与rgvs.Repair()
函数的mode
相同
planes
:参数变量类型为
int
参数范围为
0,1,2
通用参数,用来选择被处理的平面
thSAD
thSADC
thSCD1
thSCD2
limit
limitc
:以上六个参数为时域处理的通用参数
使用贴士:
相比于其他降噪方法,GSMC()
的降噪力度小,可以作为降低码率的一种手段
FastLineDarkenMOD()
:
FastLineDarkenMOD()
:加深/加黑线条函数,仅对亮度平面进行处理,速度快,不会对边缘/轮廓造成破坏,同时具有可选的收线功能,但使用收线功能会降低速度
参数一览:
FastLineDarkenMOD(c, strength=48, protection=5, luma_cap=191, threshold=4, thinning=0)
参数解释:
c
:参数变量类型为
VideoNode
支持8-16bit整型和32bit浮点型,不支持RGB色彩空间
strength
:参数变量类型为
int
参数范围为
0-256
控制线条加深的程度,数值越大,加深程度越大
protection
:参数变量类型为
int
参数范围为
0-50
保护暗场线条,防止暗场线条变得过暗
数值越大,保护程度越大,类似阈值
luma_cap
:参数变量类型为
int
参数范围为
0-255
该项参数基于亮度调整线条加深的程度,抑制以下两种问题:加深线条时被周围高亮度像素干扰,对亮场的灰色线条进行不必要的加深
亮度高于
luma_cap
的像素会被视为亮度与luma_cap
一致,降低该参数会降低线条加深的程度,当luma_cap
= 255时禁用该功能
threshold
:参数变量类型为
int
该项参数为阈值,低于阈值的像素不会被处理
当
threshold
= 0时禁用该功能,默认值为4,该数值即为推荐值,能够避免大量随机像素被不必要地加深,当threshold
过大时会有部分线条未被加深
thinning
:参数变量类型为
int
有效参数范围为
0-256
,数值小于0时视为0该项参数用于细化线条/收线,但收线后会使线条周围像素轻微变暗
当
thinning
≤ 0时禁用该功能,禁用该功能可以大幅提高速度,默认即为禁用
使用贴士:
FastLineDarkenMOD()
可以作为增强目视效果的手段,特别是对于线条柔和、“发虚”的画面,加深线条可较为明显地提升观感,但最好慎重使用,不要过火
Last updated