git: 9front

Download patch

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;
--