Encode Mystery
  • 写在前面
  • 帮助编写!
  • 特别鸣谢
  • 什么是"压制"
  • 压制需要什么
  • 神一样的工具们
    • 视频工具
    • 音频工具
    • 封装工具
    • 综合工具
  • 快速上手
    • 分析片源
    • 编写你的第一个Vapoursynth脚本
    • 简单的……加点滤镜
    • 编码,输出,还有封装
    • 最后的检查与一些小技巧
    • 番外篇:在Premiere输出时使用Vapoursynth
  • 从入门到精通
    • 认识瑕疵
    • 认识画面的三要素
    • 色彩/位深
    • 色带处理
    • 认识交错与反交错
    • 编码器
      • 写在前面
      • X264
      • X265
  • 从精通到入坟
    • 简介
  • 滤镜/脚本百科
    • 脚本百科
      • mvsfunc
      • havsfunc
      • muvsfunc
    • 反交错/抗锯齿滤镜
      • 源滤镜
        • ffms2
        • lsmas
        • dgdecodenv
        • avisource
      • eedi2
      • eedi3
      • nnedi3
    • 去色带滤镜
      • f3kdb
      • gradfun3
    • 放大/缩小滤镜
      • 综述
      • Bilinear
      • Bicubic
      • Spline
      • Lanczos
      • Nnedi3
      • Dpid
      • Waifu2x
    • 降噪滤镜
      • KNLMeansCL
      • RemoveGrain
      • BM3D/V-BM3D
      • Bilateral
    • std滤镜
    • 字幕滤镜
      • VSFilter
      • VSFilterMod
      • Subtext
      • xy-vsfilter
Powered by GitBook
On this page
  • 脚本依赖:
  • 所含函数:
  • Deblock_QED():
  • GSMC():
  • FastLineDarkenMOD():

Was this helpful?

  1. 滤镜/脚本百科
  2. 脚本百科

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()以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():

时域降噪函数,全称为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(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()可以作为增强目视效果的手段,特别是对于线条柔和、“发虚”的画面,加深线条可较为明显地提升观感,但最好慎重使用,不要过火

PreviousmvsfuncNextmuvsfunc

Last updated 5 years ago

Was this helpful?