From c9443dd04d5d09dbc7de5b9d6f800d414882addf Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 24 Jul 2024 18:55:35 -0600 Subject: [PATCH] Fix the hlg transfer function Fix a bug in the formula, and enable hlg as a transfer function. The tests are passing now. --- gdk/gdkcolordefs.h | 2 +- gdk/gdkcolorstate.c | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/gdk/gdkcolordefs.h b/gdk/gdkcolordefs.h index b1d30b9af8..da02b7526e 100644 --- a/gdk/gdkcolordefs.h +++ b/gdk/gdkcolordefs.h @@ -99,7 +99,7 @@ hlg_eotf (float v) if (v <= 0.5) return (v * v) / 3; else - return expf (((v - c) / a) + b) / 12.0; + return (expf ((v - c) / a) + b) / 12.0; } static inline float diff --git a/gdk/gdkcolorstate.c b/gdk/gdkcolorstate.c index bdaca8eb57..6823faff62 100644 --- a/gdk/gdkcolorstate.c +++ b/gdk/gdkcolorstate.c @@ -632,13 +632,10 @@ gdk_color_state_new_for_cicp (const GdkCicp *cicp, eotf = pq_eotf; oetf = pq_oetf; break; -#if 0 - /* round-trip tests for hlg are failing, for some reason */ case 18: eotf = hlg_eotf; oetf = hlg_oetf; break; -#endif default: g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,