星空
发表于 2019-1-24 20:34:48
谢谢大佬
strangeqaq
发表于 2019-1-27 13:38:45
您好 我想问一下mpv播放那种低分辨率视频 比如480p(710*480)这种 小窗口播放正常,但是大窗口和全屏播放就会蓝屏(播放器蓝屏 不是系统蓝屏),但是声音依然是正常的,只是画面是蓝屏的,这是什么原因
cczzhh
发表于 2019-1-27 13:48:54
strangeqaq 发表于 2019-1-27 13:38
您好 我想问一下mpv播放那种低分辨率视频 比如480p(710*480)这种 小窗口播放正常,但是大窗口和全屏播放就 ...
你用的是哪个版本?这种情况应该是你用的这个版本上游的shaderc有bug,导致使用内置ewa系scaler蓝屏。最近的一次是https://github.com/mpv-player/mpv/issues/6367
试试sourceforge上的最新版有没有问题。
strangeqaq
发表于 2019-1-27 16:51:21
使用了最新版 依然还是老问题 我把log文件放上来吧
cczzhh
发表于 2019-1-27 18:58:46
strangeqaq 发表于 2019-1-27 16:51
使用了最新版 依然还是老问题 我把log文件放上来吧
[ 5.851] shaderc output:
[ 5.851] input:178: error: '' :syntax error, unexpected IDENTIFIER
[ 5.851] shaderc compile status 'error' (1 errors, 0 warnings)
[ 5.851] GLSL source:看了下似乎是nnedi3的编译出了问题。不太确定是哪里的问题,你的nnedi3是用的哪个?提供下精确的网页链接(因为提供了好多版本),然后尝试清空下shaders_cache文件夹,再逐一排查,使用默认scaler,只使用ewa系scaler,只使用nnedi3(搭配默认spline36),看哪个会出问题哪个不会出问题。
strangeqaq
发表于 2019-1-27 19:21:54
cczzhh 发表于 2019-1-27 18:58
看了下似乎是nnedi3的编译出了问题。不太确定是哪里的问题,你的nnedi3是用的哪个?提供下精确的网页链接 ...
https://github.com/bjin/mpv-prescalers/blob/master/compute/nnedi3-nns32-win8x4.hook
https://github.com/bjin/mpv-prescalers/blob/master/compute/nnedi3-nns64-win8x4.hook
用的这两个
另外如果用默认scaler,或者只使用ewa系scaler
glsl-shaders-append="~~/shaders/nnedi3-nns32-win8x4.hook"这行引号里面应该替换成啥
cczzhh
发表于 2019-1-27 19:48:06
本帖最后由 cczzhh 于 2019-1-27 19:53 编辑
strangeqaq 发表于 2019-1-27 19:21
https://github.com/bjin/mpv-prescalers/blob/master/compute/nnedi3-nns32-win8x4.hook
https://github ...
我记错了,nnedi3并没有rgba16hf的问题。
如果想测试关闭nnedi3,把nnedi3那行注释掉就可以了。
strangeqaq
发表于 2019-1-27 21:56:13
cczzhh 发表于 2019-1-27 19:48
我记错了,nnedi3并没有rgba16hf的问题。
如果想测试关闭nnedi3,把nnedi3那行注释掉就可以了。
测试了下
# 1080 / 16 * 9 = 607.5
# 480p 576p
profile-desc=cond:((p["video-params/w"]<1080 and p["video-params/h"]<608) and (p["video-params/w"]>678 or p["video-params/h"]>381))
glsl-shaders-clr
glsl-shaders-append="~~/shaders/KrigBilateral.glsl"
#glsl-shaders-append="~~/shaders/nnedi3-nns64-win8x4.hook"
scale=haasnsoft
sigmoid-upscaling=yes
vd-lavc-threads=0
把nnedi3那行注释掉就不蓝屏了
cczzhh
发表于 2019-1-27 23:17:44
strangeqaq 发表于 2019-1-27 21:56
测试了下
# 1080 / 16 * 9 = 607.5
# 480p 576p
仔细研究了一下你产生的log文件和我的log的区别,我发现一个差别:
你的:
[ 5.853] imageStore(out_image, ivec2(gl_GlobalInvocationID) * ivec2(2, 1), ret0);
[ 5.853] imageStore(out_image, ivec2(gl_GlobalInvocationID) * ivec2(2, 1) + ivec2(1, 0), ret);
[ 5.853] }// hookvoid main() {
[ 5.853] vec4 color = vec4(0.0, 0.0, 0.0, 1.0);
[ 5.853] hook();
[ 5.853] color.g = 0.000000;
[ 5.853] color.b = 0.000000;
[ 5.853] color.a = 1.000000;
[ 5.853] }正确的:
imageStore(out_image, ivec2(gl_GlobalInvocationID) * ivec2(1, 2), ret0);
imageStore(out_image, ivec2(gl_GlobalInvocationID) * ivec2(1, 2) + ivec2(0, 1), ret);
}// hook
void main() {
vec4 color = vec4(0.0, 0.0, 0.0, 1.0);
hook();
color.g = 0.000000;
color.b = 0.000000;
color.a = 1.000000;
}而nnedi3 shader文件最后的是:
imageStore(out_image, ivec2(gl_GlobalInvocationID) * ivec2(2, 1), ret0);
imageStore(out_image, ivec2(gl_GlobalInvocationID) * ivec2(2, 1) + ivec2(1, 0), ret);
} // hook即shaderc插入main函数的时候,因为你的文件文末没有换行符,导致void main被插到同一行的注释里了,导致编译失败。
所以我猜想你下载nnedi3 shader文件是复制代码内容记事本粘贴到空文本里的?推荐点raw按钮,然后右键另存为。
strangeqaq
发表于 2019-1-29 00:19:21
cczzhh 发表于 2019-1-27 23:17
仔细研究了一下你产生的log文件和我的log的区别,我发现一个差别:
你的:
正确的:
解决了!阿里嘎多!!