[babl] extensions-gggl: clamp when converting float to 16bit
- From: Øyvind Kolås <ok src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [babl] extensions-gggl: clamp when converting float to 16bit
- Date: Wed, 20 Dec 2017 02:26:13 +0000 (UTC)
commit 6da8f5e755f02ca3c3fb2c625da78612cff7775d
Author: Øyvind Kolås <pippin gimp org>
Date: Wed Dec 20 03:22:22 2017 +0100
extensions-gggl: clamp when converting float to 16bit
Improve the quality of a conversion that was picked in error for bug #790658
extensions/gggl.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
---
diff --git a/extensions/gggl.c b/extensions/gggl.c
index cf83988..625d730 100644
--- a/extensions/gggl.c
+++ b/extensions/gggl.c
@@ -543,7 +543,12 @@ conv_rgbaF_rgb16 (const Babl *conversion,unsigned char *src, unsigned char *dst,
for (c = 0; c < 3; c++)
{
- *(unsigned short *) dst = lrint ((*(float *) src) * 65535.0);
+ if ((*(float *) src) >= 1.0)
+ *(unsigned short *) dst = 65535;
+ else if ((*(float *) src) <=0)
+ *(unsigned short *) dst = 0;
+ else
+ *(unsigned short *) dst = lrint ((*(float *) src) * 65535.0);
dst += 2;
src += 4;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]