summaryrefslogtreecommitdiff
path: root/sys/src/cmd/jpg
diff options
context:
space:
mode:
authorppatience0 <ppatience0@gmail.com>2013-07-03 20:49:33 -0400
committerppatience0 <ppatience0@gmail.com>2013-07-03 20:49:33 -0400
commite6b647e8ec1e2c4bc979541179ba093ba1cc5291 (patch)
tree4c093c112f52dc37ca9b78db678a77b6e3a97e3b /sys/src/cmd/jpg
parent883deac5739eca84e1b341417c6fe15b48475ff7 (diff)
tif: rescale palette color map to [0, 255]
Diffstat (limited to 'sys/src/cmd/jpg')
-rw-r--r--sys/src/cmd/jpg/readtif.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/src/cmd/jpg/readtif.c b/sys/src/cmd/jpg/readtif.c
index 75c80f27f..9d2f926e2 100644
--- a/sys/src/cmd/jpg/readtif.c
+++ b/sys/src/cmd/jpg/readtif.c
@@ -1286,10 +1286,16 @@ static int
paldecode(Tif *t, Rawimage *im, uchar *data)
{
int pix, pmask, xmask;
- ulong i, n, x, y, *r, *g, *b;
+ ulong i, n, x, y, *r, *g, *b, max;
pmask = (1 << t->depth) - 1;
xmask = 7 >> log2[t->depth];
+ for(i = max = 0; i < t->ncolor; i++) {
+ if(t->color[i] > max)
+ max = t->color[i];
+ }
+ for(i = 0; i < t->ncolor; i++)
+ t->color[i] = (t->color[i] * 0xff) / max;
r = t->color;
g = r + pmask + 1;
b = g + pmask + 1;