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 12th February 2014, 11:36   #22981  |  Link
cyberbeing
Broadband Junkie
 
Join Date: Oct 2005
Posts: 1,859
Quote:
Originally Posted by madshi View Post
I do wonder whether we're down to judging patterns produced by different random distributions, rather than which error diffusion algorithm has the best weight configuration.
Honestly at this point, this is exactly what I felt was occurring with that last set of 'noisy' builds. The underlying effects of each error diffusion algorithm feels subtle once the random noise is added, and I was very surprised how much appearance changed when the random method changed. Though really, the appearance of Filter-Lite & Floyd-Steinberg are rather close in appearance in the first place, even without random noise.

Quote:
Originally Posted by madshi View Post
But this problem should be solved by the seed bug fix (see above), which should now make everything totally random, without any repeating patterns. This way it could happen that "noisy 2" looks better in some parts of the image and worse in other parts. Or maybe not. If it still looks better everywhere then it was the weight structure which is better and not the random distribution.
...
Here's a new improved version of the "noisy 2" algorithm with the following changes:

(1) random seed bug fixed
(2) went back to old random generator
(3) improved 16x16 boundary behaviour
(4) added limiter to avoid out-of-range stray dots
Thanks, this sounds like it will be an interesting build to test.

Last edited by cyberbeing; 12th February 2014 at 11:38.
cyberbeing is offline   Reply With Quote
Old 12th February 2014, 12:45   #22982  |  Link
leeperry
Kid for Today
 
Join Date: Aug 2004
Posts: 3,477
Quote:
Originally Posted by cyberbeing View Post
Good example of how my preferred Noisy2 (which I've abbreviated as n2) comes out the smoothest with the least amount of chunky noise. Some people may not like that smooth aspect though, but I do find n2 closest to ed7 in that regard on my GDM-F520 CRT. Other displays very well may behave differently. Maybe tomorrow I'll do another one of these with the other open source videos on Xiph. madshi said he wanted votes, so hopefully things like this make it a bit easier to decide.
Oh, so ED7 isn't quite perfectly identical to N3 after all.....I found ED7 fuzzy looking and N3 so much better, good to know that I'm not entirely prone to placebo

Quote:
Originally Posted by ryrynz View Post
I still prefer N3, there's some areas where ED7 tends to appear to "mess" things up a bit in comparison..

I just like how the pixels fall in N3, although at times it trades blows with ED7. I find ED7 is just a tad too soft and I think people might prefer the more "accurate" pixel layout and sharpness of N3.
Yep, N3 is the very obvious "primera calidad" choice with real-world content IME. Still can't really believe how good this looks

Quote:
Originally Posted by madshi View Post
Interesting. You seem to be prefering the old random generator over the new one. So I'll go back to the old one, just to be safe.
Does that imply that N3 is gonna go back to 7?

Quote:
Originally Posted by madshi View Post
Please let me know whether this new build is a visual improvement or not, how much it affects performance and whether the visual improvement is worth the performance hit.
Sounds good, I'll run a shoot-out against N3 then

Quote:
Originally Posted by GREG1292 View Post
the 7870XT Overheats and shuts down and stutters.
There's a price to pay for silence as it would appear "the XFX R9 290 DD Editions power temperature goal is the 95 degrees that AMD has set as the default".

They are actually targeting the TJ max as default OOTB in order to keep the board as silent as technically possible, they should have forced a 5/10° undershoot IMO.

Quote:
Originally Posted by iSunrise View Post
Not if you buy from ASUS, EVGA, MSI or Zotac. They explicitly allow a cooler change (if you donīt damage the card, of course) and they also state that on every forum and they even answer you by e-mail.
Examples of voided warranty.
Quote:
Modifying the cooling-solution in any way.
Hearsay written on one review website is one thing but at the end of the day what matters is what their official warranty terms tell....but good to know that with enough whining/blackmailing there might be a way to still be entitled to RMA with some manufacturers. Still wouldn't risk it, though.

Last edited by leeperry; 12th February 2014 at 13:09.
leeperry is offline   Reply With Quote
Old 12th February 2014, 13:33   #22983  |  Link
TheLion
Registered User
 
Join Date: Dec 2010
Posts: 62
Quote:
Originally Posted by madshi View Post

Did you replace all the files, including mvrSettings.dll and madHcCtrl.exe etc? I could imagine that if you have an old version of one of those files lying around somewhere, they might interfere by not being able to store the new settings. E.g., I believe you're using J.River MC, right? Do you have a separate madVR installation on your harddisk for MPC-HC? Make sure you replace *both* madVR installations with the latest files.
Thanks for the reply. Yes, I replaced all files, made a reset to default options and only have a single madVR installation on my system - the JRiver "internal" one.
Differences in chroma upsampling are rather difficult to spot and evaluate - so I generally use this chart at first: https://drive.google.com/file/d/0B9JsGIAbr0VAaV91VEpCME5wYVE/edit?usp=sharing
I know this is everything but a real case video example, so I checked the rendering times using Blu-ray content.

The chroma chart shows the exact same outcome with ANY of the NNEDI's (16 through 256 neurons) as Jinc3. That's why I speculate that it might fallback to Jinc3 for some reason.
The rendering times are also exactly the same for NNEDI 16-256 as Jinc3.
Thanks!

Last edited by TheLion; 12th February 2014 at 13:44.
TheLion is offline   Reply With Quote
Old 12th February 2014, 13:47   #22984  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
Might make more sense to check with image doubling instead of chroma upsampling. The difference in image quality will be much bigger, so it will be easier to see whether NNEDI3 is active or not. If it's working for image doubling then I see no reason why it wouldn't work for chroma upscaling. I've not done real image quality tests yet to check whether NNEDI3 brings a noticeable quality improvement over Jinc for chroma upscaling.
madshi is offline   Reply With Quote
Old 12th February 2014, 13:51   #22985  |  Link
noee
Registered User
 
Join Date: Jan 2007
Posts: 530
Quote:
Originally Posted by madshi
Please let me know whether this new build is a visual improvement or not, how much it affects performance and whether the visual improvement is worth the performance hit. Thanks!
fwiw, this version gets my vote. Testing with 1080p24 content only so far....I would add that the perf hit does not appear to be that great.

I noticed that with 10-bit encodes, my card just cannot do ED + SM without drops, turning SM off and all is well with ED. For example (1080p24 -> 1080):

ED + SM = GPU 93% with drops
ED only = 50%
SM only = 30%

With 8bit rips/encodes:

ED + SM = GPU 90% with *no* drops

Is this expected? Again, low end HD6570 with GDDR3.
__________________
Win7Ult || RX560/4G || Ryzen 5
noee is offline   Reply With Quote
Old 12th February 2014, 13:57   #22986  |  Link
DarkSpace
Registered User
 
Join Date: Oct 2011
Posts: 204
Quote:
Originally Posted by madshi View Post
Might make more sense to check with image doubling instead of chroma upsampling. The difference in image quality will be much bigger, so it will be easier to see whether NNEDI3 is active or not. If it's working for image doubling then I see no reason why it wouldn't work for chroma upscaling. I've not done real image quality tests yet to check whether NNEDI3 brings a noticeable quality improvement over Jinc for chroma upscaling.
Uhm, some time ago I already mentioned that NNEDI image doubling silently fails for me (post), and it stands to reason that the rest of the OpenCL pipeline (Chroma doubling, old Error Diffusion) also didn't work. I'm on an AMD HD6970M with the newest drivers, and would be more than happy to provide a debug log, but so far I've been waiting, while now it seems you simply missed my post.
DarkSpace is offline   Reply With Quote
Old 12th February 2014, 13:59   #22987  |  Link
leeperry
Kid for Today
 
Join Date: Aug 2004
Posts: 3,477
FWIW I still find the pop-effect of N3 to be much higher than with that fixed N2 but that's on a REC709 calibrated 3.5K:1 LCD, things might change on CRT/SXRD/OLED...hopefully these can the final low/mid noise candidates

Last edited by leeperry; 13th February 2014 at 13:50.
leeperry is offline   Reply With Quote
Old 12th February 2014, 14:03   #22988  |  Link
TheLion
Registered User
 
Join Date: Dec 2010
Posts: 62
Quote:
Originally Posted by madshi View Post
Might make more sense to check with image doubling instead of chroma upsampling. The difference in image quality will be much bigger, so it will be easier to see whether NNEDI3 is active or not. If it's working for image doubling then I see no reason why it wouldn't work for chroma upscaling. I've not done real image quality tests yet to check whether NNEDI3 brings a noticeable quality improvement over Jinc for chroma upscaling.
Would you mind taking just a quick glimpse at

https://drive.google.com/file/d/0B9JsGIAbr0VAaV91VEpCME5wYVE/edit?usp=sharing

to check the chroma upsampling behavior of NNEDI versus Jinc3 - it might be that they simply (and coincidentally) give the very same result in that "artifical test"

I will try to find some "stoneage SD content" to check the image doubling in the meantime

Thanks alot!

Last edited by TheLion; 12th February 2014 at 14:05.
TheLion is offline   Reply With Quote
Old 12th February 2014, 14:03   #22989  |  Link
cyberbeing
Broadband Junkie
 
Join Date: Oct 2005
Posts: 1,859
Quote:
Originally Posted by madshi View Post
Please let me know whether this new build is a visual improvement or not, how much it affects performance and whether the visual improvement is worth the performance hit. Thanks!
I think this NoisyLimited (nLtd) build is a winner.

Distortion went way down, which appears to have increased sharpness and accuracy around fine detail by an order of magnitude. Smoothness improved from n2 build. Quality still seems superior overall to ED7. Periodic repetitions appear resolved. It eliminated the noise on black with my 3DLUT. Performance difference is rather insignificant on my GTX 770 (+0.35ms render , <1% GPU load difference). All of which is actually rather impressive, especially when I see it actually improved lossless PNG compression.
cyberbeing is offline   Reply With Quote
Old 12th February 2014, 14:12   #22990  |  Link
xabregas
Registered User
 
Join Date: Jun 2011
Posts: 121
Hi

Can anyone tell me if Chroma upsampling option affect downscaling?? I say this because when i use NNEDI 32 neurons in a 1080p video downscaled to 1360x768 and NNEDi is selected in chroma upsampling i get a party of dropped frames, but if i select bicubic the dropped frames stop. same with 16 neurons. Nothing selected in image doubling and downscaling method is lanczo 4 AR.



something interesting is when use ctrl J to see the dropped frames with NNEDI selected the render and present queues doesnt rise, stay at 0-2 and 0-3, with bicubic it goes to 15-16 in both.

I have hd7770 1GB and phenom x4 965

Everything is fine with 720p videos upscaled to 1360x768 with NNEDI 32 neurons and lanczo 4 AR. Problems appear only with 1080p videos downscaled to 1360x768 with NNEDI selected in chroma upsampling which is weird i think, because i never knew madvr used chroma option when downscale a video...

TIA
xabregas is offline   Reply With Quote
Old 12th February 2014, 14:25   #22991  |  Link
Ver Greeneyes
Registered User
 
Join Date: May 2012
Posts: 447
Quote:
Originally Posted by leeperry View Post
FWIW I still the pop-effect of N3 to be much higher than with that fixed N2
It seems like the pop effect is helped by adding some noise? But that should probably be separate from the actual dithering, which just aims to accurately reproduce fractional colors. Just wondering if we're not starting to conflate two different things here (like conflating debanding with deblocking)
Ver Greeneyes is offline   Reply With Quote
Old 12th February 2014, 14:36   #22992  |  Link
leeperry
Kid for Today
 
Join Date: Aug 2004
Posts: 3,477
Quote:
Originally Posted by Ver Greeneyes View Post
It seems like the pop effect is helped by adding some noise? But that should probably be separate from the actual dithering, which just aims to accurately reproduce fractional colors. Just wondering if we're not starting to conflate two different things here (like conflating debanding with deblocking)
N3 would appear to be a fixed ED7 and the latter was most everyone's favorite. All roads lead to Rome, at the end of the day what matters is the end-users's subjective experience and N3 looks out of this world IME.

madshi said that he would consider providing one low and one mid noise level algorithms and then possibly only ED7.......maybe that fixed N2 & original N3 would be the perfect candidates as cyberbeing seems to be using a CRT that comes with a very high native but low ANSI contrast and there are some ppl who like noise-free video and some who are willing to accept more noise if it looks more "popping"

If the original N3 isn't chosen for whatever reason, a debug registry key to force it would be most appreciated so I won't be stuck with an old beta forever
leeperry is offline   Reply With Quote
Old 12th February 2014, 14:49   #22993  |  Link
Ver Greeneyes
Registered User
 
Join Date: May 2012
Posts: 447
Quote:
Originally Posted by leeperry View Post
maybe that fixed N2 & original N3 would be the perfect candidates as cyberbeing seems to be using a CRT that comes with a very high native but low ANSI contrast and there are some ppl who like noise-free video and some who are willing to accept more noise if it looks more "popping"
Sure, I'm just wondering if dithering is the right or only place to achieve the extra popping Either way it would be nice to have a version of 7/N3 with the fixes from the fixed N2 so you can see what those do to the effect for you (for one thing, the random seed bug would have affected the random number algorithm from both 7 and N3).
Ver Greeneyes is offline   Reply With Quote
Old 12th February 2014, 15:03   #22994  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
Quote:
Originally Posted by noee View Post
Is this expected? Again, low end HD6570 with GDDR3.
Don't know, maybe.

Quote:
Originally Posted by DarkSpace View Post
Uhm, some time ago I already mentioned that NNEDI image doubling silently fails for me (post), and it stands to reason that the rest of the OpenCL pipeline (Chroma doubling, old Error Diffusion) also didn't work. I'm on an AMD HD6970M with the newest drivers, and would be more than happy to provide a debug log, but so far I've been waiting, while now it seems you simply missed my post.
I'm not sure what to say or do about this. madVR tries to use OpenCL, and if it works, it works. If the OpenCL APIs error out, there's not much madVR can do about it.

Quote:
Originally Posted by TheLion View Post
I will try to find some "stoneage SD content" to check the image doubling in the meantime
Stoneage SD is often very soft, which is not ideal test material for NNEDI3. What you need is rather sharp or aliased source content. Try a high quality Blu-Ray, upscaled to 4K. Or use a very sharp and detailed photo.

Quote:
Originally Posted by cyberbeing View Post
I think this NoisyLimited (nLtd) build is a winner.

Distortion went way down, which appears to have increased sharpness and accuracy around fine detail by an order of magnitude. Smoothness improved from n2 build. Quality still seems superior overall to ED7. Periodic repetitions appear resolved. It eliminated the noise on black with my 3DLUT. Performance difference is rather insignificant on my GTX 770 (+0.35ms render , <1% GPU load difference). All of which is actually rather impressive, especially when I see it actually improved lossless PNG compression.
Sounds good! So it seems my algorithm changes helped.

Now we still have 3 possible variations left:

(1) Floyd-Steinberg vs. Filter Lite.
(2) Weight sum 1.0 vs. weight sum 0.97.
(3) Old random generator vs. new random generator.

Every of these small differences will change the output. The old 4 noisy builds were all possible combinations of (1) and (2), using the new random generator. Should I create 8 builts now to cover all variances, so we can make a final decision? Or how can we decide which of the 8 possible variations is the best overall solution?

Quote:
Originally Posted by xabregas View Post
Can anyone tell me if Chroma upsampling option affect downscaling??
Yes. Chroma is always upscaled first. Then the image is converted to RGB. Then it's upscaled or downscaled to the final output resolution. Using NNEDI3 for chroma upscaling is a bit overkill if you don't have a monster GPU. I'd recommend using NNEDI3 only for luma doubling.
madshi is offline   Reply With Quote
Old 12th February 2014, 15:27   #22995  |  Link
cyberbeing
Broadband Junkie
 
Join Date: Oct 2005
Posts: 1,859
Quote:
Originally Posted by madshi View Post
Now we still have 3 possible variations left:

(1) Floyd-Steinberg vs. Filter Lite.
(2) Weight sum 1.0 vs. weight sum 0.97.
(3) Old random generator vs. new random generator.

Every of these small differences will change the output. The old 4 noisy builds were all possible combinations of (1) and (2), using the new random generator. Should I create 8 builts now to cover all variances, so we can make a final decision? Or how can we decide which of the 8 possible variations is the best overall solution?
Ugh... as much as I hate how time consuming it is, I'd say once again provide all combinations together in a blind test, and this time really keep all variables a secret till the end so people do not become biased. Reveal the answers to (1), (2), (3) only once the finalized decision is made and included in your next madVR release build.

Quote:
Originally Posted by Ver Greeneyes View Post
It seems like the pop effect is helped by adding some noise? But that should probably be separate from the actual dithering, which just aims to accurately reproduce fractional colors. Just wondering if we're not starting to conflate two different things here (like conflating debanding with deblocking)
That's usually the case, and is why a lot of movie-quality anime actually add grain in post-production to give the everything more grit and perceived sharpness. I've even see one studio, instead of adding traditional high frequency grain, added low frequency grain which gave all the flat anime coloring and gradients a very pleasing texture.

An error diffusion build with amount of noise on the same level as 'random dither' would probably look quite nice on some noise-less content. Though overall, I think madVR gaining some kind of non-temporal luma-adaptive "add grain" control would suit this need better.

Quote:
Originally Posted by leeperry View Post
N3 would appear to be a fixed ED7
N3 wasn't a fixed ED7, it was only ED7 with different random method. The original hope was it would resolve the repetition, but it didn't. This latest noisyLimited is the first we've had with actual bug-fixes:

Quote:
Originally Posted by madshi View Post
(1) random seed bug fixed
(3) improved 16x16 boundary behaviour
(4) added limiter to avoid out-of-range stray dots

Last edited by cyberbeing; 12th February 2014 at 15:58.
cyberbeing is offline   Reply With Quote
Old 12th February 2014, 15:39   #22996  |  Link
leeperry
Kid for Today
 
Join Date: Aug 2004
Posts: 3,477
Quote:
Originally Posted by madshi View Post
Should I create 8 builts now to cover all variances, so we can make a final decision?
I don't see how PQ could improve over N3 from a purely subjective point of view, but you've grown that habit of always forcing us to expect the unexpected so please bring the pain in the hope of finally getting it over with
leeperry is offline   Reply With Quote
Old 12th February 2014, 15:57   #22997  |  Link
Shiandow
Registered User
 
Join Date: Dec 2013
Posts: 753
Quote:
Originally Posted by madshi View Post
(1) random seed bug fixed
(2) went back to old random generator
(3) improved 16x16 boundary behaviour
(4) added limiter to avoid out-of-range stray dots

The last new feature costs a bit extra performance. Basically what it does is it stops error diffusion from creating values that are too far away from the original pixel value. E.g. if the pixel value is 20.5, the limiter forces error diffusion to create a pattern with only 20 and 21 values. Without the limiter, some rare 19 and 22 values could occur.
Interestingly my code actually becomes faster by implementing (4). It saves me from having to do an inverse gamma correction when I add the error. You may not be able to do the same since we seem to use very different methods but I thought you might find it interesting.

Using the notation, 'x' for the original value, 'error' for the (gamma corrected) error that is being diffused to that pixel, 'f' for the gamma correction and 'finv' for the inverse gamma correction. The method I used was something like the following:

Code:
temp = finv(f(x) + error)
if (f(x) + error) < 0.5*(f(floor(temp)) + f(ceil(temp)))
   { result:= floor(temp);}
else
   { result:= ceil(temp);}
newerror = (f(x) + error) - f(result);
But if the final value must be either floor(x) or ceil(x) then I can just use:

Code:
if (f(x) + error) < 0.5*(f(floor(x)) + f(ceil(x)))
   { result:= floor(x);}
else
   { result:= ceil(x);}
newerror = (f(x) + error) - f(result);
This saves me the trouble of calculating the inverse gamma correction.

Last edited by Shiandow; 12th February 2014 at 17:52.
Shiandow is offline   Reply With Quote
Old 12th February 2014, 16:27   #22998  |  Link
madshi
Registered Developer
 
Join Date: Sep 2006
Posts: 9,140
Quote:
Originally Posted by Shiandow View Post
Interestingly my code actually becomes faster by implementing (4). It saves me from having to do an inverse gamma correction when I add the error. You may not be able to do the same since we seem to use very different methods but I thought you might find it interesting.
Yeah, quite interesting. Unfortunately it doesn't work this way for me. My code got more complicated and used more registers. Actually I'm a bit surprised that the performance hit is as small as it is with my code.

Anyway, does the change improve image quality in your tests, too?

Quote:
Originally Posted by cyberbeing View Post
Ugh... as much as I hate how time consuming it is, I'd say once again provide all combinations together in a blind test, and this time really keep all variables a secret till the end so people do not become biased. Reveal the answers to (1), (2), (3) only once the finalized decision is made and included in your next madVR release build.
Ok, will do. So here are the new test builds:

http://madshi.net/madVRnl.rar

I'd really like to finish the medium-noise error diffusion finding process now. So I hope you'll like one of these, and hopefully more than any of the older builds.
madshi is offline   Reply With Quote
Old 12th February 2014, 16:59   #22999  |  Link
James Freeman
Registered User
 
Join Date: Sep 2013
Posts: 919
Quote:
Originally Posted by madshi View Post
I'd really like to finish the medium-noise error diffusion finding process now. So I hope you'll like one of these, and hopefully more than any of the older builds.
What do you mean by "medium-noise" madshi?
Can we predict 3 levels (low, medium, high) of ED?
__________________
System: i7 3770K, GTX660, Win7 64bit, Panasonic ST60, Dell U2410.
James Freeman is offline   Reply With Quote
Old 12th February 2014, 17:27   #23000  |  Link
nevcairiel
Registered Developer
 
Join Date: Mar 2010
Location: Hamburg/Germany
Posts: 10,344
high noise is random dithering.
__________________
LAV Filters - open source ffmpeg based media splitter and decoders
nevcairiel 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 06:33.


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