Log in

View Full Version : Media Player .NET (MPDN) - D3D HQ GPU Video Renderer [v2.49.0/v1.31.0 27 Dec 2018]


Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 [67] 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96

Braum
7th September 2015, 13:21
Hi ! I mostly watch Bluray (1920x1080) on a 1680x1050 screen (I'm planning on buying a 21/9 29" 4K display) and I use this render script :

Render Script :

OpenCL NNEDI3 128/32
Deband
Image Processing (Finesharp shader http://forum.doom9.org/showthread.php?t=171346, custom settings)

Default scaler :

Luma Downscaler Sinc-Jinc 16 tap AR
Chroma Downscaler Sinc-Blackman 16 tap AR


Is there a way to have the downscaling part within the render script ? I didn't find a way but maybe I've missed something.

Do you see improvement ? Or flaws ?

Thanks ! :)

ryrynz
7th September 2015, 13:35
Just a heads up for anyone upgrading extensions from 1.18 to 1.18.1, check the input colormetric and improve chroma reconstruction options afterwards.
The upgrade won't set these back to defaults and 1.18 likely has changed those values, so set them accordingly afterwards.

It's gone from a bit of a joke at first (a new barebones player? really?) to my only player. Looking forward to the next year!


Yeah it fleshed out super quick.. The core was strong and added to in a rapid fashion. The extensions framework was added a few devs came on board and then BOOM.

aufkrawall
7th September 2015, 14:16
I can't seem to be able to replicate the issue. I'm still seeing a massive difference between Lanczos4 and bilinear / nearest.
Have you got an Intel GPU to test?

Unfortunately, no.


Just to be thorough, could you perhaps clear your app settings, replicate the issue, and then send me the config files?
I'll try to replicate it on all the GPUs I have access to (I have 8 that I usually test on).
http://www37.zippyshare.com/v/SMtciqMk/file.html
Have a GPU load of 70% with it with the 4k 60fps video, while just nearest neighbor is used.
With Lanczos 16 taps it's 76%.

eX``
7th September 2015, 18:59
OK I know what's causing the problem. Cudafy (included recently in the extensions for audio scripts) drags in Mono.CSharp which takes over Microsoft.CSharp when compiling the scripts. I've made the script compiler compatible with Mono for the next release. And the reason it happens on some machines but not others is because it depends on the order the extensions are loaded (i.e. if audio scripts are loaded last, it'll be fine).

Thank you. Will be able to massively bang my head on the wall now, with all those scripts :p

Zachs
7th September 2015, 23:09
Unfortunately, no.


http://www37.zippyshare.com/v/SMtciqMk/file.html
Have a GPU load of 70% with it with the 4k 60fps video, while just nearest neighbor is used.
With Lanczos 16 taps it's 76%.

I think the downscaler shader code just doesn't run very well on Maxwell. It's written in a generic way to support custom linear scalers but for the built in scalers I'll see if I could optimise it differently.

aufkrawall
8th September 2015, 00:02
I might be able to try with a GK110 GPU.

Zachs
8th September 2015, 03:22
I might be able to try with a GK110 GPU.

Can you give test build 3400 a try?

EDIT: Nevermind. I see this on my 560GTX too. My NVS4200M behaves differently though. Not sure what to make of it... And using bilinear downscaling, my 560GTX is only twice as fast as my Intel HD 3000 when it's usually a few order of magnitudes faster.

EDIT2: Also tested a really old version where MPDN still had a hardware bilinear downscaler - it did it there too!

EDIT3: Found the problem but haven't found out how to fix it. 90% of the time is spent uploading texture to the GPU!

EDIT4: Figured out what is causing the excessive time spent on texture upload. Without this problem, Render Time has gone down from 17ms to 5.5ms with bilinear! With Lanczos4, it's now just 6.5ms on my 560GTX.

aufkrawall
9th September 2015, 02:00
Fixed with 2.42.3. Now I get normal 35% GPU usage with Lanczos4 downscaling (and chroma upscaling), which is less than half of the previous values. :)
Nearest neighbor is still slightly more expensive than in madVR, but this should be normal since it's an implementation with better quality which is run by the shaders instead of TMUs.

Zachs
9th September 2015, 02:21
Nearest neighbour is actually similar to the old MPDN hardware bilinear up to a certain downscale factor. Beyond that, it's actually much better in quality than the old bilinear. The old nearest neighbour (via TMUs) is gone. So in short, even NN is superior to the old TMU bilinear.

Zachs
9th September 2015, 02:22
Just in case anyone's wondering where 2.42.3 is - it's just a test build at this time and it's not actually released yet.

aufkrawall
9th September 2015, 02:23
Ok.
I noticed that MPDN chooses BT.2020 for any 4k video. Shouldn't it only be chosen if the video has a 10/12 bit color space?

Zachs
9th September 2015, 02:25
You're right! I'll fix that.

aufkrawall
9th September 2015, 02:30
Hm, I just noticed madVR uses BT.709 for 10 bit video as well.

Zachs
9th September 2015, 02:41
Hmm I can't find any definitive answers as to what default values we should use for UHD contents. Some suggest it's only for 10-/12-bit video only.

EDIT: I think the specs definitely point to BT2020 being defined for 10-/12-bit only so I'll change that. As for the defaults, I think I'm comfortable with assuming all 10-/12-bit UHD contents are BT2020 after reading more articles.

Zachs
9th September 2015, 07:39
Fixed with 2.42.3.

The aforementioned 2.42.3 has now been officially released.

Braum
9th September 2015, 13:22
In my Script Chain if I place the Debanding before the Chroma upscaler the Render Time is lower, why ?

Deband before Chroma Upscaler
http://img11.hostingpics.net/pics/832264441.png

Deband after Chroma Upscaler
http://img11.hostingpics.net/pics/165806672.png


Windows 10 64Bits

MPDN 64 updated
MPDN extensions updated


<ListOfPreset xmlns:yaxlib="http://www.sinairv.com/yaxlib/">
<Preset Name="Conditional" Guid="b079f42b-bc12-45e0-b541-be2f562b869d">
<Script yaxlib:realtype="Mpdn.Extensions.RenderScripts.Mpdn.Conditional.ConditionalUi">
<Settings>
<Condition>SourceSize.Width &gt;= 1400 and SourceSize.Height &gt;= 1080</Condition>
<Preset Name="Script Chain" Guid="a49ce34c-3a7e-4caa-a8cf-d8c5eaa00582">
<Script yaxlib:realtype="Mpdn.Extensions.RenderScripts.Mpdn.ScriptChain.ScriptChainScript">
<Settings>
<Options>
<Preset Name="OpenCL NNEDI3 Chroma Doubler" Guid="77778766-9c6a-4d6b-bec5-00e73e078646">
<Script yaxlib:realtype="Mpdn.Extensions.RenderScripts.Mpdn.OclNNedi3.Chroma.OclNNedi3ChromaScaler">
<Settings>
<Neurons1>Neurons128</Neurons1>
<Neurons2>Neurons32</Neurons2>
</Settings>
</Script>
</Preset>
<Preset Name="Deband" Guid="116252b7-bc90-4f7e-9f97-2c81a9e0244f">
<Script yaxlib:realtype="Mpdn.Extensions.RenderScripts.Shiandow.Deband.DebandUi">
<Settings>
<maxbitdepth>8</maxbitdepth>
<power>0.5</power>
<grain>True</grain>
</Settings>
</Script>
</Preset>
<Preset Name="Image Processor" Guid="0722edcd-e735-4e2c-880f-b103cf876a4a">
<Script yaxlib:realtype="Mpdn.Extensions.RenderScripts.Mpdn.ImageProcessor.ImageProcessorScript">
<Settings>
<ShaderFileNames>
<String>SweetFX\ToYUV.hlsl</String>
<String>SweetFX\RemoveGrain11.hlsl</String>
<String>SweetFX\RemoveGrain4.hlsl</String>
<String>SweetFX\FineSharpA.hlsl</String>
<String>SweetFX\FineSharpB.hlsl</String>
<String>SweetFX\FineSharpC.hlsl</String>
<String>SweetFX\ToRGB.hlsl</String>
</ShaderFileNames>
<CompatibilityMode>True</CompatibilityMode>
</Settings>
</Script>
</Preset>
</Options>
</Settings>
</Script>
</Preset>
</Settings>
</Script>
</Preset>
</ListOfPreset>

Shiandow
9th September 2015, 13:31
In my Script Chain if I place the Debanding before the Chroma upscaler the Render Time is lower, why ?


Chroma scalers won't do anything if they're not the first script. At least not with the way it's set up now.

Braum
9th September 2015, 13:33
Chroma scalers won't do anything if they're not the first script. At least not with the way it's set up now.

Okay, I see, thank you ! :)

Zachs
9th September 2015, 14:00
@Shiandow
I think the latest changes with regards to chroma scaling optimization might've caused a bug. When using EWA Chroma Scaler alone, the final image doesn't seem to get converted back to RGB.

EDIT: This is odd. Contents up to 1080p has no problem with the EWA Chroma Scaler. Only the UHD sources will trigger the issue.

EDIT2: NNEDI3 chroma scalers are fine. ChromaScaler also has the same issue.

EDIT3: Found the problem. It would seem we need to change the chroma fallback to the following

(new ChromaFilter(lumaInput, chromaInput, null, targetSize, chromaOffset)).ConvertToYuv();


EDIT4: I've pushed the changes to GitHub. Could you take a look please?

aufkrawall
9th September 2015, 17:09
Chroma scalers won't do anything if they're not the first script. At least not with the way it's set up now.
Can deband render script be changed to that it's "hardcoded" to be allowed to only run one?
Then it wouldn't be such a hassle when you have plenty of conditionals for doubling and quadrupling, which will make the deband filter run multiple times (which is terrible).
Maybe it should be also "hardcoded" that the deband filter will only run after downscaling, if source resolution is downscaled?

Dlget
9th September 2015, 17:29
There is setting for luma & croma upscaling & downscaling in video renderer sub-menu in option.
There is also some upscalers in script chain.(confused if both work or only one)
Can you show active scalers (image & croma) in stats like MadVR so we can know what are active & what are not working although we thought it should work(may be for wrong config).
so many setting for this player.so we need more detailed status

Please consider these features for your next build

what about removing border from minimal UI?? may be

aufkrawall
9th September 2015, 17:52
Severe bug: colors look like crazy for 1080p video (unscaled) when using deband filter:
http://abload.de/thumb/debandtkyxc.png (http://abload.de/image.php?img=debandtkyxc.png)
Likely also other formats are affected.

Dlget
9th September 2015, 18:58
Severe bug: colors look like crazy for 1080p video (unscaled) when using deband filter:.

i also got same problem while using debanding.
in widowed mode crazy colored video is played while in FSE mode no video while sound is playing.

status says renderer script error

Shiandow
9th September 2015, 19:28
Severe bug: colors look like crazy for 1080p video (unscaled) when using deband filter:
http://abload.de/thumb/debandtkyxc.png (http://abload.de/image.php?img=debandtkyxc.png)
Likely also other formats are affected.

i also got same problem while using debanding.
in widowed mode crazy colored video is played while in FSE mode no video while sound is playing.

status says renderer script error

Is that with the latest extensions on Github? Because I think I know what's wrong in that case. The last release (v1.18.2) should be fine.

Can deband render script be changed to that it's "hardcoded" to be allowed to only run one?
Then it wouldn't be such a hassle when you have plenty of conditionals for doubling and quadrupling, which will make the deband filter run multiple times (which is terrible).
Maybe it should be also "hardcoded" that the deband filter will only run after downscaling, if source resolution is downscaled?

No. I don't like the idea of renderscripts changing their behaviour depending on which other renderscripts are active. That would open the way for some incredibly annoying bugs, or worse undefined (undefinable) behaviour.

FWIW I am planning to modify the "deband" filter to make it work before any chroma scaling happens. That would make it possible to just begin with debanding and perform any other processing afterwards.

There's already a way to ensure debanding happens after downscaling, you simply need to downscale before any debanding happens. This can be done using the Resize script, although the UI isn't too clear at the moment, there's certainly some room for improvement there.

Funkmiser
9th September 2015, 19:29
I can't seem to get the MPDN Extension examples to work with any of the recent versions of MPDN.

I tried dragging the KeyRemap.cs and HelloWorld.cs examples to the PlayerExtensions folder but anytime I try to run the player I get an error pop up. I tried it on the x64 install, x86 portable, and anycpu portable files.

Also would it be possible to change the filetype description from say 'MPDN MP4 Video' to simply 'MPDN Video' using an extension?

http://i.imgur.com/1bhcvaI.png

aufkrawall
9th September 2015, 20:16
Is that with the latest extensions on Github? Because I think I know what's wrong in that case. The last release (v1.18.2) should be fine.

It occurs with both versions.

Shiandow
9th September 2015, 20:28
It occurs with both versions.

Ah I managed to reproduce the problem. Should be fixed soon.

Edit: Or I have discovered an unrelated but similar problem, not entirely sure yet.

Zachs
10th September 2015, 00:33
Ah I managed to reproduce the problem. Should be fixed soon.

Edit: Or I have discovered an unrelated but similar problem, not entirely sure yet.

Should be fixed now with the latest commit.

Zachs
10th September 2015, 00:44
There is setting for luma & croma upscaling & downscaling in video renderer sub-menu in option.
There is also some upscalers in script chain.(confused if both work or only one)
Can you show active scalers (image & croma) in stats like MadVR so we can know what are active & what are not working although we thought it should work(may be for wrong config).
so many setting for this player.so we need more detailed status

Please consider these features for your next build

what about removing border from minimal UI?? may be

I've created a new feature request on GitHub for showing active scalers since it's one of the highly requested features - https://github.com/zachsaw/MPDN_Extensions/issues/157

Minimal UI border is up to Windows - for example, Windows 10 only shows a thin border at the top while Windows 8.1 and below show border all around.

aufkrawall
10th September 2015, 00:47
Should be fixed now with the latest commit.
It's still broken with OpenCL NNEDI3 image doubling.

Edit: Ok, it's not deband. It's OpenCL NNEDI3 itself.

Zachs
10th September 2015, 00:50
It's still broken with OpenCL NNEDI3 image doubling.

Ah that's a different bug.

Thanks for testing and reporting though!

Zachs
10th September 2015, 00:54
It was just a remnant of the changes we made to ChromaFilter - should be fixed now with the latest commit.

aufkrawall
10th September 2015, 01:07
Yes, fixed.

However, it would be nice of deband filter could be made more useable with other render scripts not too far away.
I either have it to fallback to MPDN's internal chroma scalers (bad for quality) or I have to run it after upscaling and before downscaling (bad performance).
At least I can't manage to run it in a better way.

Zachs
10th September 2015, 01:10
Hmm what are you trying to achieve with deband? I think deband should always be run at source resolution after chroma upscaling since further scaling could introduce artifacts that it isn't designed to deband.

aufkrawall
10th September 2015, 01:31
Ha, I think I got it working (also with Resizer render script):
*deleted*, outdated

Too many symbols to post it here as a text.
Can you take a look and see if you think something looks fishy?
I have to run deband after downscaling because else it eats up too much performance.

Edit: Ah, I have it run twice for 720p -> WQHD. Have to take a loog again.

Edit 2: But now it should be done:
http://www45.zippyshare.com/v/CYEZv6BO/file.html

Dam, that was hard. :D

Dlget
10th September 2015, 02:40
FSE mode is turned on or off immediately.
It i right click or click option in FSE mode,it turns off immediately & after changing my setting it turns on immediately.
It would be better if we add a delay like 2-3s

Edit:Got it now

Zachs
10th September 2015, 02:45
FSE mode is turned on or off immediately.
It i right click or click option in FSE mode,it turns off immediately & after changing my setting it turns on immediately.
It would be better if we add a delay like 2-3s

Change via option settings.

Zachs
10th September 2015, 02:53
Ha, I think I got it working (also with Resizer render script):
*deleted*, outdated

Too many symbols to post it here as a text.
Can you take a look and see if you think something looks fishy?
I have to run deband after downscaling because else it eats up too much performance.

Edit: Ah, I have it run twice for 720p -> WQHD. Have to take a loog again.

Edit 2: But now it should be done:
http://www45.zippyshare.com/v/CYEZv6BO/file.html

Dam, that was hard. :D

You'll find it easier if you did something like this instead (and drop the height comparison altogether):


If SourceSize.Width < 1280 and NeedsUpscaling, use ...
If SourceSize.Width >= 1280 and SourceSize.Width < 1920 and NeedsUpscaling, use ...
If SourceSize.Width >= 1920 and NeedsUpscaling, use ...
If SourceSize.Width > 2560 and NeedsDownscaling, use ...
etc.


Note that the If statement doesn't have an `else` following it so your 3rd line for example will be true along with the first line line if your source is < 1280x720, which isn't what you want.

The trick to make it easier to understand is to make sure each condition is unique and won't cause any overlaps. It's possible to create a chain that has overlaps too that is very useful but one step at a time.

Zachs
10th September 2015, 03:00
Something like this: http://pastebin.com/31jHxtHQ

Zachs
10th September 2015, 07:21
I can't seem to get the MPDN Extension examples to work with any of the recent versions of MPDN.

The way you've done it wouldn't have worked regardless of which version of MPDN. The extensions have always required its framework - you can't just put one file in there and expect it to magically work.

If you want to develop extensions, you need to start by downloading VS2015 (community edition is free).

Zachs
10th September 2015, 07:23
Can you show active scalers (image & croma) in stats like MadVR so we can know what are active & what are not working although we thought it should work(may be for wrong config).
so many setting for this player.so we need more detailed status

Latest GitHub commits have preliminary support for this if you want to try it out (Ctrl+K to show script chain OSD).

Funkmiser
10th September 2015, 10:00
The way you've done it wouldn't have worked regardless of which version of MPDN. The extensions have always required its framework - you can't just put one file in there and expect it to magically work.

If you want to develop extensions, you need to start by downloading VS2015 (community edition is free).

I've tried that as well. I dragged the Extensions folder from the source zip to the MPDN folder and ran MPDN to make sure the extensions worked and showed up in the listbox, then dragged the KeyRemap.cs file from the Examples folder in the source zip to the PlayerExtensions folder and after running MPDN it still gave me the error.

Zachs
10th September 2015, 10:14
What was the detailed error message (you need to enable debug dialog)?

Funkmiser
10th September 2015, 10:58
What was the detailed error message (you need to enable debug dialog)?

I noticed that when getting this error message the Extension listbox in the options menu is completely blank.

TITLE: CSScriptLibrary Error
------------------------------

An unexpected error 'csscript.CompilerException' has occurred.

------------------------------
ADDITIONAL INFORMATION:

c:\Users\Cody\Desktop\MediaPlayerDotNet_x86_2_42_3_3406\Extensions\PlayerExtensions\KeyRemap.cs(24,18): error CS0535:
'Mpdn.Extensions.PlayerExtensions.KeyRemap' does not implement interface member 'Mpdn.IExtensionUi.Version'
(CSScriptLibrary)

------------------------------
BUTTONS:

&Ignore
&Abort
------------------------------


Also the update dialog for upgrading the extensions from v1.17.1 to v1.18.3 started popping up when testing without KeyRemap.cs even though I was using the 1.18.3 source zip.

EDIT:
Okay, so if I replace 'KeyRemap : IPlayerExtension' with 'KeyRemap : PlayerExtension'; add 'using Mpdn.Extensions.Framework;' to the top; and follow the dialog suggestions by adding the override keyword to 'ExtensionUiDescriptor Descriptor', 'Initialize()', 'Destroy()', 'IList<Verb> Verbs', 'ShowConfigDialog()' and adding the new keyword to 'HasConfigDialog()' it will actually not error when starting MPDN and KeyRemap will show up in the extension listbox. I tried the scrollwheel which according to the code should move the media position and that seems to work, but as I know nothing about coding the extensions it's possible that it is simply waiting to blow up in my face.

Zachs
10th September 2015, 12:27
Ah sorry. It turns out that the two player extension examples haven't actually been updated!
I'll update it when I get the time.

aufkrawall
10th September 2015, 21:16
Update checker is always offering me 2.42.4, although it is already installed.

ryrynz
11th September 2015, 09:04
Update checker is always offering me 2.42.4, although it is already installed.

Working fine here.

Belphemur
11th September 2015, 12:54
Update checker is always offering me 2.42.4, although it is already installed.

What version do you see when you go Help->About ?

What happens when you do Help->Check for Updates... ?

aufkrawall
11th September 2015, 13:58
it shows 2.42.4.3407 and check for updates exactly offers me this version.
Hm, maybe it didn't like that I temporary switched from binary extensions to GitHub scripts.

Gonna try a clean install.
Edit: Clean install fixed it.

aufkrawall
11th September 2015, 17:23
There's black flickering in windowed fullscreen mode when dragging the seekbar. It isn't there in normal windowed mode.
Edit: Also there in FSE.