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.

 

Go Back   Doom9's Forum > Hardware & Software > Software players
Register FAQ Calendar Today's Posts Search

Reply
 
Thread Tools Search this Thread Display Modes
Old 22nd July 2014, 05:56   #1421  |  Link
Mangix
Audiophile
 
Join Date: Oct 2006
Posts: 353
even though you say that, AMD's 14.6 drivers which support 10-bit allow EVR-CP to output 10-bit to the display.
Mangix is offline   Reply With Quote
Old 22nd July 2014, 06:36   #1422  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,347
Well, or so it claims. Sadly its really hard to prove it conclusively what really arrives at the screen.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders

Last edited by nevcairiel; 22nd July 2014 at 06:38.
nevcairiel is offline   Reply With Quote
Old 22nd July 2014, 07:27   #1423  |  Link
mhourousha
Registered User
 
Join Date: Mar 2013
Posts: 31
Quote:
Originally Posted by Mangix View Post
even though you say that, AMD's 14.6 drivers which support 10-bit allow EVR-CP to output 10-bit to the display.
I did some tests about deepcolor output over HDMI several months ago
http://forum.doom9.org/showthread.ph...47#post1651747
mhourousha is offline   Reply With Quote
Old 22nd July 2014, 23:52   #1424  |  Link
JanWillem32
Registered User
 
JanWillem32's Avatar
 
Join Date: Oct 2010
Location: The Netherlands
Posts: 1,083
mhourousha, it's odd that nobody followed up on your message on why the 16-bit float back buffers have different colors; http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx . It's annoying that such behavior can't be changed either. This kind of post-output filter should really be set in some type of device or swapchain state, and not like this. The 2.2 gamma value forced by the runtime isn't even configurable in this case. IDXGIOutput::SetGammaControl() is mentioned as a solution, but it's just not the same thing as simply disabling the extra filtering. SetGammaControl() operates on the hardware tables, not in software (and uses a segment model, instead of just plain gamma values). These are not very accurate at all and on top of that, the Nvidia driver doesn't enable the gamma tables in full screen mode.
Direct3D 9 behaves exactly the same if you set 16-bit float back buffers. Even though it's officially not supported, as Direct3D 9 gets implemented by semi-emulation since Vista (pretty much only the vertex formats are fundamentally different for the GPU hardware), setting 16-bit float back buffers will get accepted by the runtime if the device has a Direct3D 10.0 feature level or higher.
Other than that, nice to see that overview you made, especially since this is the first time I've seen the Intel driver using a deep color mode.
__________________
development folder, containing MPC-HC experimental tester builds, pixel shaders and more: http://www.mediafire.com/?xwsoo403c53hv
JanWillem32 is offline   Reply With Quote
Old 23rd July 2014, 03:21   #1425  |  Link
mhourousha
Registered User
 
Join Date: Mar 2013
Posts: 31
Quote:
Originally Posted by JanWillem32 View Post
mhourousha, it's odd that nobody followed up on your message on why the 16-bit float back buffers have different colors; http://msdn.microsoft.com/en-us/libr...=vs.85%29.aspx . It's annoying that such behavior can't be changed either. This kind of post-output filter should really be set in some type of device or swapchain state, and not like this. The 2.2 gamma value forced by the runtime isn't even configurable in this case. IDXGIOutput::SetGammaControl() is mentioned as a solution, but it's just not the same thing as simply disabling the extra filtering. SetGammaControl() operates on the hardware tables, not in software (and uses a segment model, instead of just plain gamma values). These are not very accurate at all and on top of that, the Nvidia driver doesn't enable the gamma tables in full screen mode.
Direct3D 9 behaves exactly the same if you set 16-bit float back buffers. Even though it's officially not supported, as Direct3D 9 gets implemented by semi-emulation since Vista (pretty much only the vertex formats are fundamentally different for the GPU hardware), setting 16-bit float back buffers will get accepted by the runtime if the device has a Direct3D 10.0 feature level or higher.
Other than that, nice to see that overview you made, especially since this is the first time I've seen the Intel driver using a deep color mode.
I think the reason of different colors is different gamma exactly,the problem is that AMD card produce correct color in FP16 mode, if I add some color correction in shader to make intel and NV's card show correct color,the AMD card may produce wrong color then.
More annoying thing happens in R10G10B10_XR_BIAS_A2_UNORM format,because XR_BIAS is just a scan-out format,not a rendertarget format,so you have to render scenes to a R10G10B10_UNORM RT then cast it as XR_BIAS format,thus color scale and bias must be done in shader.it made me confuse that it show different color in different video-port(VGA,DVI etc)……
mhourousha is offline   Reply With Quote
Old 23rd July 2014, 07:50   #1426  |  Link
feelingblue
Registered User
 
Join Date: Nov 2011
Posts: 48
Quote:
Originally Posted by JanWillem32 View Post
The mentioned playback chain of "MPCHC - softw.dec. - avisynt (denose + sharpness) - Madvr" isn't too bad. I just wonder why you don't delegate the denoise and sharpen steps to Madvr. The artifacts when using DXVA video decoding are caused by the filtering I already described earlier.
I see that you are a highly experienced technician

Can you explain me how to delegate denoise and sharpness to madVR to achieve a higher quality video compared to avisynth scripts?
feelingblue is offline   Reply With Quote
Old 24th July 2014, 02:15   #1427  |  Link
Mangix
Audiophile
 
Join Date: Oct 2006
Posts: 353
madVR supports pixel shaders.
Mangix is offline   Reply With Quote
Old 24th July 2014, 06:42   #1428  |  Link
feelingblue
Registered User
 
Join Date: Nov 2011
Posts: 48
Quote:
Originally Posted by Mangix View Post
madVR supports pixel shaders.
I'm confused
madVR supports post processing by shaders internally?

I know that MPCHC support pixelshader, before and after resize.
I know that you con use them with MADVR as render (and EVR of course)

But my question about what JanWillem32 says remain.

You must consider that sharpen is (much) better with scripts than shaders, also if you sharpen video before render, because avisynth is much powerfull.
About denoise i don't know how is done by shaders...

Last edited by feelingblue; 24th July 2014 at 09:58.
feelingblue is offline   Reply With Quote
Old 25th July 2014, 22:59   #1429  |  Link
JanWillem32
Registered User
 
JanWillem32's Avatar
 
Join Date: Oct 2010
Location: The Netherlands
Posts: 1,083
"madVR supports pixel shaders." isn't the best description for the feature to be able to set pre- and post-resize stage user-custom pixel shaders. DirectX renderers like madVR have plenty of pixel shaders of themselves to be able to do resizing and such.

There are two threads on this board where you can find pixel shader collections;
CeeJay.dk's: http://forum.doom9.org/showthread.php?p=1673781
mine: http://forum.doom9.org/showthread.php?p=1453334

There have been several sharpening shaders, and you're right that most user-custom pixel shaders are rather badly written. The standard 'denoise' is a great example of one that's badly written. (Not all of the shaders I've written were that great either. Some could certainly use some work or should just be deleted.)

Anyway, madVR has some internal filtering options internally, and indeed user-custom pixel shaders for handling various other effects. Both are plenty powerful to handle conceptually simple effects such as debanding, denoising and sharpening. Handling them on the GPU means that you're using a semi-specialized processor to handle the computations. Avisynth often isn't the most efficient engine to start with, nor can most CPUs match the throughput of even a mid-range GPU in regards to general graphical computations right now. Letting the video renderer actually render some effects isn't such a bad thing.

Apart from heavily modified implementations, Avisynth's intermediate and/or output rendering format(s) also don't hold decent quantization for images. The video renderer doesn't suffer from this problem, unless its programmer failed to implement somthing decent/had to support 8-bit Y'CbCr and R'G'B' rendering methods for low-end hardware performance reasons or supporting GPUs from the previous millenium.
For effects that are conceptually more complicated, such as rotating images by 90 or 270 degrees, Avisynth will indeed fare better than the implementation of user-custom pixel shaders. Having control over a video renderer's vertices and staging to handle such effects will void that argument, though.

If someone is still confused about post-processing, mixing stages, rendering stages, and such I can make it a lot simpler: they're all just filters. Both the CPU and the GPU can handle absolutely all of them. CPU example: the old video renderer (last seen as a valid renderer in the Windows Me era) that was basically using the CPU to run GDI-based deinterlacing, scaling and color conversions didn't draw any computational power from the GPU. GPU example: DXVA2 native decoding, mixing, rendering, and output to the display device doesn't use the CPU for anything else but moving the raw video stream to memory.
__________________
development folder, containing MPC-HC experimental tester builds, pixel shaders and more: http://www.mediafire.com/?xwsoo403c53hv
JanWillem32 is offline   Reply With Quote
Old 26th July 2014, 01:24   #1430  |  Link
feelingblue
Registered User
 
Join Date: Nov 2011
Posts: 48
Quote:
Originally Posted by JanWillem32 View Post
"madVR supports pixel shaders." isn't the best description for the feature to be able to set pre- and post-resize stage user-custom pixel shaders. DirectX renderers like madVR have plenty of pixel shaders of themselves to be able to do resizing and such.

There are two threads on this board where you can find pixel shader collections;
CeeJay.dk's: http://forum.doom9.org/showthread.php?p=1673781
mine: http://forum.doom9.org/showthread.php?p=1453334

There have been several sharpening shaders, and you're right that most user-custom pixel shaders are rather badly written. The standard 'denoise' is a great example of one that's badly written. (Not all of the shaders I've written were that great either. Some could certainly use some work or should just be deleted.)
Thank you for explanations.
In fact i have tried every shader (also changing internal values to obtain more quality) but when i have tried the avisynth scripts i have seen great improvments.

Quote:
Originally Posted by JanWillem32 View Post
Handling them on the GPU means that you're using a semi-specialized processor to handle the computations. Avisynth often isn't the most efficient engine to start with, nor can most CPUs match the throughput of even a mid-range GPU in regards to general graphical computations right now.
I talk about myself. I have 8 core CPU and a powerfull videocard so my interst is not the efficiency..... but the quality.

I still do not understand why you said this:
"The mentioned playback chain of "MPCHC - softw.dec. - avisynt (denose + sharpness) - Madvr" isn't too bad. I just wonder why you don't delegate the denoise and sharpen steps to Madvr."

I think i have tried every combination of renders and postprocessings on a very large VPR screen (1080p film on 1080p screen)
The best denoise that i have found are avisynth denoise and ffdshow denoise done immediately after the decoder.
The best sharpness that i have found are finesharp, LimitedFastenSharper, LFSmod.... also done before render.

My question is very very simple:
If my chain "isn't too bad", what is a better chain?
feelingblue is offline   Reply With Quote
Old 26th July 2014, 23:18   #1431  |  Link
JanWillem32
Registered User
 
JanWillem32's Avatar
 
Join Date: Oct 2010
Location: The Netherlands
Posts: 1,083
Quote:
Originally Posted by feelingblue View Post
In fact i have tried every shader (also changing internal values to obtain more quality) but when i have tried the avisynth scripts i have seen great improvments.
Given that my latest user-custom pixel shader intended for video playback filtering carries number 361 your fingers must be really hurting right now.

Anyway, I was mostly pointing out that you have a setup with two captains on one ship. No good can come out of using two video renderers at once.
What kind of denoise do you need? If it's source debanding, hard, random synthetic noise removal, VHS noise cleanup, old film noise removal or whatever other types, all require different methods.
Artificial sharpening is like artificial sweetening of a cookie. Neither dirt cheap nor expensive cookies benefit from that. I'm not a fan of it. Some sharpening factors to selectively counter-balance denoise/deband effects (because they blur everything by default) and mild, modulated sharpening factors in resizers are okay because they are not stand-alone effects. Most avisynth sharpeners also operate on Y'CbCr, which is not one of the most ideal color spaces to filter anything on a visual basis. I've written/edited several sharpening filters in the past. Some were worse than others, so I guess I can review them once again. But anyway, why do you think you would ever need to use a stand-alone sharpen effect when playing back videos?
__________________
development folder, containing MPC-HC experimental tester builds, pixel shaders and more: http://www.mediafire.com/?xwsoo403c53hv
JanWillem32 is offline   Reply With Quote
Old 27th July 2014, 01:05   #1432  |  Link
feelingblue
Registered User
 
Join Date: Nov 2011
Posts: 48
Quote:
Originally Posted by JanWillem32 View Post
Given that my latest user-custom pixel shader intended for video playback filtering carries number 361 your fingers must be really hurting right now.

Anyway, I was mostly pointing out that you have a setup with two captains on one ship. No good can come out of using two video renderers at once.
What kind of denoise do you need? If it's source debanding, hard, random synthetic noise removal, VHS noise cleanup, old film noise removal or whatever other types, all require different methods.
Artificial sharpening is like artificial sweetening of a cookie. Neither dirt cheap nor expensive cookies benefit from that. I'm not a fan of it. Some sharpening factors to selectively counter-balance denoise/deband effects (because they blur everything by default) and mild, modulated sharpening factors in resizers are okay because they are not stand-alone effects. Most avisynth sharpeners also operate on Y'CbCr, which is not one of the most ideal color spaces to filter anything on a visual basis. I've written/edited several sharpening filters in the past. Some were worse than others, so I guess I can review them once again. But anyway, why do you think you would ever need to use a stand-alone sharpen effect when playing back videos?
My only goal is to obtain best PQ without compromise and without going into to many technical concepts.

I setup my VPR with Spear and Munsil II and blue filters with a clean install of MPCHC and MADVR.
To pass all the test patterns i simply use MPCHC - Decoder by CPU - Madvr (default settings except debanding at strong values)
I obtain a very very good image, similar to my Oppo103, a reference BD player.

I have only two problems:
A) Some film are dirty and have noise (Die Hard 5 for example)
B) The image is not enough sharper (Due to VPR DLP and very large screen)

To resolve problem A:
A very very good denoise (near perfect) is the denoise3D in HQ mode in ffdshow raw filter.
In the die hard 5, for example, i can clean the film without lose details.
but In other films i can use other denoise of ffdshow or avisynth.
With my chain, i always clean film perfectly (i talk always about my BD Backup)

To resolve problem B:
The best sharpness that give me an image with fine details without changing the cinematographic feeling and without give me artefacts is finesharp in avisynth.
To do another example: with the mini video near the sea in spears and munsil, I get an image that looks like a photo done by a reflex and i can read the small small letters into the signs.... all with zero artefacts!
All the sharpness done by shaders or external video processor (the last i have tried is the small new DVDO iscan mini)... are inferiors, a little or not.. but inferiors.

I have done side by side comparison by switching frames hundred of times, observing small particulars... there is nothing to do, i am sorry:
in my setup best chain is MPCHC - CPU decoder - ffdshow raw filter and MADVR.

But i am not the only one that is arrived to this conclusion
Other users with good PC uses this chain (many people who frequent forums in my language and my country for example)
All my friends that are HTPC fans have tried many settings and have come to my own conclusions.

There is a good guide:http://www.ezoden.com/684/tutorial-htpc
The autor of this guide, who is in search of best PQ without compromise is come to my own conclusion... and also all people who partecipate to that forum.

and so on......

Is for this reasons that i don't understand why you say that my chain "is not bad".
I ask you one more time: what is a better chain? (with a pratical example?)

If you answer to this question... i thank you and i try it immediately!

Last edited by feelingblue; 27th July 2014 at 09:11.
feelingblue is offline   Reply With Quote
Old 27th July 2014, 01:09   #1433  |  Link
feelingblue
Registered User
 
Join Date: Nov 2011
Posts: 48
Quote:
Originally Posted by JanWillem32 View Post
Given that my latest user-custom pixel shader intended for video playback filtering carries number 361 your fingers must be really hurting right now.

Anyway, I was mostly pointing out that you have a setup with two captains on one ship. No good can come out of using two video renderers at once.
I don't use two video render at once.
I use Madvr.

ffdshow raw filter is only the key to use avisynth scripts and use denoises immediately after the decoder.
feelingblue is offline   Reply With Quote
Old 27th July 2014, 23:27   #1434  |  Link
Raylan Givens
Registered User
 
Raylan Givens's Avatar
 
Join Date: Jul 2013
Location: Macedonia, Greece
Posts: 43
Anyone noticed kinda jerky playback when you play .avi files? I have D3DFullScreen enabled but every 4-5 secs MPC goes out of sync for a sec. When I use .mp4 everything is smooth.
__________________
CPU: i5 4690 ~ M/B: Z97 G45 ~ GPU: GTX 960 ~ RAM: 8GB 1,6Ghz ~ SSD: Samsung 850 Pro + EVO Sound: ALC 1150 ~ Speakers: Z5500 ~ OS: Win 10 x64 ~ MPCHC x64
Raylan Givens is offline   Reply With Quote
Old 28th July 2014, 07:51   #1435  |  Link
LigH
German doom9/Gleitz SuMo
 
LigH's Avatar
 
Join Date: Oct 2001
Location: Germany, rural Altmark
Posts: 6,782
You should not generalize about AVI files. On one hand, AVI is a container format which may contain thousands of combinations of video and audio formats, in contrast to MP4 which is limited to a clear subset. On the other hand, the AVI container can have different variations; and if the keyframe index is missing or incomplete, sync issues are no surprise.

Try to refresh the AVI with VirtualDubMod or with AviMux-GUI and test if these AVI files are choppy too. If yes, they simply may contain content which is not meant to be packed into an AVI container because the AVI container is too old to support the video stream's features, like AVC (H.264) video.
__________________

New German Gleitz board
MediaFire: x264 | x265 | VPx | AOM | Xvid
LigH is offline   Reply With Quote
Old 28th July 2014, 11:07   #1436  |  Link
Dion
Registered User
 
Join Date: Oct 2004
Posts: 64
Is it possible to add an option that automatically reloads subtitles when they change in an srt file? MPC-BE does this and it would be awesome for MPC-HC as well. Or maybe the option is there and i am missing it?
Dion is offline   Reply With Quote
Old 28th July 2014, 18:15   #1437  |  Link
Raylan Givens
Registered User
 
Raylan Givens's Avatar
 
Join Date: Jul 2013
Location: Macedonia, Greece
Posts: 43
Quote:
Originally Posted by LigH View Post
You should not generalize about AVI files.
Well, useful info, thank you! But forget about this. I just got one more SSD, neeeded to reinstall Windows and the problem gone. Maybe there was a problem 'cause before I switch to this new GPU I used the Intel's non-discrete one for a week and caused a mess in my system.

In short I went from AMD7950 to Intel 4400 and then Nvidia 770 without reinstalling the OS. Bad idea as it seems.
__________________
CPU: i5 4690 ~ M/B: Z97 G45 ~ GPU: GTX 960 ~ RAM: 8GB 1,6Ghz ~ SSD: Samsung 850 Pro + EVO Sound: ALC 1150 ~ Speakers: Z5500 ~ OS: Win 10 x64 ~ MPCHC x64

Last edited by Raylan Givens; 28th July 2014 at 18:20.
Raylan Givens is offline   Reply With Quote
Old 29th July 2014, 05:29   #1438  |  Link
foxyshadis
Angel of Night
 
foxyshadis's Avatar
 
Join Date: Nov 2004
Location: Tangled in the silks
Posts: 9,559
Quote:
Originally Posted by JanWillem32 View Post
Given that my latest user-custom pixel shader intended for video playback filtering carries number 361 your fingers must be really hurting right now.

Anyway, I was mostly pointing out that you have a setup with two captains on one ship. No good can come out of using two video renderers at once.
What kind of denoise do you need? If it's source debanding, hard, random synthetic noise removal, VHS noise cleanup, old film noise removal or whatever other types, all require different methods.
Artificial sharpening is like artificial sweetening of a cookie. Neither dirt cheap nor expensive cookies benefit from that. I'm not a fan of it. Some sharpening factors to selectively counter-balance denoise/deband effects (because they blur everything by default) and mild, modulated sharpening factors in resizers are okay because they are not stand-alone effects. Most avisynth sharpeners also operate on Y'CbCr, which is not one of the most ideal color spaces to filter anything on a visual basis. I've written/edited several sharpening filters in the past. Some were worse than others, so I guess I can review them once again. But anyway, why do you think you would ever need to use a stand-alone sharpen effect when playing back videos?
I liek <s>mudkips</s> artificial sharpening. I turn it off when the artifacts get unwatchable, but most of the time I find it more pleasant to watch movies with Sharpen Complex 2 (and used to use SeeSaw in ffdshow). I guess extra grittiness just appeals to me, I'm glad the option is available.
foxyshadis is offline   Reply With Quote
Old 30th July 2014, 07:32   #1439  |  Link
hello_hello
Registered User
 
Join Date: Mar 2011
Posts: 4,829
Anybody with any ideas as to the reason for this?

Window resizing behaviour not consistent.
hello_hello is offline   Reply With Quote
Old 6th August 2014, 11:22   #1440  |  Link
jebediah
Registered User
 
Join Date: Oct 2013
Posts: 24
Hi guys.
Does anyone know how to use dtsdecoderdll.dll with LAVfilter?

I've copied the file to the LAVfilter installation, but MPC is still using the decoder.
jebediah is offline   Reply With Quote
Reply

Tags
dxva, media player classic, mpc, mpc-hc


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 11:29.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.