aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authoremersion <contact@emersion.fr>2018-07-25 14:37:10 +0100
committeremersion <contact@emersion.fr>2018-08-02 23:33:59 +0100
commitb0c32019c384b51fdd53e573c5e52fdf082a888d (patch)
tree97e481ddde64d3f7dc45ebb0480feba22f5763ec /examples
parent1d97202ec2b9ca3c4b77e0cc5ab2a574c3938447 (diff)
examples/gamma-control: clamp values, default brightness to 1
Diffstat (limited to 'examples')
-rw-r--r--examples/gamma-control.c11
1 files 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 <value> set contrast (default: 1)\n"
- " -b <value> set brightness (default: 0)\n"
+ " -b <value> set brightness (default: 1)\n"
" -g <value> 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) {