ref: 56d5fa37b8c1693604af8912cc4e8b9a1817e0d1
parent: 66be224498574755aa09ed05394277c1237b3f80
author: ppatience0 <ppatience0@gmail.com>
date: Wed Jul 3 16:49:33 EDT 2013
tif: rescale palette color map to [0, 255]
--- a/sys/src/cmd/jpg/readtif.c
+++ b/sys/src/cmd/jpg/readtif.c
@@ -1286,10 +1286,16 @@
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;
--
⑨