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. |
15th February 2014, 07:24 | #23161 | Link | |||
Registered User
Join Date: Apr 2009
Posts: 1,019
|
Quote:
Quote:
Quote:
I notice that you essentially have a "background" of a middle gray tone, and on either side there is dither using lighter or darker values on top of it - but there is no crossing point that blends all three values. There are also stray green/magenta pixels too, which seems odd. Last edited by 6233638; 15th February 2014 at 08:07. |
|||
15th February 2014, 07:32 | #23162 | Link | |
Registered User
Join Date: May 2012
Posts: 447
|
Quote:
Edit: Here's another comparison, using a perceptual pattern and scaling the luma in a perceptually uniform space: no dithering (luma only) random dithering (luma only) error diffusion - gamma light (luma only) error diffusion - linear light (luma only) expanded original (luma only) I'm aware that the luma only images are a bit.. beige.. but I'm not sure what the right way is to deal with that is. Anyway, this comparison clearly shows that there's something wrong with linear light. madshi, is it possible you're adding gamma instead of removing it? It turns out I was doing this with my perceptual test pattern due to a copy-paste mistake (I'll upload new versions soon), so I thought I'd ask :P
__________________
Test patterns: Grayscale yuv444p16le perceptually spaced gradient v2.1 (8-bit version), Multicolor yuv444p16le perceptually spaced gradient v2.1 (8-bit version) Last edited by Ver Greeneyes; 15th February 2014 at 08:42. |
|
15th February 2014, 08:14 | #23163 | Link | |
Registered User
Join Date: Apr 2009
Posts: 1,019
|
Quote:
|
|
15th February 2014, 08:21 | #23164 | Link |
AV heretic
Join Date: Nov 2009
Posts: 422
|
More "analog", "tube-like"? I watched old Antarctica 1983 movie yesterday with GL and had these impressions. Pure speculations though, I haven't much time to spend on tests. Some digital sources look too *digital* and may benefit from *analog* filter, but not all of them i suspect.
|
15th February 2014, 08:29 | #23165 | Link | |
Registered User
Join Date: Apr 2009
Posts: 1,019
|
Quote:
But from my continued testing... I don't mind how NL6 looks. At least not when testing gradients - though I'm still not convinced it was the best choice. Last edited by 6233638; 15th February 2014 at 08:38. |
|
15th February 2014, 08:30 | #23166 | Link | |
Broadband Junkie
Join Date: Oct 2005
Posts: 1,859
|
Quote:
Gamma Light difference vs Reference | Linear Light difference vs Reference. How did you generate these images with madVR? The only thing which could logically explain this, is if there was a mismatch somewhere between gamma light and linear light processing. I see your other comparison now, and it adds weight to my suspicion. I agree that something seems wrong with how linear light is being applied here. It's like madVR is forgetting to convert the video from gamma light to linear light, apply dithering, and then convert back from linear light to gamma light again. But who knows. If you are using shaders, maybe it's something like the 0-6 -> 0-255 expansion being performed in gamma light instead of linear light. Last edited by cyberbeing; 15th February 2014 at 08:50. |
|
15th February 2014, 08:48 | #23167 | Link | ||
Registered User
Join Date: May 2012
Posts: 447
|
Quote:
Edit: New test pattern is up if you want to try it yourself, link in my signature (the first one). Quote:
__________________
Test patterns: Grayscale yuv444p16le perceptually spaced gradient v2.1 (8-bit version), Multicolor yuv444p16le perceptually spaced gradient v2.1 (8-bit version) Last edited by Ver Greeneyes; 15th February 2014 at 08:59. |
||
15th February 2014, 09:00 | #23168 | Link |
AV heretic
Join Date: Nov 2009
Posts: 422
|
Right. Just like "pop effect", "opened window" or "3D look".
There could be no best choice at all, at least for a very different sources. But it's hard to tell in short time testing, thats why I didn't even try it. Whatever we expect, dither algorithm may act like an image filter - thats my exact point. |
15th February 2014, 09:31 | #23169 | Link |
Broadband Junkie
Join Date: Oct 2005
Posts: 1,859
|
@Ver Greeneyes
I see the test pattern now, though I still don't understand exactly what you are doing to produce those results. When I take a screenshot of frame 29 of gradient-perceptual-v2.mkv, then expand from 0-6->0-255 I end up with the following results: madVR Gamma Dither | madVR Linear Dither |
15th February 2014, 10:04 | #23171 | Link | |
Registered User
Join Date: Oct 2013
Location: Sweden
Posts: 128
|
Quote:
Doing gauss blur i gamma light is worng and i am guilty of doing it before. The results: SOURCE GAMMA light LINEAR light Then a ran tests on the blurred results in matlab: PSNR, higher is better! Code:
out = psnr(GAMMA,SOURCE) out = 38.1919 out = psnr(LINEAR,SOURCE) out = 42.4802 Last edited by bacondither; 15th February 2014 at 10:07. |
|
15th February 2014, 10:40 | #23172 | Link |
Registered User
Join Date: Sep 2013
Posts: 919
|
I'll share my unprofessional objective opinion.
Both of them do not look like the source. One is too dark, the other is too bright. In all of the tests you guys posted.
__________________
System: i7 3770K, GTX660, Win7 64bit, Panasonic ST60, Dell U2410. Last edited by James Freeman; 15th February 2014 at 10:44. |
15th February 2014, 10:41 | #23173 | Link | |||||||
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
Quote:
Quote:
Quote:
Quote:
I did make several blind tests, though, to make sure that people using either approach were consistent in their choices. And they were. So it seems to me both approaches do have their merit in this case. Quote:
Quote:
Quote:
gamma light: Code:
float3 calcPixelGamma(float3 gammaPixel, float3 collectedError, float randomValue, out float3 newError) { float3 tempPixel = gammaPixel * 255.0f; float3 floorG = floor(tempPixel) / 255.0f; float3 ceilG = ceil (tempPixel) / 255.0f; float3 result = (gammaPixel + randomValue + collectedError < 0.5 * (floorG + ceilG)) ? floorG : ceilG; newError = gammaPixel + collectedError - result; return result; } Code:
float3 convertToLinear(float3 gammaValue) { return pow(saturate(gammaValue), 1.0 / 0.45); } float3 calcPixelLinear(float3 gammaPixel, float3 collectedError, float randomValue, out float3 newError) { float3 tempPixel = gammaPixel * 255.0f; float3 floorG = floor(tempPixel) / 255.0f; float3 ceilG = ceil (tempPixel) / 255.0f; float3 floorL = convertToLinear(floorG); float3 ceilL = convertToLinear( ceilG); bool3 useFloor = convertToLinear(gammaPixel + randomValue) + collectedError < 0.5 * (floorL + ceilL); newError = clamp(convertToLinear(gammaPixel) + collectedError, floorL, ceilL) - ((useFloor) ? floorL : ceilL); return (useFloor) ? floorG : ceilG; } |
|||||||
15th February 2014, 10:57 | #23174 | Link | |
Registered User
Join Date: Oct 2013
Location: Sweden
Posts: 128
|
@madshi
Could you try a gamma compensation value of 1/2.0=0.5 Code:
return pow(saturate(gammaValue), 1.0 / 0.5); Quote:
Last edited by bacondither; 15th February 2014 at 12:22. |
|
15th February 2014, 11:34 | #23176 | Link |
Registered User
Join Date: Aug 2012
Posts: 12
|
Can't figure out why my system can't handle NNEDI3.
System: AMD HD 7770 (1GB GDDR5) Intel i5-750 - 16GB RAM Win 7 64 Madvr (0.87.4) + MP-HC (latest nightly build) including LAV Catalyst 14.1 I play mostly high quality videos (720p/1080p) via extended desktop on a 55 inch plasma. Only NNEDI3 up to 32 neurons for Chroma upscaling works, anything higher then that eats up all GPU power and results in dropped frames. Image doubling is just impossible, even just for Luma at 16 neurons. I get massive dropped frames and the video stutters heavily. I've tried some trade-offs (using random dithering, Lanczos or Bicubic 50 for up- and downscaling), but it doesn't resolve anything. GPU-Z says OpenCL is fully operational and anything but NNEDI3 works just fine (Jinc3/4, new debanding feature, no trade-offs). I've read Madshi can pull of NNEDI3 and many of you seem to have no problems testing all different builds, so I'm just wondering if it's a software setting or something really obvious I've missed... Any help would be greatly appreciated! |
15th February 2014, 11:58 | #23177 | Link |
Registered User
Join Date: Jan 2007
Posts: 530
|
Go back to latest stable, 13.12. I've had some problems with the 14.1 beta as well, not worth struggling with right now. 14.2 is coming soon anyway, you could try again with that later.
__________________
Win7Ult || RX560/4G || Ryzen 5 |
15th February 2014, 12:02 | #23178 | Link | |
Broadband Junkie
Join Date: Oct 2005
Posts: 1,859
|
Quote:
If you are converting from 2.2 Gamma to 1.0 Linear shouldn't it be something like the following: Code:
float3 convertToLinear(float3 gammaValue) { return pow(saturate(gammaValue), 1.0 / 2.2); } I know if I make an MPC-HC shader like the following, madVR will convert the gamma from 2.2 -> 1.0 gamma: Code:
sampler s0; float4 main(float2 tex : TEXCOORD0) : COLOR { return pow(tex2D(s0, tex), 1.0 / 2.2); } Code:
sampler s0; float4 main(float2 tex : TEXCOORD0) : COLOR { return pow(tex2D(s0, tex), 1.0 / 0.45); } Last edited by cyberbeing; 15th February 2014 at 12:15. |
|
15th February 2014, 12:18 | #23179 | Link | |
Registered User
Join Date: Aug 2012
Posts: 12
|
Quote:
Also tried overclocking my 7770 Gh edition, but doesn't change much and makes my system unstable. From what I understood, a recent AMD GPU shouldn't have too much troubles with OpenCL and NNEDI3, right? |
|
15th February 2014, 12:18 | #23180 | Link |
Registered User
Join Date: Jan 2013
Location: Savoie FRANCE
Posts: 13
|
Sorry if I misinterprate the code but shouldn't LL value be calculated from Gamma settings (i.e. fields "The display is calibrated to the following transfer function / gamma" and/or "desired display gamma/transfer function".
Unless this does not make much difference with 2.2 gamma? |
Tags |
direct compute, dithering, error diffusion, madvr, ngu, nnedi3, quality, renderer, scaling, uhd upscaling, upsampling |
Thread Tools | Search this Thread |
Display Modes | |
|
|