havsfunc
havsfunc是由HolyWu写的脚本,将Avisynth的一些函数迁移到VapourSynth中
脚本依赖:
havsfunc需要的脚本有:
adjustmvsfuncnnedi3_resample
havsfunc需要的滤镜有:
AddGrainCTMFDCTFilterDeblockDFTTestEEDI2EEDI3FFT3DFilterFluxSmoothfmtconvHqdn3dKNLMeansCLMVToolsNNEDI3NNEDI3CLSangNomSVPTTempSmoothZNEDI3
所含函数:
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:参数变量类型为
intquant1修饰符,用于微调块检测的阈值数值越大,意味着被检测为“块”的可能性越大
当
quant1+aOff1小于16时,无去块作用
aOff2:参数变量类型为
intquant2修饰符,用于微调块检测的阈值数值越大,意味着被检测为“块”的可能性越大
当
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通用参数,用来选择被处理的平面
thSADthSADCthSCD1thSCD2limitlimitc:以上六个参数为时域处理的通用参数
使用贴士:
相比于其他降噪方法,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
Was this helpful?