smplayer-dev / smplayer

Free Media Player for Windows, Linux and Mac OS with YouTube support.
https://smplayer.info
GNU General Public License v2.0
668 stars 94 forks source link

Help needed in enabling pixel shaders. #221

Open shockergit opened 3 years ago

shockergit commented 3 years ago

Can someone please tell me how to enable pixel shaders in smplayer. I'm using Windows 10.

raszpl commented 3 years ago

What pixel shaders? Can you elaborate?

shockergit commented 3 years ago

What pixel shaders? Can you elaborate?

post processing and pre processing pixel shaders like in potplayer and mpc be

smplayer-dev commented 3 years ago

Rendering is done by mpv, so it has to be enabled in mpv. I don't know if this is the option you're looking for: https://mpv.io/manual/stable/#options-glsl-shaders

shockergit commented 3 years ago

Rendering is done by mpv, so it has to be enabled in mpv. I don't know if this is the option you're looking for: https://mpv.io/manual/stable/#options-glsl-shaders

can you make this easy for smplayer by adding a sharpness filter in smplayer

smplayer-dev commented 3 years ago

There's already a sharpness filter: menu Vídeo -> Filters -> Blur/Sharp -> Sharpen.

shockergit commented 3 years ago

There's already a sharpness filter: menu Vídeo -> Filters -> Blur/Sharp -> Sharpen.

that consumes alot of cpu compared to pixel shaders.

smplayer-dev commented 3 years ago

You can try this instead:

Alternatively you can try something like this in the options field: --sharpen=3

shockergit commented 3 years ago

--sharpen=3

Thanks --sharpen=1 this worked also it looks better than pot player but a small problem in 4K its slightly laging but the cpu consumption is lower compared to pot player. Is there any fix for the lag in 4K

shockergit commented 3 years ago

You can try this instead:

* Go to preferences -> general -> video and be sure "gpu" is selected as video output.

* Go to preferences -> advanced -> mplayer/mpv and type this in the options field: `--scale=ewa_lanczossharp --scale-blur=0.8`

Alternatively you can try something like this in the options field: --sharpen=3

After adding this line lag is gone --vo=gpu hwdec=vaapi gpu-context=x11egl --sharpen=1 But a doubt do i need to add -- before gpu-context=x11egl im using intel 2 core cpu.

smplayer-dev commented 3 years ago

The option --gpu-context=x11egl is for linux. The option --hwdec=vaapi I think it's also for linux. And --vo=gpu is already passed by smplayer if you selected gpu as video output in the preferences.

shockergit commented 3 years ago

The option --gpu-context=x11egl is for linux. The option --hwdec=vaapi I think it's also for linux. And --vo=gpu is already passed by smplayer if you selected gpu as video output in the preferences.

is there any other commands like this to reduce cpu load, losing quality is no issue. im using intel N3350 2core --vo=gpu worked i removed other two.

smplayer-dev commented 3 years ago

You can try to increase the threads for decoding and/or enable hardware decoding in preferences -> performance.

shockergit commented 3 years ago

You can try to increase the threads for decoding and/or enable hardware decoding in preferences -> performance.

Thank you soo much.

Also if i have a glsl shader in C:\Program Files\SMPlayer\mpv\shaders\sharpnesscomplex.glsl Is this the correct command to activate it in the options of smplayer --glsl-shader=sharpnesscomplex.glsl

tuqueque commented 2 years ago

You can try to increase the threads for decoding and/or enable hardware decoding in preferences -> performance.

Thank you soo much.

Also if i have a glsl shader in C:\Program Files\SMPlayer\mpv\shaders\sharpnesscomplex.glsl Is this the correct command to activate it in the options of smplayer --glsl-shader=sharpnesscomplex.glsl

Hey, late reply, but I hope it's helpful ('cause to be honest, I think the responses you've got so far have been rather dismissive of the actual question you were asking)… Small disclaimer, though. I use Linux, so the exact details for windows will be slightly different. I'll try to point out those details where necessary.

1.- To use Anime4k shaders in mpv I imagine you followed the instructions to "install" Anime4K in Windows: https://github.com/bloc97/Anime4K/blob/master/md/GLSL_Instructions_Windows.md

An easy way of knowing if it's working, is simply opening a low-res video file (360p) directly in mpv (not SMPlayer), making the window bigger so the video automatically scales up to adapt to the bigger window... and playing with the Anime4K switches (Ctrl+1, Ctrl+2, Ctrl+3...). If you see the changes in the video, then things should be working correctly.

2.- Now, in SMPlayer, make sure you're using the correct "Output driver" and "Hardware decoding" options in the Preferences. In the case of my SMPlayer Linux install, is: Options > Preferences > General > Video > Output driver: gpu Options > Preferences > Performance > Hardware decoding: vdpau

I'm not sure the "vdpau" decoding option is available/correct in Windows, you might need to experiment with this depending on your hardware (Nvidia, AMD, Intel...).

3.- Go to: Options > Preferences > Advanced > MPlayer/mpv

In the "Options:" section, add the line to your shader(s)… In my case, I added the following:

--glsl-shaders="~/.config/mpv/shaders/Anime4K_Clamp_Highlights.glsl:~/.config/mpv/shaders/Anime4K_Restore_CNN_M.glsl:~/.config/mpv/shaders/Anime4K_Upscale_CNN_x2_M.glsl:~/.config/mpv/shaders/Anime4K_Restore_CNN_S.glsl:~/.config/mpv/shaders/Anime4K_AutoDownscalePre_x2.glsl:~/.config/mpv/shaders/Anime4K_AutoDownscalePre_x4.glsl:~/.config/mpv/shaders/Anime4K_Upscale_CNN_x2_S.glsl"

Be mindful of some things:

So theoretically, if I convert my Anime4K command in SMPlayer to your Windows setup, it might look something like:

--glsl-shaders="C:\Users\YOUR_USER\AppData\Roaming\mpv\shaders\Anime4K_Clamp_Highlights.glsl:C:\Users\YOUR_USER\AppData\Roaming\mpv\shaders\Anime4K_Restore_CNN_M.glsl:C:\Users\YOUR_USER\AppData\Roaming\mpv\shaders\Anime4K_Upscale_CNN_x2_M.glsl:C:\Users\YOUR_USER\AppData\Roaming\mpv\shaders\Anime4K_Restore_CNN_S.glsl:C:\Users\YOUR_USER\AppData\Roaming\mpv\shaders\Anime4K_AutoDownscalePre_x2.glsl:C:\Users\YOUR_USER\AppData\Roaming\mpv\shaders\Anime4K_AutoDownscalePre_x4.glsl:C:\Users\YOUR_USER\AppData\Roaming\mpv\shaders\Anime4K_Upscale_CNN_x2_S.glsl"

Of course, change the "YOUR_USER" part in the path to your actual user in your system.

Hopefully this helps. Greets.