Aleksoid1978 / VideoRenderer

Внешний видео-рендерер
GNU General Public License v3.0
983 stars 108 forks source link

Video Looks shaky, Scaling issue? [not a bug] #120

Closed bibsp closed 5 months ago

bibsp commented 5 months ago

My laptop has 2 GPUs. AMD integrated and NVIDIA RTX 3050 mobile GPU. Normally Video player uses integrated one by default. I changed windows graphics setting to force MPC to use my RTX card. Now the problem comes. Everything looks shakey if I use RTX card. Turing off HW acceleration doesn't fix it. Latest driver. EVR-CP is fine. So it can't be driver bug. I don't use VLC, madVR. But I tried them. All are fine with NVIDIA. Only MPC-VR has this problem. I don't know the issue is only with downscaling or both scaling. I have not tested much.

See the screenshot of RTX one and zoom it. Screenshot (254) Screenshot (255) Screenshot (256)

v0lt commented 5 months ago

The problem is in the implementation of the frame reduction algorithm in the Nvidia driver. Disable the "DXVA2 and D3D11 Video Processor > Use for resizing" setting.

bibsp commented 5 months ago

I already tried. It is fine if I disable it.

How is EVR-CP clear?

Aleksoid1978 commented 5 months ago

EVR-CP use D3D9, maybe bug in D3D11 implementation.

v0lt commented 5 months ago

How is EVR-CP clear?

EVR-CP by default uses the correct frame reduction shader in MPC-BE.

You can compare with EVR, which uses driver capabilities.

bibsp commented 5 months ago

You can compare with EVR, which uses driver capabilities.

@v0lt You are right. EVR also has this issue. Can anyone report this to Nvidia please.

bibsp commented 3 months ago

Screenshot (267) Screenshot (268)

I just found that, for SDR video the scaling is perfect. Does scaling depend on input format? NV12 is fine, P010 is buggy.

Aleksoid1978 commented 3 months ago

Using VP - all questions to the driver. Use shaders - and everything will be fine.

v0lt commented 3 months ago

I just found that, for SDR video the scaling is perfect. Does scaling depend on input format? NV12 is fine, P010 is buggy.

Compare with the system Enhanced Video Renderer, it will be the same, because this implementation is in the driver.

bibsp commented 3 months ago

EVR is same.

This is a big issue, please someone report this to Nvidia, else they will not fix it anytime soon. I don't know where and how to report. A technical guy can properly explain. I really want to use super resolution feature. But, because of this bug I can't use it.

v0lt commented 3 months ago

This is not Super Resolution, it is a defect or simplification of the image reduction algorithm for P010. This problem can also occur when playing videos in the browser.

For questions to Nvidia, start with this page: https://www.nvidia.com/en-us/support/consumer/

bibsp commented 3 months ago

This is not Super Resolution

Yes I know. Problem is I can't use Nvidia CPU only for upscaling, and shader for downscaling. This is not possible. To get proper scaling I have to use my AMD GPU which doesn't support super resolution. Anyway, thanks...

bibsp commented 2 months ago

This problem can also occur when playing videos in the browser.

I can't reproduce in browser. If you need proof I will share screen recording later. I forced browser to use nvidia gpu and checked task manager. Browser was using nvidia gpu and downscaling was perfect.

clsid2 commented 2 months ago

I wonder if this has any effect on the quality: https://learn.microsoft.com/en-us/windows/win32/api/d3d11/ne-d3d11-d3d11_video_usage

I know it says it is not for realtime use, and that it is about capabilities. Just curious if it also affects scaling algo.