unlight
发表于 2021-1-6 20:24:04
Starlight 发表于 2021-1-6 18:44
试试看用这个脚本
i420只能8bit是吧?
Starlight
发表于 2021-1-6 20:27:32
unlight 发表于 2021-1-6 20:24
i420只能8bit是吧?
你换用我刚刚发的脚本应该可以10bit输出。画面的改变我不清楚因为我只有8位深的屏幕,看不出{:4_675:}
孤雨独火
发表于 2021-1-6 20:41:15
Starlight 发表于 2021-1-6 20:27
你换用我刚刚发的脚本应该可以10bit输出。画面的改变我不清楚因为我只有8位深的屏幕,看不出
...
我在svp manager里开关10bit,脚本参数完全不会变,我不清楚是bug还是帧间处理只支持8bit最后输出10bit{:4_675:}
Starlight
发表于 2021-1-6 20:52:23
孤雨独火 发表于 2021-1-6 20:41
我在svp manager里开关10bit,脚本参数完全不会变,我不清楚是bug还是帧间处理只支持8bit最后输出10bit{: ...
vo 那一行是p10,输出应该是10bit的,但是其他色深的比如8bit也会被提升至10bit,副作用不明。
我现在用的电脑不太行,无力测试。
svp manager改了设置新生成的vpy应该是有改变的,应该……
孤雨独火
发表于 2021-1-6 20:54:55
本帖最后由 孤雨独火 于 2021-1-6 21:02 编辑
Starlight 发表于 2021-1-6 20:52
vo 那一行是p10,输出应该是10bit的,但是其他色深的比如8bit也会被提升至10bit,副作用不明。
我现在用 ...
我的锅,绝了,扒了一下svp的论坛,有人反馈这个问题,居然10bit必须要硬件加速开启{:4_675:}
svpflow开启硬件加速的情况下,同时mpv解码端最好也是(xxxx-copy),似乎只需要改这一部分就行
input_um = clip.resize.Point(format=vs.YUV420P10,dither_type="random")
input_m = input_um
input_m8 = input_m.resize.Point(format=vs.YUV420P8)
Starlight
发表于 2021-1-6 21:10:09
本帖最后由 Starlight 于 2021-1-6 21:18 编辑
孤雨独火 发表于 2021-1-6 20:54
我的锅,绝了,扒了一下svp的论坛,有人反馈这个问题,居然10bit必须要硬件加速开启
svpflow开 ...
会不会所有视频都被提升至10bit?
如果不会的话super analyse smooth分别传入了三个input中的哪一个?
dither_type="error_diffusion"应该能获取更高质量的结果?以及降低色深是否有抖动的必要?
孤雨独火
发表于 2021-1-6 21:37:47
本帖最后由 孤雨独火 于 2021-1-6 21:41 编辑
Starlight 发表于 2021-1-6 21:10
会不会所有视频都被提升至10bit?
如果不会的话super analyse smooth分别传入了三个input中的哪一个?
会,最好还是得分开写{:4_686:}
完整列出
import vapoursynth as vs
core = vs.get_core(threads=8)
clip = video_in
super_params = "{scale:{up:0},gpu:1,rc:true}"
analyse_params = "{block:{w:32},main:{search:{coarse:{type:2,distance:-6,bad:{sad:2000,range:24}},type:2}},refine:[{thsad:250}]}"
smoothfps_params = "{gpuid:21,gpu_qn:2,rate:{num:600000,den:10000,abs:true},algo:2,mask:{area:200},scene:{}}"
#gpuid默认为0,双显卡笔记本使用21
src_fps = container_fps if container_fps>0.1 else 23.976
demo_mode = 0
stereo_type = 0
nvof = 0
def interpolate(clip):
# input_um - original frame in 4:2:0
# input_m- cropped and resized (if needed) frame
# input_m8 - input_m converted to 8-bit
input_um = clip.resize.Point(format=vs.YUV420P10,dither_type="random")
input_m = input_um
input_m8 = input_m.resize.Point(format=vs.YUV420P8)
if nvof:
smooth= core.svp2.SmoothFps_NVOF(input_m,smoothfps_params,nvof_src=input_m8,src=input_um,fps=src_fps)
else:
super = core.svp1.Super(input_m8,super_params)
vectors = core.svp1.Analyse(super["clip"],super["data"],input_m8,analyse_params)
smooth= core.svp2.SmoothFps(input_m,super["clip"],super["data"],vectors["clip"],vectors["data"],smoothfps_params,src=input_um,fps=src_fps)
if demo_mode==1:
return demo(input_m,smooth)
else:
return smooth
if stereo_type == 1:
lf = interpolate(core.std.CropRel(clip,0,(int)(clip.width/2),0,0))
rf = interpolate(core.std.CropRel(clip,(int)(clip.width/2),0,0,0))
smooth = core.std.StackHorizontal()
elif stereo_type == 2:
lf = interpolate(core.std.CropRel(clip,0,0,0,(int)(clip.height/2)))
rf = interpolate(core.std.CropRel(clip,0,0,(int)(clip.height/2),0))
smooth = core.std.StackVertical()
else:
smooth =interpolate(clip)
#
smooth.set_output()
unlight
发表于 2021-1-6 22:26:34
孤雨独火 发表于 2021-1-6 21:37
会,最好还是得分开写
完整列出
这个可以直接代替原本的SVP_Anime,当作常驻了吧(
确实可以正常插第二季不报错
不过input_um、m、m8这三个是什么关系?还是没太搞明白
unlight
发表于 2021-1-6 22:30:49
本帖最后由 unlight 于 2021-1-6 22:39 编辑
确实不行,这个根本不能用…正常视频也无法插
那个“能插”是假象,只是不报错,实际不工作
之前您发给我的那个“sp”也是,只是不报错,实际不工作
unlight
发表于 2021-1-6 22:35:20
Starlight 发表于 2021-1-6 18:44
试试看用这个脚本
这个只能插普通视频,不能插蔷薇少女第一季第一集和第二季