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

Reply
 
Thread Tools Search this Thread Display Modes
Old 13th May 2015, 19:27   #29881  |  Link
huhn
Registered User
 
Join Date: Oct 2012
Posts: 7,903
Quote:
Originally Posted by tobindac View Post
Spare me the passive aggressiveness. If the source is suitable, it may be better in some specific cases. I know banding makes it worse in some cases.

I wouldn't be surprised if various modern movies from good sources do not require dithering filters for a good viewing experience.
i can't disagree that not all scene need dithering no question.

but a movie without a dark scene or gradations is unlikely.
even with really high bit deep there could be banding in a BD when dithering isn't used.
huhn is offline   Reply With Quote
Old 13th May 2015, 19:33   #29882  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,344
Quote:
Originally Posted by tobindac View Post
I wouldn't be surprised if various modern movies from good sources do not require dithering filters for a good viewing experience.
You will *always* need dithering, because its about the mathematical process, not about the quality of the source. In fact, its entirely independent of that (although its going to be more obvious in some sources than in others, of course)
If such a perfect source would exist, then dithering also wouldn't add noise, since dithering, by definition and design, is only used to spread the rounding error to multiple pixels, instead of accumulating it all in one. If there wouldn't be a rounding error, there would be no "noise".

At the end of the day, movies are all going to be in YUV, and YUV needs to be converted to RGB. This conversion process (if done right) results in floating point values, which need to be converted to 8-bit (or recently, 10-bit) on output. If you don't use dithering, you will effectively cut off data. Thats also were your analogy goes wrong, dithering isn't about hiding flaws, its about preserving data when converting to a lower bitdepth (ie. from 16/32-bit float, to 8/10-bit integer for output)

Of course you are free to use whatever settings you like, but please don't spread them as advice.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders

Last edited by nevcairiel; 13th May 2015 at 19:38.
nevcairiel is offline   Reply With Quote
Old 13th May 2015, 19:35   #29883  |  Link
Dogway
Registered User
 
Join Date: Nov 2009
Posts: 2,352
I'm a bit confused when you ask "what mode my PC is", where should I look that? Control panel just said (roughly) 1080 native, 60Hz.

Anyways I had a look and I don't find any video that turns my TV to 1080p60 mode, it stays always in PC mode which is fine and bad at the same time... I would expect a bit more consistency for these things (I should be able to treat 60fps sources as every other non-PC source, TV settings wise). 1080p59 is also defaulting to PC mode.

Then I played a 50fps video and screen turned to 50p mode, so here the story does apply.
Anyways I removed the 1080p50 entry and it defaulted to 1080p60 now seemingly and oddly enough "PC mode" (I still think passthrough should be a better idea?). I will report back when I find something strange. Sorry to disturb.

I'm still curious on why I can't seem to enable chroma NNEDI doubling. I even tried with "always - if upscaling is needed", only luma gets upscaled with nnedi.
Dogway is offline   Reply With Quote
Old 13th May 2015, 19:36   #29884  |  Link
cvrkuth
Registered User
 
Join Date: Apr 2011
Posts: 54
Quote:
Originally Posted by cvrkuth View Post
Yes, madvr display modes work correctly now. Thanks!
My playback is fine (no dropped frames, no glitches).

Anyway, just for info .. when I watch movie 24.000 and refresh rate fix is active, render queue and present queue are low (render queue 3-5/8 and present queue 2-3/8. Average stats present 31.00 ms which is abnormally high, usually 0.05 ms.)
When I watch movie 23.976 and refresh rate fix is not active, everything is fine with numbers (render queue 7-8/8 and present queue 6-7/8. Average stats present is 0.05 ms.)

Hope this help,
Regards
__________________
Intel Core i7-4790 CPU @ 3.60GHz, RAM 32 GB Dual-Channel DDR3 @ 665MHz (9-9-9-24),
Panasonic TX-P42G20E, NVIDIA GeForce GTX 970, Win 10 Pro x64,
PotPlayer 1.7.16291 64-bit, madVR v0.92.17
cvrkuth is offline   Reply With Quote
Old 13th May 2015, 19:38   #29885  |  Link
huhn
Registered User
 
Join Date: Oct 2012
Posts: 7,903
Quote:
Originally Posted by Dogway View Post
I'm a bit confused when you ask "what mode my PC is", where should I look that? Control panel just said (roughly) 1080 native, 60Hz.

Anyways I had a look and I don't find any video that turns my TV to 1080p60 mode, it stays always in PC mode which is fine and bad at the same time... I would expect a bit more consistency for these things (I should be able to treat 60fps sources as every other non-PC source, TV settings wise). 1080p59 is also defaulting to PC mode.

Then I played a 50fps video and screen turned to 50p mode, so here the story does apply.
Anyways I removed the 1080p50 entry and it defaulted to 1080p60 now seemingly and oddly enough "PC mode" (I still think passthrough should be a better idea?). I will report back when I find something strange. Sorry to disturb.

I'm still curious on why I can't seem to enable chroma NNEDI doubling. I even tried with "always - if upscaling is needed", only luma gets upscaled with nnedi.
nnedi3 chroma doubling was removed under image doubling.
huhn is offline   Reply With Quote
Old 13th May 2015, 19:41   #29886  |  Link
Dogway
Registered User
 
Join Date: Nov 2009
Posts: 2,352
Quote:
Originally Posted by huhn View Post
nnedi3 chroma doubling was removed under image doubling.
Since what version? I'm using v0.87.21
Dogway is offline   Reply With Quote
Old 13th May 2015, 19:42   #29887  |  Link
huhn
Registered User
 
Join Date: Oct 2012
Posts: 7,903
Quote:
Originally Posted by Dogway View Post
Since what version? I'm using v0.87.21
since 88.x

but if you are using 87.21 can you give me a screen from the osd ?
huhn is offline   Reply With Quote
Old 13th May 2015, 19:55   #29888  |  Link
Dogway
Registered User
 
Join Date: Nov 2009
Posts: 2,352
Quote:
Originally Posted by huhn View Post
since 88.x

but if you are using 87.21 can you give me a screen from the osd ?


Dogway is offline   Reply With Quote
Old 13th May 2015, 20:01   #29889  |  Link
huhn
Registered User
 
Join Date: Oct 2012
Posts: 7,903
on this screen chroma doubling is used.

BTW. any reason you didn't use smooth motion on this 60 Hz screen?

just interested in your reasoning.
huhn is offline   Reply With Quote
Old 13th May 2015, 20:02   #29890  |  Link
Asmodian
Registered User
 
Join Date: Feb 2002
Location: San Jose, California
Posts: 4,406
Quote:
Originally Posted by tobindac View Post
I noticed that ordered dithering is a very noisy process. I found it fun lately to turn on 1bit output and see very obviously some algorithmic patterns. It appears not dithering at all gives the most "stable" unnoisy picture while error diffusion is more stable and 'random' is a total mess.

I'm surprised, but it appears no dithering at all is a viable choice.

Choices..
No dither at all is NOT a viable choice.

I am not at all sure how one could conclude dithering is bad when watching 1-bit output. Watching 1-bit output without dithering makes it hard to see what is going on. Almost all detail is lost. Turn off "change dither for every frame" if you want a more stable image, DO NOT turn of dithering entirely. Ordered dithering has very low apparent noise even at only 4-bit (256 colors), especially with "change dither for every frame" off.

Quote:
Originally Posted by Ver Greeneyes View Post
But - sure, if the noise bothers you when madVR is set to the correct output bitdepth, turn it off. Or turn off "change dither for every frame", which will make it less effective but might make it less visible (except on very uniform surfaces that are displayed for a considerable length of time). But it does mean you'll get more of a rounding error on average, reducing color accuracy.
"change dither for every frame" doesn't make dithering less effective or less accurate. It makes dither patterns easier to see but average rounding error and color accuracy is the same with or without "change dither for every frame".

Turning off "change dither for every frame" trades more visible dither patters for less apparent dither noise.
__________________
madVR options explained
Asmodian is offline   Reply With Quote
Old 13th May 2015, 20:02   #29891  |  Link
x7007
Registered User
 
Join Date: Apr 2013
Posts: 315
Quote:
Originally Posted by cvrkuth View Post
My playback is fine (no dropped frames, no glitches).

Anyway, just for info .. when I watch movie 24.000 and refresh rate fix is active, render queue and present queue are low (render queue 3-5/8 and present queue 2-3/8. Average stats present 31.00 ms which is abnormally high, usually 0.05 ms.)
When I watch movie 23.976 and refresh rate fix is not active, everything is fine with numbers (render queue 7-8/8 and present queue 6-7/8. Average stats present is 0.05 ms.)

Hope this help,
Regards

Same happens to me
x7007 is offline   Reply With Quote
Old 13th May 2015, 20:07   #29892  |  Link
Dogway
Registered User
 
Join Date: Nov 2009
Posts: 2,352
Quote:
Originally Posted by huhn View Post
on this screen chroma doubling is used.
BTW. any reason you didn't use smooth motion on this 60 Hz screen?
How do you know that? shouldn't it be "chroma > nnedi16 > Mitchel..."?
I never use smooth option (a gimmick IMO) but this is my PC monitor not my TV anyways.
Dogway is offline   Reply With Quote
Old 13th May 2015, 20:08   #29893  |  Link
Ver Greeneyes
Registered User
 
Join Date: May 2012
Posts: 447
Quote:
Originally Posted by Asmodian View Post
"change dither for every frame" doesn't make dithering less effective or less accurate. It makes dither patterns easier to see but average rounding error and color accuracy is the same with or without "change dither for every frame".

Turning off "change dither for every frame" trades more visible dither patters for less apparent dither noise.
Changing the dithering pattern every frame is more effective because it adds a time-based element. Let's take Error Diffusion as an example with a hypothetical losslessly compressed test pattern showing large uniform patches of color. Without temporal dithering, each pixel is going to have a particular color all the time - rounded either up or down depending on its position. Only the patch taken as a whole will have the right color on average. With temporal dithering, each pixel will have the correctly rounded value on average.

Of course in real material the difference is going to be negligible because of changes in what's being displayed, and noise in the source material subtly changing the dithering decisions each frame. Still, if you combine temporal dithering with something like smooth motion so that it changes for every screen refresh, it makes it much more effective (which is why I would prefer dithering to be tied to vsync rather than the video frame rate - but I always use smooth motion anyway, so it's a moot point).

Last edited by Ver Greeneyes; 13th May 2015 at 20:17.
Ver Greeneyes is offline   Reply With Quote
Old 13th May 2015, 20:15   #29894  |  Link
huhn
Registered User
 
Join Date: Oct 2012
Posts: 7,903
Quote:
Originally Posted by Dogway View Post
How do you know that? shouldn't it be "chroma > nnedi16 > Mitchel..."?
the first chroma line is always the 4:2:0 to 4.4:4 part and nothing else.
and because there is no second chroma line image doubling is doing this.
Quote:
I never use smooth option (a gimmick IMO) but this is my PC monitor not my TV anyways.
why gimmick?

please don't compare it to frame interpolation like SVP or the interpolation from TVs.
but usually it is not needed on a TV anyway.
huhn is offline   Reply With Quote
Old 13th May 2015, 20:24   #29895  |  Link
Dogway
Registered User
 
Join Date: Nov 2009
Posts: 2,352
Quote:
Originally Posted by huhn View Post
the first chroma line is always the 4:2:0 to 4.4:4 part and nothing else.
and because there is no second chroma line image doubling is doing this.
I think I understand what you mean, first line is converting to 4:4:4, then it upscales the whole thing with nnedi (hence image >, and not luma >), but in my opinion it shouldn't be doing that... it's not a good idea to use a a scaler before nnedi because you are amplifying artifacts, also you are adding one more step to chroma.

chroma > mitchell > nnedi (double) > resizer (for up or downscale to 1080)

has the behavior changed in last version?

edit: btw I don't think what you say is right, I disabled chroma nnedi and I get the same OSD output.

Last edited by Dogway; 13th May 2015 at 20:28.
Dogway is offline   Reply With Quote
Old 13th May 2015, 20:32   #29896  |  Link
Asmodian
Registered User
 
Join Date: Feb 2002
Location: San Jose, California
Posts: 4,406
Quote:
Originally Posted by Ver Greeneyes View Post
Changing the dithering pattern every frame is more effective because it adds a time-based element. Let's take Error Diffusion as an example with a hypothetical losslessly compressed test pattern showing large uniform patches of color. Without temporal dithering, each pixel is going to have a particular color all the time - rounded either up or down depending on its position. Only the patch taken as a whole will have the right color on average. With temporal dithering, each pixel will have the correctly rounded value on average.
I see the point, however this temporal effect isn't going to give "correct" pixels values because what value the pixel gets over time is random, not influenced by accumulated error. madVR's dithering is spacial dithering, not temporal, and the option does not change this.
__________________
madVR options explained
Asmodian is offline   Reply With Quote
Old 13th May 2015, 20:37   #29897  |  Link
Anime Viewer
Troubleshooter
 
Anime Viewer's Avatar
 
Join Date: Feb 2014
Posts: 339
jumping frames on pause

Quote:
Originally Posted by ibius View Post

Issues with D3D11:

3. Sometimes after seeking/stopping playback video gets stuck in a loop, jumping between few frames.
I noticed that too (when pausing videos), but wasn't sure how to word it. The best description I could think of at the time was it jumping back and forth between frames during pause. I've found that if you change scalers (up or down) it stops it and stabilizes the picture, so it may be a combination of D3D11 and scaler coding/changes.
__________________
System specs: Sager NP9150 SE with i7-3630QM 2.40GHz, 16 GB RAM, 64-bit Windows 10 Pro, NVidia GTX 680M/Intel 4000 HD optimus dual GPU system. Video viewed on LG notebook screen and LG 3D passive TV.
Anime Viewer is offline   Reply With Quote
Old 13th May 2015, 20:44   #29898  |  Link
vivan
/人 ◕ ‿‿ ◕ 人\
 
Join Date: May 2011
Location: Russia
Posts: 643
Quote:
Originally Posted by Asmodian View Post
I see the point, however this temporal effect isn't going to give "correct" pixels values because what value the pixel gets over time is random, not influenced by accumulated error. madVR's dithering is spacial dithering, not temporal, and the option does not change this.
It will, because the chance the pixel will be rounded up (or down) is proportional to it's remainder value.
The way it changes is random - so it's random temporal dithering. It might be possible to make it ordered (imagine 3D matrix for ordered dithering, which is "good" in all dimensions).

Ordered dithering works on probability too, the only difference from random is that it uses special "good" matrix. "Good" means that peaks and valleys are as far from each other as possible.

Last edited by vivan; 13th May 2015 at 20:53.
vivan is offline   Reply With Quote
Old 13th May 2015, 20:52   #29899  |  Link
Asmodian
Registered User
 
Join Date: Feb 2002
Location: San Jose, California
Posts: 4,406
Quote:
Originally Posted by Dogway View Post
I think I understand what you mean, first line is converting to 4:4:4, then it upscales the whole thing with nnedi (hence image >, and not luma >), but in my opinion it shouldn't be doing that... it's not a good idea to use a a scaler before nnedi because you are amplifying artifacts, also you are adding one more step to chroma.

chroma > mitchell > nnedi (double) > resizer (for up or downscale to 1080)

has the behavior changed in last version?

edit: btw I don't think what you say is right, I disabled chroma nnedi and I get the same OSD output.
Remember the chroma is half the resolution of the luma so you need to upscale it before doubling somehow, an extra step for chroma is unavoidable. If you don't think it is a good idea to use mitchell before NNEDI3 don't tell madVR to do that. You can use NNEDI3 to do this first upscale as well (set it in 'chroma upscaling').

On my system with v0.87.21 if I disable chroma doubling I get a second chroma line below luma that says chroma is being upscaled with what is set in 'image upscaling' (and 'image' changes to 'luma'). I don't get the same OSD output if I disable chroma doubling.
__________________
madVR options explained
Asmodian is offline   Reply With Quote
Old 13th May 2015, 20:53   #29900  |  Link
Werewolfy
Registered User
 
Join Date: Feb 2013
Posts: 137
Quote:
Originally Posted by madshi View Post
Stupid me. I forgot that the refresh rate fix also needs new madHcNetXx.dlls. You'll find them here:

http://madshi.net/madVR885refreshRateFix2.zip

These files together with the modified madVR(64).ax should make the refresh rate work again.
Your fix never worked for me even before but this time it works! Thanks, great work.
__________________
Windows 8.1 and 10 x64 - Intel Core i5-4670K (4.2 GHz) - 8 GB DDR3 - MSI Geforce GTX 1080 8 GB - Sony KD-55A1 - Denon AVR-X3600H
Werewolfy is offline   Reply With Quote
Reply

Tags
direct compute, dithering, error diffusion, madvr, ngu, nnedi3, quality, renderer, scaling, uhd upscaling, upsampling

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

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 07:30.


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