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. |
6th May 2013, 03:29 | #18681 | Link | |||||||
Broadband Junkie
Join Date: Oct 2005
Posts: 1,859
|
Quote:
Quote:
Quote:
Quote:
Source (native monitor gamma / source gamut) -> Destination (native monitor gamma / monitor gamut) -> Final user-defined gamma target (verified by measurements) Source -> Destination = Linear gamma adaption (Input=Output gamma) Source -> Destination = Gamut adaption Destination -> Gamma Target = User defined gamma adaption (w/ src->dst gamut adaption maintained) Quote:
I'd also find it useful if you could specify ambient light lux instead of a numerical gamma number when using -I override, in order to scale a curve for viewing conditions in the same fashion as Dispcal. Quote:
I frequently do calibrate to Rec709 with ambient light scaling in Dispcal for video calibration, but it seem like you are suggesting something different. I guess the question would be, how do I create a source ICM profile which agrees with Dispcal's method of ambient light scaling? The REC709 profiles bundled with Dispcal GUI scale the the native Rec709 curves in a more traditional fashion while Dispcal scales to ambient light with CIECAM based on your display measurements. Last edited by cyberbeing; 6th May 2013 at 04:22. |
|||||||
6th May 2013, 04:38 | #18682 | Link | |
Registered User
Join Date: Aug 2011
Location: Australia
Posts: 51
|
Quote:
|
|
6th May 2013, 05:01 | #18683 | Link | |
Broadband Junkie
Join Date: Oct 2005
Posts: 1,859
|
Quote:
Edit: Not seeing any visible improvement on "4-Color Clipping.mp4" using -qu -ip or -qu -ir Edit2: It would seem the -q switch is broken or not affecting ouput when using -ir , since the 3DLUT generated with defaults vs -qu are 100% byte-identical. Edit3: Using -ir or -ila causes Green to be clipped the heaviest on "4-Color Clipping.mp4", even though that is the only color of my monitor gamut which falls within REC709. Last edited by cyberbeing; 6th May 2013 at 05:55. |
|
6th May 2013, 06:13 | #18684 | Link | ||||
Registered User
Join Date: Aug 2011
Location: Australia
Posts: 51
|
Quote:
Quote:
Here's a sanity check: On my display for black, 50% grey and White using a .3dlut created with "-Ib -I2.2 -ir" I get: Code:
Video in 3dlut out Expected display XYZ 0 0 0 0.010435 0.005188 -0.000180 0.000341 0.000352 0.000302 .5 .5 .5 0.533183 0.536744 0.535794 0.217556 0.229262 0.226722 1 1 1 1.000001 1.000008 1.000019 0.951394 1.000018 0.978644 So the effective display gamma is log(0.229262)/log(0.5) = 2.1249, which is what you expect for a slight input offset. The overall effective viewing gamma is therefore about 2.1249/(Rec709 ~= 2.0) = 1.06. Which is plum in the target range for a not super dark viewing conditions. Quote:
Quote:
Last edited by Graeme Gill; 6th May 2013 at 06:14. Reason: Fix table formatting |
||||
6th May 2013, 07:12 | #18685 | Link | ||
Broadband Junkie
Join Date: Oct 2005
Posts: 1,859
|
Quote:
It appears that the profile I linked earlier was "-g2.4 -f0 -k1.0" and not "-G2.4 -f0 -k1.0", since using "-G2.4" was crushing shadow tones too much on my CRT. I actually seem to get closer to the values on that BT.1886 Excel sheet calculator using -g2.4 because of the difficulty which the i1pro has reading extremely low luminance levels. (note: I'm the same guy from the mailing list troubleshooting the i1pro crt problem which resulted in you to adding adaptive i1pro integration time for dispcal back in 2009). Essentially the following: 3DLUT Disabled yCMS 3DLUT Argyll collink -Ib -I2.4 -ir 3DLUT Argyll collink -Ib -I2.2 -ir 3DLUT (edit: fixed link) Quote:
Last edited by cyberbeing; 6th May 2013 at 07:16. |
||
6th May 2013, 07:13 | #18686 | Link | |||||
Registered User
Join Date: Aug 2011
Location: Australia
Posts: 51
|
Quote:
Quote:
The .3dlut without the calibration curve is built with collink -v -I b -I 2.2 -G -i r Rec709.icm TV.icm HD.icm tested with the display profile in place: "dispwin TV.cal". The .3dlut with calibration curve was built with collink -v -I b -I 2.2 -G -i r -a TV.cal Rec709.icm TV.icm HD.icm and tested with "dispwin -c" For this sort of testing it shouldn't matter exactly what device profile and calibration you use, ie. you could use srgb.icm for TV.icm, and strange.cal for the calibration file, and it should still prove the equivalence. Quote:
Quote:
Video RGB in Rec709 -> BT.1886 curve -> Input profile -> PCS - (optional gamut mapping) -> target PCS -> display profile -> calibrated display RGB -> disp.cal -> raw display RGB -> display -> expected PCS. Monitor.icm is the inverse of how the display behaves, so that when concatenated with the actual display, it cancels out. [The BT.1886 is plonked in front of the input profile because we know the input profile is a matrix. For a general input profile, we would have to do it in PCS space.] Quote:
|
|||||
6th May 2013, 07:24 | #18687 | Link | |||||
Registered User
Join Date: Aug 2011
Location: Australia
Posts: 51
|
Quote:
Quote:
Quote:
Quote:
Quote:
|
|||||
6th May 2013, 07:29 | #18688 | Link | |
Broadband Junkie
Join Date: Oct 2005
Posts: 1,859
|
Quote:
3DLUT Disabled (Steps) yCMS 3DLUT (Steps) Argyll collink -Ib -I2.4 -ir 3DLUT (Steps) Argyll collink -Ib -I2.2 -ir 3DLUT (Steps) (currently reading your prior two posts) |
|
6th May 2013, 07:32 | #18689 | Link | ||||
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
Quote:
Quote:
Quote:
(1) First of all it measures your display's exact behaviour. The measurements are done in 3D (not in 2D at 75IRE or 100IRE like yCMS). And the 3D measurement grid doesn't even have to be regular. (2) In the second step ArgyllCMS calculates the desired display behaviour. Basically is calculates how your display *should* measure at every 3D measurement point. (3) Finally, ArgyllCMS calculates a LUT that for every LUT point transforms the actual display behaviour to the desired behaviour. The problem with your feature wish is that your gamma response is not strictly a 2D curve, and it is not separate from your overall display behaviour. Measuring primaries and gamma response separately makes things easier to understand for us humans. But ArgyllCMS's algorithms don't separate between them, I believe. ArgyllCMS just for every 3dlut data point implements a transformation which makes sure that the display measures as calculated in step (2). In order to implement your feature wish you would either have to "hack" the measurements done in step (1), or you would have to "hack" the desired display response calculated in step (2). Both is theoretically possible. But please understand that doing such hacks would have to be done in 3D, and the hacks would affect both gamma and colors. Doing this in a way that produces the results you wish for would be really really complicated. I don't think ArgyllCMS could do such hacks automatically, because what you ask for is to keep gamma the same but change colors, while the way ArgyllCMS works it doesn't even separate gamma and gamut (except in step (2) where gamma and primaries are specified to calculate the "wanted display response"). ArgyllCMS just tries to make the display measure a specific XYZ value at every LUT point. I think the only practical way to implement your feature wish with the way ArgyllCMS works would be to create a very complex target model for step (2) which would somehow maintain your display's original transfer response while correcting the primaries. But such a model would have to be 3D for ArgyllCMS to make sense. Basically what you could do is take the "wanted display response" (step (2)) and then tweak it by moving around the calculated wanted XYZ values of each 3D measurement point. You could do that with trial and error, to try achieve the desired affect. But trial and error means you'd have to test every modification to see if it produces the desired results. This process would be very painful, IMHO, because it would have to be done in 3D and you'd have to move around the surrounding measurement points in 3D somewhat, too, and it would screw up ArgyllCMS' calculations, so in the end while you might be able to maintain your transfer response more or less (with a *lot* of manual work), you would likely hurt the primary calibration quality. BTW, the CMS I considered adding to madVR would have worked *exactly* the same way ArgyllCMS works. And that btw was also the plan for yCMS v2. Meaning your wishes wouldn't have worked with my own CMS or with yCMS v2, either. I didn't know that ArgyllCMS already did exactly what I was planning for. So now I think I will probably not do my own CMS. Why reinvent the wheel? Instead I'll probably invest some time to make it easier for users to work with ArgyllCMS (or Calman or [...]) in combination with madVR. Edit: After thinking about it: Maybe you could simply tell ArgyllCMS to use a different gamma curve to calculate the "desired display behaviour" in step (2)? If you choose a gamma curve that is near to your display's native behaviour, shouldn't that produce the desired effect? Quote:
------- @Graeme, are ICC 3dluts hard limited to max 65x65x65 resolution? Would it be worth considering an option to create bigger ICC 3dluts? Maybe not for using them as actual ICC profiles, but it would allow producing a more exact 3dlut for madVR. My thinking is that it might help adding a lot of grayscale measurements to prettify the measured gamma response. E.g. if you go hardcore and measure every 219 possible 8bit grayscale values, producing a 219x219x219 3dlut with a fully scanned gamma curve (and then converting it to a 256x256x256 madVR 3dlut) might noticably improve gamma measurements. Ok, I'm not sure if this would just prettify those measurement charts, or if it would also help with real life video playback. Just a thought... Last edited by madshi; 6th May 2013 at 07:41. |
||||
6th May 2013, 07:38 | #18690 | Link | |
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
Quote:
FWIW, this problem does *not* occur with the latest MPC-HC build. So does this mean it's a bug in MPC-BE? |
|
6th May 2013, 07:44 | #18691 | Link | |
Registered User
Join Date: Apr 2008
Location: Russia, Vladivostok
Posts: 2,787
|
Quote:
I do not understand.
__________________
AMD Ryzen 5 3600 /GIGABYTE B450 Gaming X /Patriot 32Gb@3200 /Kingston 500Gb M.2 /RTX 4060 /Samsung U28R550UQI /OLED Philips 55OLED707 /Yamaha RX-V471 + NS-555 + NS-C444 + NS-333 + YST-SW215 |
|
6th May 2013, 08:14 | #18693 | Link |
Registered User
Join Date: Dec 2002
Posts: 5,565
|
I've created a report. Just delete the ticket without the attachment. It didn't take the .7z extension and then I must have misclicked (or it's a bug in the tracker?). It also made "~4 minute mark" into "0000001:0000004 minute mark".
|
6th May 2013, 08:31 | #18694 | Link | |||||||
Broadband Junkie
Join Date: Oct 2005
Posts: 1,859
|
Quote:
Quote:
Which knob do I need to turn to change the gamma output of an Argyll 3DLUT if I (for example) do not want to use BT.1886 or REC709, and no ICM device profiles exist from my intended target? Quote:
If dispcal were capable of re-calibrating VideoLUT gamma based on 3DLUT grayscale output, that could be nice, but it still means that the 3DLUT is messing with gamma of video pixels in an undesired way. Quote:
You, me, and yesgray had these very same discussions during yCMS v1 development, and came to the ultimate conclusion that no gamma correction should be the default behavior. As well as that the video should not be assumed to have any gamma curve and treated linearly in yCMS unless grayscale measurements were specified. It would be sad if you had done away with the capability to do gamut correction without gamma correction in a future madVR version. Quote:
Quote:
Last edited by cyberbeing; 6th May 2013 at 09:09. |
|||||||
6th May 2013, 08:47 | #18695 | Link |
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
No, ArgyllCMS does allow you to specify which gamma curve you want to target. However, at the moment at least dispcalGUI seems to be limited to a specific set of gamma curves and values. If none of these curve/value combinations comes close to what you want to have, you've got a problem. Maybe it would be worth a thought for ArgyllCMS to allow specifying a totally custom gamma target curve. You could then model it to match an estimation of your current gamma response. But I'm just thinking out loud here, only Graeme can say if that is making any sense or not.
|
6th May 2013, 09:02 | #18696 | Link | |
Broadband Junkie
Join Date: Oct 2005
Posts: 1,859
|
Quote:
Last edited by cyberbeing; 6th May 2013 at 09:08. |
|
6th May 2013, 09:12 | #18697 | Link |
Registered Developer
Join Date: Sep 2006
Posts: 9,140
|
I'm not sure I understand. What exactly do you mean with "3DLUT vs dispcal only"? Do you mean "3DLUT = VideoLUT + madVR 3dlut" and "dispcal only = VideoLUT"? If so: What happens if you disable the VideoLUT when using the madVR 3dlut, do you get correct results then?
|
6th May 2013, 09:15 | #18698 | Link | |
Registered User
Join Date: Aug 2011
Location: Australia
Posts: 51
|
Quote:
Red, Green and Blue are all outside your displays gamut: icclu -ff -ir -pl Rec709.icm /src/argyll/link:icclu -ff -ir -pl Rec709.icm 1.000000 0.000000 0.000000 [RGB] -> MatrixFwd -> 54.285218 80.831212 69.906123 [Lab] 0.000000 1.000000 0.000000 [RGB] -> MatrixFwd -> 87.820812 -79.285064 80.992273 [Lab] 0.000000 0.000000 1.000000 [RGB] -> MatrixFwd -> 29.569144 68.284819 -112.028372 [Lab] /src/argyll/test/cyberbeing:xicclu -a -fif -ir -pl GDM-F520_2013-04-15_BT.1886_MQ.icm 54.285218 80.831212 69.906123 [Lab] -> Lut -> 0.952400 0.000000 0.000000 [RGB] (clip) [Actual 55.227343 75.324788 72.225882, deltaE 6.048933] 87.820812 -79.285064 80.992273 [Lab] -> Lut -> 0.399021 1.000000 0.000000 [RGB] (clip) [Actual 86.520454 -69.126831 81.851552, deltaE 10.277110] 29.569144 68.284819 -112.028372 [Lab] -> Lut -> 0.000000 0.000000 0.998954 [RGB] (clip) [Actual 34.504783 47.212857 -103.267859, deltaE 23.348120] |
|
6th May 2013, 09:27 | #18699 | Link | ||||
Registered User
Join Date: Aug 2011
Location: Australia
Posts: 51
|
Quote:
Quote:
Quote:
Quote:
|
||||
6th May 2013, 09:36 | #18700 | Link | ||
Broadband Junkie
Join Date: Oct 2005
Posts: 1,859
|
I had forgotten about the 3D gamut projection. Bright green tones are indeed missing compared to Rec709 (white wireframe).
GDM-F520 3D Gamut Quote:
My preference is usually to have a gamma curve which goes from somewhere in the range of 1.9-2.2 near-black, ~2.4 in midtones, and ~2.6 in highlights. When I scale a REC709 curve to 32 lux ambient light, that is basically the end-result on my GDM-F520. Recently I've been testing out BT.1886, but still think I prefer the characteristics of the dispcal scaled REC709 curve instead. What all this ultimately comes down to is that I'm just very picky about the final gamma response of my display, and I don't like loosing control and flexibility for the end result. Quote:
Last edited by cyberbeing; 6th May 2013 at 09:57. |
||
Tags |
direct compute, dithering, error diffusion, madvr, ngu, nnedi3, quality, renderer, scaling, uhd upscaling, upsampling |
|
|