Closed BlackMickey closed 2 years ago
I tried on the same file you show here and have no problem:
From your log, I can understand what the problem is. But I can't reproduce it.
If you are using an older version of SVP, please update. The problem might be already solved in an SVP update.
Basically, due to this old issue, AVSF expects 10-bit video to be either in standard P016 form, or the P010 form where zeroes are at LSB. SVP might be output the MSB form via VapourSynth's resize filter. The easy fix would be resize the video to P016.
I can reproduce it. The problem should be with SmoothFps.
smooth = core.svp2.SmoothFps(input_m.resize.Point(format=vs.YUV420P16),...)
smooth = core.svp2.SmoothFps(input_m.resize.Point(format=vs.YUV420P10),...)
Thanks. So you can confirm the problem is the resize with YUV420P10, right? SVP should generate script with YUV420P016 in it, not P010.
Here is the extract of my SVP's generate.js:
res += bl+'input_um = clip.resize.'+(media.is420 ? 'Point':'Bicubic')+'(format=vs.YUV420'+(media.p10?'P16':'P8')+',dither_type="'+dither+'")'+br;
Check yours. If it is not like this, update your SVP.
I'm having the same issue, but the SVP 4/script/generate.js
for me has:
res += bl+'input_um = clip.resize.'+(media.is420 ? 'Point':'Bicubic')+'(format=vs.YUV420'+(media.p10?'P10':'P8')+',dither_type="'+dither+'")'+br;
my SVP is showing as fully updated on my end hm
EDIT: Replacing the line with yours seems to have fixed the issue though
Gotcha. Here is what I'm gonna do.
I will add the P010 conversion code so that regardless if the input is P010 or P016, you will not get green screen. This conversion logic itself will incur some performance penalty, since it will have to convert every pixel.
Some cases after the change:
So only case 3 is problematic. If you don't have P016 video, you are fine.
Try the snapshot build from https://github.com/CrendKing/avisynth_filter/actions/runs/1967569617 see if it works.
I'm having the same issue, but the
SVP 4/script/generate.js
for me has:res += bl+'input_um = clip.resize.'+(media.is420 ? 'Point':'Bicubic')+'(format=vs.YUV420'+(media.p10?'P10':'P8')+',dither_type="'+dither+'")'+br;
my SVP is showing as fully updated on my end hm
EDIT: Replacing the line with yours seems to have fixed the issue though
The generate.js is modified as follows.
res += bl+'input_um = clip.resize.'+(media.is420 ? 'Point':'Bicubic')+'(format=vs.YUV420'+(media.p10? global.player=4? 'P16':'P10':'P8')+',dither_type="'+dither+'")'+br;
Playing 10bit video in mpv won't get a green screen.
Environment
v1.3.1 #fa809c3
R57 API R4.0
Describe the bug
When using Vapoursynth filter in MPC-BE to play 10Bit video, MPC-BE shows green screen.
To Reproduce
MPC-BE with Avisynth filter![MPC-BE+Avisynth](https://user-images.githubusercontent.com/45148363/156874408-98524470-e1f3-4a2f-b4a6-3b63006d8983.jpg)
MPC-BE with Vapoursynth filter![MPC-BE+Vapoursynth](https://user-images.githubusercontent.com/45148363/156874412-c80bdaa7-c064-4615-84da-eb5822e208a6.jpg)
mpv with Vapoursynth![mpv+Vapoursynth](https://user-images.githubusercontent.com/45148363/156874387-d910d221-c96a-4208-823f-a4a1187372a2.jpg)