kitanosan 发表于 2021-1-20 23:07:40

各位能不能帮我看一下这个mpv的Profile条件能不能再修改一下

本帖最后由 kitanosan 于 2021-1-20 23:24 编辑

出于节省性能的考虑,受到万年冷冻库文章中关于“Artifact Removal”的讲解的启发,我打算设置几个Profiles,当视频分辨率大于2560x1440且色深为10Bit及以上时设置deband=no,其余条件下保持启用。
然后根据在mpv.io查到的内容,我的Profiles条件是这么写的(我用的是d3d11va解码)。
8Bit:
profile-cond=((p["video-params/w"]>2560 and p["video-params/h"]>1440)and (p["video-params/hw-pixelformat"]=="nv12" or p["video-params/hw-pixelformat"]=="yuy2" or p["video-params/hw-pixelformat"]=="yv24" or p["video-params/hw-pixelformat"]=="rgb32" or p["video-params/hw-pixelformat"]=="yv12" or p["video-params/hw-pixelformat"]=="uyvy" or p["video-params/hw-pixelformat"]=="ayuv" or p["video-params/hw-pixelformat"]=="rgb24"))非8Bit:
profile-cond=((p["video-params/w"]>2560 and p["video-params/h"]>1440) and (p["video-params/hw-pixelformat"]~="nv12" and p["video-params/hw-pixelformat"]~="yuy2" and p["video-params/hw-pixelformat"]~="yv24" and p["video-params/hw-pixelformat"]~="rgb32" and p["video-params/hw-pixelformat"]~="yv12" and p["video-params/hw-pixelformat"]~="uyvy" and p["video-params/hw-pixelformat"]~="ayuv" and p["video-params/hw-pixelformat"]~="rgb24"))(为什么我能写怎么多,别问,问就是照着LAV的8Bit那两栏抄下来的)
说实话这么一大堆看着有点头疼……各位能不能帮忙看看能不能做出简化,或者有没有什么问题,或者……有没有必要?

孤雨独火 发表于 2021-1-21 03:07:32

本帖最后由 孤雨独火 于 2021-1-21 04:02 编辑

说实话没必要...这个直接快捷键多方便
mpv的默认deband在渣机上很占性能吗,我没测试过(主力机开关没有感知

============

我看了几遍,真的各种意义上很多东西都没必要{:4_987:}

我给出我的建议2:分辨率这个要求好奇怪,可以直接无视,只针对位深处理,8bit一律deband开启。mpv似乎没有bit depths这个属性参数,不然可以简化好多。p.s.我的版本里通用参数是默认关闭deband的


profile-desc=8位的源启用去色带
profile-cond=p["video-params/hw-pixelformat"]=="nv12" or p["video-params/pixelformat"]=="yuv420p"

deband

profile-restore=copy防止手滑或者别的情况中途切成软解了也好对付。。。那些奇奇怪怪的非主流格式就别考虑了(你见过相关的实际成品吗{:4_675:}

kitanosan 发表于 2021-1-21 10:48:11

本帖最后由 kitanosan 于 2021-1-21 11:05 编辑

孤雨独火 发表于 2021-1-21 03:07
说实话没必要...这个直接快捷键多方便
mpv的默认deband在渣机上很占性能吗,我没测试过(主力机开关没有感 ...
我的配置文件(部分)如下:
#Video
hwdec=auto-safe
gpu-api=d3d11
vo=gpu
hr-seek-framedrop=yes
video-sync=display-resample
#video-sync-max-video-change=5
interpolation
tscale=oversample
#d3d11va-zero-copy=no
gpu-shader-cache-dir="~~/shaders_cache"
icc-profile-auto
icc-3dlut-size=256x256x256
icc-cache-dir="~~/icc_cache"
target-prim=auto


profile=gpu-hq
scale=ewa_lanczossharp
cscale=bicubic
dscale=bicubic
scale-antiring=1.0
cscale-param1=0.6
cscale-param2=0.4
cscale-antiring=1.0
dscale-param1=0
dscale-param2=1.5
dscale-antiring=1.0
fbo-format=rgba32f #rgba16hf rgba32f
vd-lavc-threads=0
deband=no


profile-cond=((p["video-params/w"]>2560 and p["video-params/h"]>1440) and p["estimated-vf-fps"]<31 and p["video-params/primaries"]~="bt.2020")
profile=High Quality Base
profile-restore=copy
fbo-format=auto
glsl-shaders-clr
#glsl-shaders-append="~~/shaders/acme-0.5x.hook"
#glsl-shaders-append="~~/shaders/KrigBilateral.glsl"
#glsl-shaders-append="~~/shaders/SSimDownscaler.glsl"
#dscale=mitchell
#linear-downscaling=no
#glsl-shaders-append="~~/shaders/adaptive-sharpen.glsl"
#sigmoid-upscaling=no


profile-cond=p["video-params/hw-pixelformat"]=="nv12" or p["video-params/pixelformat"]=="yuv420p"
deband
profile-restore=copy

片源是从B站上下载的Dreamin ChuChu 翻唱【鹿乃】4K版本。
实测开启deband/关闭deband后:

deband在渣机播放4K视频时的影响还是不能忽视的。
另外似乎mpv不支持将一个Profile的内容转至另一个Profile?总之它显示应用Deband和UHDSDR后结果是未开启deband……不知道是为什么。
另外,您提到的快捷键切换Deband,能不能具体说明一下?

Starlight 发表于 2021-1-21 14:04:10

原本有位深度的属性,后来没了
https://github.com/Moodkiller/MPV-Made-Easy/issues/7

我个人是这样判断的
profile-cond=p["video-params/average-bpp"] < 24



# yuv420p: 12
# yuv420p10: 24
# yuv444p10: 44
profile-cond=p["video-params/average-bpp"] < 24
profile-restore=copy
deband-threshold=128
deband-grain=24

kitanosan 发表于 2021-1-21 16:10:14

Starlight 发表于 2021-1-21 14:04
原本有位深度的属性,后来没了
https://github.com/Moodkiller/MPV-Made-Easy/issues/7



这个条件似乎无法生效,实测确认。

kitanosan 发表于 2021-1-21 16:17:17

孤雨独火 发表于 2021-1-21 03:07
说实话没必要...这个直接快捷键多方便
mpv的默认deband在渣机上很占性能吗,我没测试过(主力机开关没有感 ...

问题现在有了一些进展。我按`打开mpv的控制台后发现mpv先调用的是Deband,然后调用的是UHDSDR,UHDSDR引用了High Quality Base,High Quality Base里又明确写了deband=no。于是就会出现即使Deband符合条件启用也会被后续的UHDSDR覆盖设置的情况。
将High Quality Base的内容改写成以下后问题基本解决:
scale=ewa_lanczossharp
cscale=bicubic
dscale=bicubic
scale-antiring=1.0
cscale-param1=0.6
cscale-param2=0.4
cscale-antiring=1.0
dscale-param1=0
dscale-param2=1.5
dscale-antiring=1.0
dither-depth=auto
correct-downscaling
linear-downscaling
sigmoid-upscaling
fbo-format=rgba16hf #rgba16hf rgba32f
vd-lavc-threads=0
当然也有小瑕疵:凡是非8Bit视频都会关闭去色带。这也只能根据您提到的那样在input.conf里设置去色带的快捷键了。
总之非常感谢。

孤雨独火 发表于 2021-1-21 16:35:17

本帖最后由 孤雨独火 于 2021-1-21 16:37 编辑

kitanosan 发表于 2021-1-21 16:17
问题现在有了一些进展。我按`打开mpv的控制台后发现mpv先调用的是Deband,然后调用的是UHDSDR,UHDSDR引 ...
我再补点说明

icc-3dlut-size 这个默认值就可以了,icc的加载也是影响性能的
target-prim 加载icc就不需要这个了,当然你写的是默认值,不影响
xscale-antiring 这几个抗振铃不支持bilinear和bicubic_fast以及EWA全系
fbo-format 楼上讲了,和icc size差不多属于感知不强,性能徒增的类型
vd-lavc-threads 这个默认不就是0吗...

附全部缩放算法:(括号里带t的那些是tscale能用的)
以下 scale dscale cscale 都可用

    bilinear
    bicubic_fast
    oversample (t)
*** linear (这个只有tscale能用)
    spline16 (t)
    spline36 (t)
    spline64 (t)
    sinc (t)
    lanczos (t)
    ginseng (t)
    jinc
    ewa_lanczos
    ewa_hanning
    ewa_ginseng
    ewa_lanczossharp
    ewa_lanczossoft
    haasnsoft
    bicubic (t)
    bcspline (t)
    catmull_rom (t)
    mitchell (t)
    robidoux (t)
    robidouxsharp (t)
    ewa_robidoux
    ewa_robidouxsharp
    box (t)
    nearest (t)
    triangle (t)
    gaussian (t)

Starlight 发表于 2021-1-21 22:58:54



profile-cond=not p["video-params/average-bpp"] < 24 and ((p["video-params/w"]>2560 and p["video-params/h"]>1440) and p["estimated-vf-fps"]<31 and p["video-params/primaries"]~="bt.2020")

这样写就是了,再把profile=High Quality Base去掉
页: [1]
查看完整版本: 各位能不能帮我看一下这个mpv的Profile条件能不能再修改一下