about summary refs log tree commit diff
path: root/editor/pamcomp.c
diff options
context:
space:
mode:
authorgiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2019-01-20 19:22:55 +0000
committergiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2019-01-20 19:22:55 +0000
commit6d06b8e0c26536edaedf04ae56849667b85c1325 (patch)
tree2fc0bcebd14321d895b479c8a465a6ab69888e68 /editor/pamcomp.c
parent16b223f52bfbbc2eef71496ffd434dccadb35579 (diff)
downloadnetpbm-mirror-6d06b8e0c26536edaedf04ae56849667b85c1325.tar.gz
netpbm-mirror-6d06b8e0c26536edaedf04ae56849667b85c1325.tar.xz
netpbm-mirror-6d06b8e0c26536edaedf04ae56849667b85c1325.zip
Fix handling of floating point imprecision in unnormalizing samples
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@3513 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'editor/pamcomp.c')
-rw-r--r--editor/pamcomp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/editor/pamcomp.c b/editor/pamcomp.c
index 3e27731f..6e1e7f7d 100644
--- a/editor/pamcomp.c
+++ b/editor/pamcomp.c
@@ -532,7 +532,8 @@ composeComponents(sample           const compA,
             float const mix =
                 compALinear * distrib + compBLinearAdj * (1.0 - distrib)
                 * composedFactor;
-            sample const sampleValue = ROUNDU(pm_gamma709(mix) * maxval);
+            sample const sampleValue =
+                pnm_unnormalize(pm_gamma709(mix), maxval);
             retval = MIN(maxval, MAX(0, sampleValue));
         }
     }