diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2019-01-20 19:22:55 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2019-01-20 19:22:55 +0000 |
commit | 6d06b8e0c26536edaedf04ae56849667b85c1325 (patch) | |
tree | 2fc0bcebd14321d895b479c8a465a6ab69888e68 /editor/pamcomp.c | |
parent | 16b223f52bfbbc2eef71496ffd434dccadb35579 (diff) | |
download | netpbm-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.c | 3 |
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)); } } |