Skip to content

Commit

Permalink
vs: k7sfunc 更新 0.1.20 & qtgmc 更新 0.0.3
Browse files Browse the repository at this point in the history
vpy:
优化注释;
超分类脚本跳过2k及以上的源的处理;
移除 SR_CUGAN_NV ,有更高效的同类模型可替代;
新增 SR_ESRGAN_DML ,基于支持dx12显卡的esrgan放大;
新增 SR_WAIFU_DML ,基于支持dx12显卡的waifu2x放大;
修改 SR_WAIFU_NV ,支持使用不同的模型

模块:
解除显卡线程数设置的限制;
局部依赖由 dfttest 变更为 dfttest2;
添加辅助模块 EQ LAYER_HIGH LINE_MASK PLANE_EXTR RANGE_CHANGE
- AA_NV 的参数 gpu_t 的默认值变更为 4
- BILA_NV 此为新增模块,作用为双边滤波降噪
- CSC_RB 此为新增模块,作用为红蓝色度偏移修正
- DEINT_LQ 此为新增模块,作用为简易反交错
- DEINT_STD 新增参数 tff 并默认值为 True
- DEINT_EX 此为新增模块,将独立的 qtgmc 部分链接到此模块
- DFTT_STD 此为新增模块,作用为频域降噪
- DFTT_NV 此为新增模块,作用为频域降噪
- ESRGAN_DML 此为新增模块,作用为dx12通用图像放大
- FMT_CHANGE 此为后备模块
- FMT_CTRL 新增参数 spl_b , spl_c 并默认值为 1/3 ;修复一个无法转换的情况
- NLM_NV 的参数 gpu_t 的默认值变更为 4
- RIFE_STD 新增参数 skip 并默认值为 True
- RIFE_NV 优化v2模型的性能
- UAI_DML 此为新增模块,作用为支持自定义模型
- UAI_NV_TRT 新增参数 clamp 并默认值为 False ;新增参数 tf32 并默认值为 True ;新增参数 cuda_opt 并默认值为 [0, 0, 0]
- WAIFU_DML 此为新增模块,作用为dx12通用图像放大
- WAIFU_NV 新增参数 model 并默认为 3
  • Loading branch information
hooke007 committed Jun 5, 2023
1 parent a86fc6c commit b57e8bb
Show file tree
Hide file tree
Showing 14 changed files with 949 additions and 199 deletions.
934 changes: 815 additions & 119 deletions k7sfunc.py

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
### https://github.com/hooke007/MPV_lazy/wiki/3_K7sfunc
### 超级去隔行/反交错

import vapoursynth as vs
from vapoursynth import core
import qtgmc
import k7sfunc as k7f

clip = video_in

Expand All @@ -21,5 +22,5 @@ Gpu = -1
## <True|False> 是否仅使用CPU
## <-1|0|1|2> 使用的显卡序号,-1 为自动,0 为排序一号

clip = qtgmc.QTGMCv2(clip, fps_in=container_fps, obs=True, deint_lv=Deint_Lv, src_type=Src_Type, deint_den=1, tff=Tff, cpu=Cpu, gpu=Gpu)
clip = k7f.DEINT_EX(clip, fps_in=container_fps, obs=True, deint_lv=Deint_Lv, src_type=Src_Type, deint_den=1, tff=Tff, cpu=Cpu, gpu=Gpu)
clip.set_output()
2 changes: 1 addition & 1 deletion portable_config/vs/MEMC_MVT_LQ.vpy
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ H_Pre = 1440
Recal = True
Block = True
Lk_Fmt = False
## 整数,预降低处理源高度
## 整数,预降低处理源高度(填你的显示器高度)
## <True|False> 是否使用二次分析
## <True|False> 是否使用Block模式
## <True|False> 锁定像素格式为yuv420p8
Expand Down
2 changes: 1 addition & 1 deletion portable_config/vs/MEMC_MVT_STD.vpy
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ clip = video_in
H_Pre = 1440
Fps_Out = 60.0
Lk_Fmt = False
## 整数,预降低处理源高度
## 整数,预降低处理源高度(填你的显示器高度)
## 浮点,目标帧率,示例即约60fps。特殊值比如 display_fps/2 即目标为显示器刷新率的一半帧率;填 container_fps*2 即倍帧(越高的帧率增加耗能,产生更多伪影,通常是不必要的。例如对于144hz的显示器来说,最多只需要补到72fps,剩下的可让 --interpolation 帧混成补偿)
## <True|False> 锁定像素格式为yuv420p8

Expand Down
2 changes: 1 addition & 1 deletion portable_config/vs/MEMC_RIFE_NV.vpy
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Gpu_T = 2
St_Eng = False
Ws_Size = 0
Lk_Fmt = False
## 整数,预降低处理源高度
## 整数,预降低处理源高度(填你的显示器高度)
## <True|False> 是否对超过DCI2K分辨率的源进行补帧
## <0|1|2> 场景切换检测的模式,0为禁用
## <2|3|4> 补帧倍率
Expand Down
8 changes: 5 additions & 3 deletions portable_config/vs/MEMC_RIFE_STD.vpy
Original file line number Diff line number Diff line change
Expand Up @@ -15,21 +15,23 @@ H_Pre = 1440
Fps_Num = 2
Fps_Den = 1
Sc_Mode = 1
Skip = True
Stat_Th = 60.0
Gpu = 0
Gpu_T = 2
Lk_Fmt = False
## 整数,预降低处理源高度
## 整数,预降低处理源高度(填你的显示器高度)
## 整数,Fps_Num/Fps_Den 的值即帧率倍数
## 整数
## <0|1|2> 场景切换检测的模式,0为禁用
## 浮点,静止帧的检测阈值,不对该类帧进行补偿计算
## <True|False> 是否跳过静止帧的补偿计算
## 浮点,静止帧的判定阈值
## 使用的显卡序号,0为排序一号
## <1|2|3> 显卡线程数
## <True|False> 是否锁定像素格式为yuv420p8

ret = k7f.FPS_CTRL(clip, fps_in=container_fps, fps_ret=True)
clip = k7f.FMT_CTRL(clip, h_max=H_Pre, fmt_pix=1 if Lk_Fmt else 0)
clip = k7f.RIFE_STD(clip, sc_mode=Sc_Mode, stat_th=Stat_Th, fps_num=2, fps_den=1, gpu=Gpu, gpu_t=Gpu_T)
clip = k7f.RIFE_STD(clip, sc_mode=Sc_Mode, skip=Skip, stat_th=Stat_Th, fps_num=2, fps_den=1, gpu=Gpu, gpu_t=Gpu_T)

clip.set_output()
2 changes: 1 addition & 1 deletion portable_config/vs/MEMC_SVP_LQ.vpy
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ H_Pre = 1440
Cpu = 0
Gpu = 0
Lk_Fmt = False
## 整数,预降低处理源高度
## 整数,预降低处理源高度(填你的显示器高度)
## <0|1> 是否只使用CPU
## <0|11|12|21> 使用的显卡序号,0为排序一号
## <True|False> 是否锁定像素格式为yuv420p8
Expand Down
2 changes: 1 addition & 1 deletion portable_config/vs/MEMC_SVP_PRO.vpy
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Abs = True
Nvof = False
Gpu = 0
Lk_Fmt = False
## 整数,预降低处理源高度
## 整数,预降低处理源高度(填你的显示器高度)
## 整数, Fps_Num/Fps_Den 的计算结果即最终帧率或倍率
## 整数
## <True|False> 输出帧率(True)还是倍率(False)
Expand Down
2 changes: 1 addition & 1 deletion portable_config/vs/NR_BM3D_NV.vpy
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ clip = video_in
# 用户选项 #
############

Nr_Lv = [5,1,1]
Nr_Lv = [5,0,0]
Bs_Ref = 8
Bs_Out = 7
Gpu = 0
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
### https://github.com/hooke007/MPV_lazy/wiki/3_K7sfunc
### Real-CUGAN (pro) 放大,性能要求超级高,N卡专用
### Real-ESRGAN 放大或降噪,性能要求极高,仅支持DX12的显卡使用

import vapoursynth as vs
from vapoursynth import core
Expand All @@ -13,25 +13,22 @@ clip = video_in

H_Pre = 720
Lt_Hd = False
Nr_Lv = -1
Model = 5000
Gpu = 0
Gpu_T = 2
St_Eng = False
Ws_Size = 0
H_Max = 1440
Lk_Fmt = False
## 整数,预降低处理源高度
## <True|False> 是否对超过HD分辨率(720P)的源进行处理
## <-1|0|3> 降噪等级,-1为不降噪
## <0|2|5000|5001|5002|5003|5004> 使用的模型
## 使用的显卡序号,0为排序一号
## <1|2|3> 使用的显卡线程数
## <True|False> 是否使用静态引擎(需要对不同分辨率的源各进行预处理);动态引擎自适应不同分辨率(64²→DCI2K)
## <0~1024> 约束显存(MiB),静态引擎的最小值为128(动态引擎自动双倍),设为低于此数的值即为不限制
## 整数,输出高度限制(填你的显示器高度)
## <True|False> 是否锁定像素格式为yuv420p8

ret = k7f.FMT_CTRL(clip, h_max=1200, h_ret=True)
clip = k7f.FMT_CTRL(clip, h_max=H_Pre, fmt_pix=1 if Lk_Fmt else 0)
clip = k7f.CUGAN_NV(clip, lt_hd=Lt_Hd, nr_lv=Nr_Lv, gpu=Gpu, gpu_t=Gpu_T, st_eng=St_Eng, ws_size=Ws_Size)
clip = k7f.ESRGAN_DML(clip, lt_hd=Lt_Hd, model=Model, scale=4 if Model==2 else 2, gpu=Gpu, gpu_t=Gpu_T)
clip = k7f.FMT_CTRL(clip, h_max=H_Max, fmt_pix=1 if Lk_Fmt else 0)

clip.set_output()
7 changes: 3 additions & 4 deletions portable_config/vs/SR_ESRGAN_NV.vpy
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ clip = video_in
H_Pre = 720
Lt_Hd = False
Model = 5000
Scale = 2
Gpu = 0
Gpu_T = 2
St_Eng = False
Expand All @@ -23,17 +22,17 @@ H_Max = 1440
Lk_Fmt = False
## 整数,预降低处理源高度
## <True|False> 是否对超过HD分辨率(720P)的源进行处理
## <2|5000|5001|5002|5003|5004> 使用的模型
## <2|4> 放大倍率,模型二号应使用4,其它使用2
## <0|2|5000|5001|5002|5003|5004> 使用的模型
## 使用的显卡序号,0为排序一号
## <1|2|3> 使用的显卡线程数
## <True|False> 是否使用静态引擎(需要对不同分辨率的源各进行预处理);动态引擎自适应不同分辨率(64²→DCI2K)
## <0~1024> 约束显存(MiB),静态引擎的最小值为128(动态引擎自动双倍),设为低于此数的值即为不限制
## 整数,输出高度限制(填你的显示器高度)
## <True|False> 是否锁定像素格式为yuv420p8

ret = k7f.FMT_CTRL(clip, h_max=1200, h_ret=True)
clip = k7f.FMT_CTRL(clip, h_max=H_Pre, fmt_pix=1 if Lk_Fmt else 0)
clip = k7f.ESRGAN_NV(clip, lt_hd=Lt_Hd, model=Model, scale=Scale, gpu=Gpu, gpu_t=Gpu_T, st_eng=St_Eng, ws_size=Ws_Size)
clip = k7f.ESRGAN_NV(clip, lt_hd=Lt_Hd, model=Model, scale=4 if Model==2 else 2, gpu=Gpu, gpu_t=Gpu_T, st_eng=St_Eng, ws_size=Ws_Size)
clip = k7f.FMT_CTRL(clip, h_max=H_Max, fmt_pix=1 if Lk_Fmt else 0)

clip.set_output()
36 changes: 36 additions & 0 deletions portable_config/vs/SR_WAIFU_DML.vpy
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
### https://github.com/hooke007/MPV_lazy/wiki/3_K7sfunc
### waifu2x 放大或降噪,性能要求非常高,仅支持DX12的显卡使用

import vapoursynth as vs
from vapoursynth import core
import k7sfunc as k7f

clip = video_in

############
# 用户选项 #
############

H_Pre = 720
Lt_Hd = False
Model = 3
Nr_Lv = 2
Gpu = 0
Gpu_T = 2
H_Max = 1440
Lk_Fmt = False
## 整数,预降低处理源高度
## <True|False> 是否对超过HD分辨率(720P)的源进行处理
## <3|5|6> 使用的模型
## <-1|0|1|2|3> 降噪等级,-1为不降噪
## 使用的显卡序号,0为排序一号
## <1|2|3> 使用的显卡线程数
## 整数,输出高度限制(填你的显示器高度)
## <True|False> 是否锁定像素格式为yuv420p8

ret = k7f.FMT_CTRL(clip, h_max=1200, h_ret=True)
clip = k7f.FMT_CTRL(clip, h_max=H_Pre, fmt_pix=1 if Lk_Fmt else 0)
clip = k7f.WAIFU_DML(clip, lt_hd=Lt_Hd, model=Model, nr_lv=Nr_Lv, scale=2, gpu=Gpu, gpu_t=Gpu_T)
clip = k7f.FMT_CTRL(clip, h_max=H_Max, fmt_pix=1 if Lk_Fmt else 0)

clip.set_output()
8 changes: 5 additions & 3 deletions portable_config/vs/SR_WAIFU_NV.vpy
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
### https://github.com/hooke007/MPV_lazy/wiki/3_K7sfunc
### waifu2x (upconv_7_anime_style_art_rgb) 放大或降噪,性能要求非常高,N卡专用
### waifu2x 放大或降噪,性能要求非常高,N卡专用

import vapoursynth as vs
from vapoursynth import core
Expand All @@ -13,6 +13,7 @@ clip = video_in

H_Pre = 720
Lt_Hd = False
Model = 3
Nr_Lv = 2
Gpu = 0
Gpu_T = 2
Expand All @@ -22,17 +23,18 @@ H_Max = 1440
Lk_Fmt = False
## 整数,预降低处理源高度
## <True|False> 是否对超过HD分辨率(720P)的源进行处理
## <3|5|6> 使用的模型
## <-1|0|1|2|3> 降噪等级,-1为不降噪
## <1|2> 放大倍率,1为不放大
## 使用的显卡序号,0为排序一号
## <1|2|3> 使用的显卡线程数
## <True|False> 是否使用静态引擎(需要对不同分辨率的源各进行预处理);动态引擎自适应不同分辨率(64²→DCI2K)
## <0~1024> 整数,约束显存(MiB),静态引擎的最小值为128(动态引擎自动双倍),设为低于此数的值即为不限制
## 整数,输出高度限制(填你的显示器高度)
## <True|False> 是否锁定像素格式为yuv420p8

ret = k7f.FMT_CTRL(clip, h_max=1200, h_ret=True)
clip = k7f.FMT_CTRL(clip, h_max=H_Pre, fmt_pix=1 if Lk_Fmt else 0)
clip = k7f.WAIFU_NV(clip, lt_hd=Lt_Hd, nr_lv=Nr_Lv, scale=2, gpu=Gpu, gpu_t=Gpu_T, st_eng=St_Eng, ws_size=Ws_Size)
clip = k7f.WAIFU_NV(clip, lt_hd=Lt_Hd, model=Model, nr_lv=Nr_Lv, scale=2, gpu=Gpu, gpu_t=Gpu_T, st_eng=St_Eng, ws_size=Ws_Size)
clip = k7f.FMT_CTRL(clip, h_max=H_Max, fmt_pix=1 if Lk_Fmt else 0)

clip.set_output()
Loading

0 comments on commit b57e8bb

Please sign in to comment.