Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
|
29th June 2020, 14:34 | #1 | Link |
Registered User
Join Date: Jun 2020
Posts: 303
|
Video player Shaders guide (MPC-HC, mpc-BE, mpv)
Video player Shaders (unofficial guide)
Video Adjustment shaders Pack (dx9, dx11 hlsl and mpv glsl.hook): [A-Pack] v1.50 Released (2023-11) Contrast adaptive Sharpening (AMD CAS) shader (dx9/dx11). Filmgrain Shaders grain.hlsl (dx9/dx11), mpv In addition to video player shaders, this topic covers configuration, user interface and performance of open-source video players available on Windows. MPC-HC MPC-BE, mpv, mpv.net are feature packed video players that offer great features and performance, together with extensive configuration options. Post index: # Comparison of shader features in video players # Shaders Folder, Paths & extensions # New Shader features in Mpc-hc (v1.9.8.65) # Custom hotkeys, Seeking, Chapters, Playlist # Screenshots # Comparison of video player features (Win10) # Mpc Command Line Switches # Video Player installation https://forum.doom9.org/showthread.p...73#post1934473 # Color mapping with Shaders https://forum.doom9.org/showthread.p...82#post1935482 # (custom) windowed zoom: 150% # Time display formats, ex: 01:25 / 53:15 MPC video-renderer, Mpc-vr # Shader support in mpc video renderer (mpc-vr) # Surface/texture format MPV # mpv (windows): my tips New # Mpv shader basics # mpv hotkeys # mpv built-in scalers (2023-10) new Defaults ! # mpv Auto-Profiles # How to change settings/properties at runtime with mpv # default input.conf. --no-input-default-bindings # custom OSD in mpv # mpv script: avg-bitrate.js # more mpv custom OSD scripts # mpv-android # restart-mpv # custom context menu # custom overlay: modern progress bar # mpv scripts: lua or js ? # mpv script: short time format OSD, btime.js # Cartoon Shaders https://forum.doom9.org/showthread.p...55#post1928755 Videohelp: # What shaders should I use in potplayer? # Pixel-shaders for video playback (.hlsl, .glsl) --- Fix Mpc-hc issues with evr-cp (dx9) on intel Xe driver (used by 11th gen and later intel igpu, ex: intel uhd730) Issue: Broken seeking after reaching end of file, repeat doesn't work. Affects all versions of mpc-hc. Fix: rename mpc-hc64.exe to mpc.exe. Mpc-hc + Shaders install (with default dx9 EVR-CP renderer) unofficial guide 32 vs 64 bit program version doesn't matter for shaders. Mpc-hc installs the default shaders in the player directory Shaders subfolder. They are not required to run mpc-hc (they can be modified/deleted as required). It is also possible to download shader files available on the internet or write your own. Files with .hlsl extension in Shaders subfolder are listed in `Option->Shaders` submenu. Install directory does matter. To be able to modify shader parameters you need to have write access to the directory where the shader.hlsl file is located (by default the Shaders subfolder). Also to have the option to use mpc-hc.ini, mpc-hc must have write access to the Install directory (if not the option is greyed out). This will not be the case for a standard user on Win10 by default with a `c:\Program Files\MPC-HC` install. To get around this, you need to either re-install to a user directory or change folder permissions. For testing, the simplest solution is to copy a portable version + mpc.ini in its own directory (no-install required). How to get corresponding Shaders Menu when you install Shaders files ? To be able to apply Effects quickly, they need to be saved as Shader Presets. You can then change Effects through the Shaders right-click Menu Shader presets can be created/saved by using the `Select Shaders...` menu option, but by editing mpc-hc.ini we can get a ready to use Shaders Menu directly. Mpc-hc Shader Menu mod guide: Mpc-hc settings are stored either in the registry or in an .ini file, based on setting `Mpc-hc->Options->Player->Store settings in .ini file.`. This option will be greyed out, if mpc-hc doesn't have write access to the install folder. Editing mpc-hc.ini (Close Mpc-hc before you start. It is advisable to make a backup copy before making any changes) With a text editor, search for the Shaders\Presets section. Here is an example of what you might have: [Shaders\Presets] 0= Disable 1=Sepia 2=Luma+Grain 3=Pixelate PostResize0= PostResize1= PostResize2=.\LumaSharpen.hlsl;.\PS_Noise.hlsl PostResize3= PreResize0= PreResize1=.\Sepia.hlsl PreResize2= PreResize3=.\bPixelate.hlsl You can directly edit preset names, Pre and PostResize shader chain filepaths. Be careful that all numbers must remain available: deleting 1=Sepia would cause issue here ! Shaders Menu display order: Preset names are sorted alphabetically. To control the display order, preset names could be numbered (00, 01, etc.). For more advanced users, Shader Presets can be used to setup Multi-Pass shaders. Modifying shader files .hlsl files contain the Shader function and parameter values. In most cases, the effect has parameter values that can be modified. This can be done with any text editor (I use Notepad++, a multitabbed editor which offers c-syntaxic coloring). After saving the changes, they are applied instantly to the video playing. In the case of LumaSharpen.hlsl which was developed for SweetFX game shaders pack, the default parameter values are not those recommended in this forum for video content playback. If you want to switch between different parameter values for the same shader without editing, you can create a new shader with the desired parameter values, ex: LumaSharpen_3-1.20-0.015.hlsl. With this approach the Shaders subfolder (and the shader list) can quickly become overcrowded, so it is important to know which shaders you want to use, together with the associated parameter values.
__________________
bShaders: realtime Effects/filters for video players Last edited by butterw2; 20th January 2024 at 12:07. Reason: +mpc-hc/evr-cp fix on modern intel, +btime.js,+grain +CAS |
30th June 2020, 04:27 | #2 | Link |
Registered User
Join Date: Dec 2008
Posts: 2,091
|
I think there isn’t enough shader compilation checking.
For DirectX 9 Code:
fxc.exe /T ps_3_0 /Fc "Shader9.txt" "Shader9.hlsl" Code:
fxc.exe /T ps_4_0 /Fc "Shader11.txt" "Shader11.hlsl"
__________________
MPC-BE 1.8.0 and Nightly builds | VideoRenderer | ImageSource | ScriptSource | BassAudioSource |
30th June 2020, 08:31 | #3 | Link |
Registered User
Join Date: Jun 2020
Posts: 303
|
I haven't tried the external dx11 renderer so far, but I understand it requires dx11 shaders, which have a slightly different syntax than dx9 shaders.
Doesn't the compiler have a backwards compatibility mode (fxc /Gec ?) to enable use of dx9 shader files in dx11 ? All the currently available third party .hlsl shaders available online were written for dx9.
__________________
bShaders: realtime Effects/filters for video players |
7th July 2020, 03:05 | #4 | Link |
Registered User
Join Date: Jun 2020
Posts: 303
|
Optimized 2-pass Gaussian Blur (9-tap) shader:
bShaders\blurGauss.hlsl >> blurGauss_Y.hlsl the kernel is hardcoded so you can't adjust parameters. Run it multiple times to achieve a stronger effect (ex: 5x). below are Blur Gaussian and Blur Gaussian (5x) shader presets for mpc-hc. mpc-hc.ini: [Shaders\Presets] 0= Disable 1=Blur Gaussian 2=Blur Gaussian (5x) PostResize0= PostResize1= PostResize2= PreResize0= PreResize1=.\blurGauss.hlsl;.\blurGauss_Y.hlsl PreResize2=.\blurGauss.hlsl;.\blurGauss_Y.hlsl;.\blurGauss.hlsl;.\blurGauss_Y.hlsl;.\blurGauss.hlsl;.\blurGauss_Y.hlsl;.\blurGauss.hlsl;.\blurGauss_Y.hlsl;.\blurGauss.hlsl;.\blurGauss_Y.hlsl For a near gaussian blur with an adjustable parameter, use boxBlur (3x) based on 2pass blurMean. A multipass Kawase blur, also can approximate a gaussian depending on parameters. For best performance with Heavy bluring, Dual-Kawase downsizes the video, blurs, and resizes-up.
__________________
bShaders: realtime Effects/filters for video players Last edited by butterw2; 7th July 2020 at 22:18. Reason: added bShaders link + Kawase blur info |
15th July 2020, 15:43 | #5 | Link |
Registered User
Join Date: Jun 2020
Posts: 303
|
# Pan&Scan Presets (built-in Zoom-Crop vs shaders)
Mpc-hc and mpc-be have a "View>Pan&Scan" zoom-crop built-in feature. This transformation happens before user shaders.
Editing PnS Presets: specify center (x,y) and zoom (x, y). - center (0.5, 0.5): middle of the screen - zoomX and zoomY should be equal to keep the source Aspect Ratio. 1: no magnification. The most useful preset is probably "Zoom to widescreen" which will crop horizontal and vertical borders on the corresponding 4/3 source material when displayed on a 16/9 screen. - `Numpad 5` hotkey: resets PnS zoom (also displays source AR). PnS zoom is also reset when you close the player. - You can manually adjust zoom using Numpad 9(+) and 1(-) hotkeys. Observations: - Center of Screen PnS fixed zoom works well, whatever the source Aspect Ratio. - I initially tried to display only part of the source image with Pan&Scan (ex: fill the screen with first quarter of frame), but found pre-resize shaders more capable for this use case. The issue with PnS (beside the confusing x, y values) is black bars on resize, when the source doesn't have screen 16/9 AR (ex: 21/9 film content, 9/16 vertical video). Quarter zoom PnS presets: x, y values (zoom: 2, 2), works well for 16/9 input. - top left Quarter: 1, 1, - top right: 0, 1. - bottom left Quarter: 1, 0 - bottom right: 0, 0. Fs2xRightSide PnS preset could be used for right side offset 2x zoom for non 16/9 landscape. in mpc-hc.ini: [Settings\PnSPresets] Code:
Preset0=Widescreen zoom,0.500,0.500,1.333,1.333 Preset1=Quarter Top-L,1,1,2,2 Preset2=Fs2xRightSide-L,0,0.5,2,2 "Video Frame > Touch window from outside" is a centered fullscreen crop mode based on the input video Aspect Ratio. Fills the window/screen by zooming and cropping the video.
__________________
bShaders: realtime Effects/filters for video players Last edited by butterw2; 29th November 2020 at 00:19. Reason: PnS manually adjusted zoom : +numpad9 and -1 |
22nd July 2020, 17:44 | #6 | Link |
Registered User
Join Date: Jun 2020
Posts: 303
|
# mpc-hc/be don't support hw linear sampling
Linear sampling is a performance optimization technique for gpu pixel shader. The idea is to reduce the number of pixel (texture) fetches required by an algorithm by sampling between pixels and exploiting hardware linear interpolation.
a 2-pass pre-resize shader test was performed: https://github.com/butterw/bShaders/...linearSampling - pass-1 generate a black and white stripe test motif, - pass-2 use linear sampling Expected: interpolation, colored Red Result: no interpolation (Nearest Neighbor). If the offset is set to 0.5 pixel: produces some rounding artefacts ! Software and hardware setup - mpc-hc v1.9.6 + EVR-CP. Also tested in mpc-be - old intel igpu (hd4400), not the latest Win10 + drivers ## Linear Sampling (in hlsl): tex2D(s0, tex + k*p1) where k is non integer the effect of Nearest Neighbor sampling is to round k.x, k.y to the nearest integer. If k.x or k.y is a half, you then get some rounding artefacts. While it certainly is possible to get rid of the rounding artefacts, they are a symptom of the larger problem: Linear Sampling not being supported, which has major implications for the math analysis. Linear sampling is exploited by perf optimized convolution kernel shaders (such as: Luma Sharpen, gaussian blur, etc.). If it isn't supported, the shaders still produce an output, but a suboptimal one. The provided test allows for the user to test whether linear sampling is actually supported. Edit (linear sampling works in mpv): the same test using rgb32 png input was performed on the same configuration with a glsl shader (mpv video player, vo=gpu), and I'm getting the expected result there ! https://github.com/butterw/bShaders/...linearSampling Edit2 (hw linear sampling isn't supported in mpc-hc/be): hw linear sampling also not working as expected in mpc-hc/be with mpc-vr as video renderer in dx9 and dx11 modes. https://github.com/clsid2/mpc-hc/issues/748 This impacts shaders such as LumaSharpen.hlsl
__________________
bShaders: realtime Effects/filters for video players Last edited by butterw2; 26th March 2021 at 10:51. Reason: Works as expected in mpv ! |
22nd July 2020, 22:39 | #7 | Link |
Registered User
Join Date: Mar 2009
Location: Russian Crimea
Posts: 335
|
I know but result of that translation is bad enough or some 'know how' must be known to get it working well.
Besides - I don't really sure libplacebo (only?) do desirable color transformation (HLGtoSDR) or VLC uses something else - I'm not programmer at all and moreover I'm not shader programmer ( Here's somehow working HLGtoSDR shaders https://transfiles.ru/svler - Convert HDR to SDR.hlsl in HDR folder work well enough but for ordinary HDR files like 23_Samsung_HDR_Wonderland.mkv (97 MB) https://yadi.sk/i/ZgkOWjcEwWQNkQ - not for HLG files like 20190831-160457_RTL UHD.mkv (135 MB) https://yadi.sk/i/SRloXWrOP-L-xA I even don't know that (not in HDR folder) shaders was taken from libplacebo or somewhere else PS. Here's long time (more than 4 minutes) test files https://forum.doom9.org/showthread.p...34#post1919134 Last edited by VictorLS; 23rd July 2020 at 00:17. |
23rd July 2020, 11:32 | #8 | Link |
Registered User
Join Date: Jun 2020
Posts: 303
|
I'm afraid, my experience on the subject of HDR to SDR tonemapping is rather limited.
mpc-be does some tonemapping by default (using hlsl shaders I believe). If I understand you correctly, you claim that the method used by vlc and mpv gives more accurate results ? If there was a mpv glsl .hook file, that might be a better starting point for a port than libplacebo (c file with inlined GLSL). I've tried the provided "Convert HDR to SDR.hlsl" shader in mpc-hc. The colors seem oversaturated for my taste (while the colors are washed out without it). The processing is not that complex (~100 lines of actual code), so it should be achievable to get the shader part working if a reference glsl implementation exists. Regarding the provided sample files: - 20190831-160457_RTL UHD.mkv is UHD-50 hevc 10bit HDR 41Mbps - 23_Samsung_HDR_Wonderland.mkv UHD hevc 10bit HDR 22.5Mbps Without considering the issue of tonemapping, these files do not play smoothly on an old pc/integrated graphics + 1080p SDR screen like mine. For testing purposes, short samples are probably fine, I would suggest downconverting the most relevant ones to 1080p, reducing the bitrate 10/20x, maybe remove the audio, provide screenshots (with frame timestamp/frame number) of what you regard as desirable (from mpv, avisynth) vs what was achieved and host this with the code on a server that will not delete your files.
__________________
bShaders: realtime Effects/filters for video players |
23rd July 2020, 14:02 | #9 | Link | |||||||
Registered User
Join Date: Mar 2009
Location: Russian Crimea
Posts: 335
|
Thanks for reply.
Quote:
Btw I have SDR (BT.709) monitor too - that's why I want to find good HLGtoSDR shader but couldn't yet ( Quote:
Quote:
Quote:
Quote:
Quote:
Quote:
Last edited by VictorLS; 23rd July 2020 at 14:04. |
|||||||
23rd July 2020, 17:22 | #10 | Link |
Registered User
Join Date: Jun 2020
Posts: 303
|
# HDR to SDR Tone mapping shader
Tone mapping is required to correctly display any HDR encoding (typ 1080p Hevc 10bit HDR encode from UHD bluray) displayed on a Standard Dynamic Range computer screen (almost all current monitors are non-HDR).
mpc-hc doesn't do any tone mapping by default: so colors look washed out. If you enable the provided Convert HDR to SDR.hlsl shader, the results seem quite watchable for HDR content. It's also a reasonably lightweight shader (1 texture, 44 arithmetic). Edit: the code likely comes from mpc-be and has 2 tuning parameters (LuminancePeak_Gain, Gamma). Such a shader can improve the viewing of a washed-out color video (ex: encode of an HDR source to SDR with no tonemapping applied, or undersatured SDR video). It shouldn't be used otherwise. mpc-be and vlc come with built-in SDR Tone mapping, which is applied automatically (there doesn't seem to be a setting to deactivate it !). The samples (RTL title screen) in your first post here https://forum.doom9.org/showthread.php?t=176909 seem like a good starting point regarding the specific case of Hybrid Log-Gamma (HLG) HDR used in UHD satellite broadcasts . - 23_Samsung_HDR_Wonderland.mkv (UHD hevc 10bit HDR 22.5Mbps) -20190831-160457_RTL UHD.mkv (UHD-50 hevc 10bit HLG HDR 41Mbps): quite specific sample because it contains a lot of white smoke. I actually prefer no tone mapping on this sample vs oversaturated result. Also, on my PC performance is awful with VLC with these 2 samples.
__________________
bShaders: realtime Effects/filters for video players Last edited by butterw2; 19th October 2020 at 17:56. |
23rd July 2020, 21:26 | #11 | Link | ||||||
Registered User
Join Date: Mar 2009
Location: Russian Crimea
Posts: 335
|
Quote:
Quote:
Quote:
SDR FullHD H.264 20190511-130113_ARENA HD_flag.ts (38 MB) https://yadi.sk/i/HiuZ5Rb2RKkc0g HLG 4K H.265 20190511-152944_RTL UHD_flag.ts (67 MB) https://yadi.sk/i/985DVw34OHQrrA Quote:
Quote:
Quote:
Last edited by VictorLS; 23rd July 2020 at 21:32. |
||||||
25th September 2020, 20:13 | #12 | Link |
Registered User
Join Date: Feb 2019
Posts: 235
|
Thanks, I actually just e-mailed Jan-Willem Krans this afternoon asking about it and he whipped up a simple shader to do what I wanted in this case.
Code:
#define RedControls 0 #define BlueControls 0 // RedShiftLeftToRight and BlueShiftLeftToRight, a value of 3. will shift three pixels to the right, 0 is disabled #define RedShiftLeftToRight 0. #define BlueShiftLeftToRight 0. // RedShiftTopToBottom and BlueShiftTopToBottom, a value of 3. will shift three pixels to the bottom, 0 is disabled #define RedShiftTopToBottom 0. #define BlueShiftTopToBottom 0. sampler s0; float2 c1 : register(c1); float4 main(float2 tex : TEXCOORD0) : COLOR { float4 s1 = tex2D(s0, tex);// base pixel #if RedControls == 1 s1.r = tex2D(s0, tex+c1*float2(RedShiftLeftToRight, RedShiftTopToBottom)).r;// base red pixel #endif #if BlueControls == 1 s1.b = tex2D(s0, tex+c1*float2(BlueShiftLeftToRight, BlueShiftTopToBottom)).b;// base blue pixel #endif return s1; } Basically a projector can look like this: https://lowtek.ca/roo/wp-content/upl...03/avsbad3.jpg Some higher end projectors have internal software corrections for this sort of issue that you can adjust, but others do not, and that's where this shader comes in. I used his shader that you posted, but that one has complex pixel interpolation and breaks the perfect 1:1 pixel mapping that I wanted. this new simple shader he wrote or me does exactly what I wanted now. I do have some other ideas for some simple shaders that I want to try making and I may post here if I have questions about how to do something as I start tinkering around with them. Last edited by SirMaster; 26th September 2020 at 17:49. |
25th September 2020, 21:48 | #13 | Link |
Registered User
Join Date: Jun 2020
Posts: 303
|
You just wanted a configurable (x, y) pixel offset on red and blue channels. Very simple indeed using a pixel shader. This could also be used as an effect of sorts, I suppose.
if I can add anything at all, p1 would be a more common name for the pixel offset: float2 p1: register(c1);
__________________
bShaders: realtime Effects/filters for video players |
30th September 2020, 17:51 | #14 | Link |
Registered User
Join Date: Feb 2019
Posts: 235
|
Here is a shader I made for simple 4 way masking.
Code:
#define width 1920. #define height 1080. #define left 0 #define right 0 #define top 0 #define bottom 0 sampler s0; float4 main(float2 tex : TEXCOORD0) : COLOR { if(tex.x >= (left/width) && tex.x <= 1-(right/width) && tex.y >= (top/height) && tex.y <= 1-(bottom/height)) return tex2D(s0, tex); return float4(0, 0, 0, 1); } This is useful for projectors that don't have a built in 4 way masking control. |
30th September 2020, 18:27 | #15 | Link | |
Registered User
Join Date: Jun 2020
Posts: 303
|
Here's my own optimized implementation from barMask.hlsl (Mode==112)
"if" conditionals are quite inefficient with pixel shaders, so the code uses a boolean insideBox function instead. All functions in HLSL are inline. An inline function generates a copy of the function body (when compiling) for each function call. #define macro functions are also commonly used. Quote:
__________________
bShaders: realtime Effects/filters for video players Last edited by butterw2; 30th September 2020 at 20:30. Reason: Code was copy-pasted, hopefully without mistakes |
|
24th November 2020, 15:34 | #17 | Link |
Registered User
Join Date: Jun 2020
Posts: 303
|
# mpv shader hotkeys
Mpv comes with a number of predefined keyboard shortcuts. You can add new shorcuts and individually override pre-existing ones by creating an input.conf file. ./portable_config/input.conf : Code:
# Display the list of active shaders: CTRL+0 show-text "Shaders: ${glsl-shaders:}" # Switch to a new shader chain: CTRL+9 change-list glsl-shaders set "NoChroma.hook" # Associate a hotkey to a shader, so it can be toggled on/off: CTRL+1 change-list glsl-shaders toggle "./shaders/gSmooth.hook" # Clear all Shaders (there are 2 ways to do it, with slightly different results): CTRL+DEL change-list glsl-shaders set "" #glsl-shaders will be a table containing an empty string, same as --glsl-shaders="" CTRL+p change-list glsl-shaders clr all; show-text "Shaders Cleared" #glsl-shaders will be an empty table, same as --glsl-shaders-clr EDIT:! When shaders are cleared, the previous shader chain is lost (it can't be re-enabled, it has to be re-created). To avoid this the external script shaders-switch.js can be used: https://github.com/mpv-player/mpv/issues/8512 and bound to CTRL-P. ! To force modified shaders to recompile, you have to restart-mpv.
__________________
bShaders: realtime Effects/filters for video players Last edited by butterw2; 13th January 2024 at 19:27. Reason: +linked: restart-mpv |
27th November 2020, 13:39 | #18 | Link |
Registered User
Join Date: Jun 2020
Posts: 303
|
#Shaders Folder, Paths and extensions
In mpv - shaders can use any paths or file extension (.hook is typically used). - because shaders can be specified at the command line: ---avoid spaces in filepaths. ---keep paths short examples using a relative path from the program directory: bw.hook "shaders/shade.hook" In Mpc-hc mpc-hc uses ./Shaders for dx9 shaders. The Select Shaders... Interface, (O) Options... > Playback > Shaders shows .hlsl files in ./Shaders and its subdirs. If you have a lot of shaders, it is useful to move the less frequently used ones to subdirs. An empty shader named z------------------------------------------------------------------------------------.hlsl can be used as a separator. The interface also allows to load and save Shader presets.
__________________
bShaders: realtime Effects/filters for video players Last edited by butterw2; 20th February 2021 at 17:10. |
4th December 2020, 20:29 | #19 | Link |
Registered User
Join Date: Jun 2020
Posts: 303
|
# mpv Auto-Profiles
The following is an example of an automatic profile in mpv.conf based on video file properties. The profile is triggered when profile-cond (a lua expression based on file properties) is true. ex: profile-cond=width>=1280 in mpv.conf: Code:
#mpv auto-profile example [filename_wsz] profile-desc= 4/3>>16/9 fullscreen PnS if _wsz in filename profile-cond= string.match(filename, "_wsz")~=nil video-zoom=0.42 fs=yes profile-restore=copy Nice. EDIT: it's also possible to create and use a custom .wsz extension associated with mpv. In which case it's even simpler: Code:
[extension.wsz] profile-desc= 4/3>>16/9 PnS for files with .wsz extension video-zoom=0.42
__________________
bShaders: realtime Effects/filters for video players Last edited by butterw2; 5th December 2020 at 00:41. |
5th December 2020, 07:58 | #20 | Link |
Registered User
Join Date: Mar 2002
Posts: 2,323
|
I used an auto-profile script (I think) when I played with it, but it was pretty finicky to set up more than 10 profiles based on fps, resolution, hdr, etc. But it worked in the end.
But big question is how to auto change the refresh rate of the display, displays in profiles, etc.
__________________
Ryzen 5 2600,Asus Prime b450-Plus,16GB,MSI GTX 1060 Gaming X 6GB(v398.18),Win10 LTSC 1809,MPC-BEx64+LAV+MadVR,Yamaha RX-A870,LG OLED77G2(2160p@23/24/25/29/30/50/59/60Hz) | madvr config |
Tags |
hlsl, mpc-be, mpc-hc, mpv, pixel shaders |
Thread Tools | Search this Thread |
Display Modes | |
|
|