From b0c32019c384b51fdd53e573c5e52fdf082a888d Mon Sep 17 00:00:00 2001 From: emersion Date: Wed, 25 Jul 2018 14:37:10 +0100 Subject: [PATCH] examples/gamma-control: clamp values, default brightness to 1 --- examples/gamma-control.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/examples/gamma-control.c b/examples/gamma-control.c index 161c6fd0..e2af9cdd 100644 --- a/examples/gamma-control.c +++ b/examples/gamma-control.c @@ -115,7 +115,12 @@ static void fill_gamma_table(uint16_t *table, uint32_t ramp_size, uint16_t *b = table + 2 * ramp_size; for (uint32_t i = 0; i < ramp_size; ++i) { double val = (double)i / (ramp_size - 1); - val = contrast * pow(val, 1.0 / gamma) + brightness; + val = contrast * pow(val, 1.0 / gamma) + (1 - brightness); + if (val > 1.0) { + val = 1.0; + } else if (val < 0.0) { + val = 0.0; + } r[i] = g[i] = b[i] = (uint16_t)(UINT16_MAX * val); } } @@ -123,13 +128,13 @@ static void fill_gamma_table(uint16_t *table, uint32_t ramp_size, static const char usage[] = "usage: gamma-control [options]\n" " -h show this help message\n" " -c set contrast (default: 1)\n" - " -b set brightness (default: 0)\n" + " -b set brightness (default: 1)\n" " -g set gamma (default: 1)\n"; int main(int argc, char *argv[]) { wl_list_init(&outputs); - double contrast = 1, brightness = 0, gamma = 1; + double contrast = 1, brightness = 1, gamma = 1; int opt; while ((opt = getopt(argc, argv, "hc:b:g:")) != -1) { switch (opt) {