wyatt8740 / neudist

A small DisplayCAL alternative Bourne shell script. Meant for Unix systems using Argyll CMS.
MIT License
5 stars 0 forks source link

LAB profiles #1

Closed 24fpsDaVinci closed 2 years ago

24fpsDaVinci commented 2 years ago

nice work here, on firefox 101 LAB profiles dont seem to apply at all. cLUT + Matrix seem to be the default in Displaycal. I couldnt find the explanation on why LAB is default in colprof.

wyatt8740 commented 2 years ago

Hi; is this a bug in my script, or a question about firefox and color profiles? I believe I have my script set up to default to using XYZ LUT + Matrix, which mozilla products seem to work better with.

Colprof defaults to L*A*B since is technically a superior solution, if I remember correctly. There is something in the online Argyll documentation, but that's a lot of pages to look through. But a lot of other programs don't handle L*A*B profiles correctly, so DisplayCAL probably made the judgement call that they should default to XYZ LUT + matrix so that the defaults would "just work" better for less savvy users who might be confused.

Just to make sure, you're using gfx.color_management.display_profile, right? What happens if you enable gfx.color_management.enablev4?

Edit: Ah, I do use XYZ+Matrix by default but the help text still says I use L*A*B. Let me fix that. At one point in time L*A*B was what I had my script default to, but then I discovered Mozilla's issues with them. I do believe Firefox actually did pick up and use the L*A*B CLUT properly; on one of my machines it is quite noticeable when the 3D lookup is used due to the poor quality of the screen.

Changed to:

-a, --algorithm      Algorithm type override
                         l = Lab cLUT (Argyll preferred),
                         x = XYZ cLUT
                         X = display XYZ cLUT + matrix (Neudist default),
                         Y = display XYZ cLUT + debug matrix,
                         g = gamma+matrix,
                         s = shaper+matrix,
                         m = matrix only,
                         G = single gamma+matrix,
                         S = single shaper+matrix

Do notice that the help text mentions:

If it weren't for problems in some browsers, I would recommend -a 'l'. As it is, though, you should probably use 'X' for compatibility.

I do know that seamonkey renders L*A*B profiles horribly wrong; when I tried I think firefox (which has a newer code base) it was okay but had other issues.

BTW, if it is a question and this helps, the flags I currently use with this script on my laptop are --all --correction /path/to/corrections/ccmx/or/ccss/file --intent p --intent-sat lp --input-profile /usr/share/color/argyll/ref/sRGB.icm --noninteractive --skip-adjust --whitepoint-preset D65 --gamma s example_profile_output_name. Some of those won't be necessary for you of course, like --intent-sat.

Also worth noting, i am still on Firefox 89 because the changes they've made infuriate me and I haven't had the time to update my patchset for it. But I think it should be similar.

wyatt8740 commented 2 years ago

@24fpsDaVinci (ping.)

24fpsDaVinci commented 2 years ago

thanks for the detailed reply. your scirpt is very good, the issue is with firefox. iccv4 is enabled and profile is defined in settings.

24fpsDaVinci commented 2 years ago

after some experimenting i found that LUTs are destructive and leads to generally poor results compared to matrix profiles, so i'm sticking with that for now. some literature