103 |
|
} |
104 |
|
/* get dimensions */ |
105 |
|
getheader(fp, NULL); |
106 |
+ |
if (checkheader(fp, COLRFMT, NULL) < 0) { |
107 |
+ |
fputs(file, stderr); |
108 |
+ |
fputs(": not a Radiance picture\n", stderr); |
109 |
+ |
exit(1); |
110 |
+ |
} |
111 |
|
if (fgetresolu(&xres, &yres, fp) != (YMAJOR|YDECR) || |
112 |
|
xres > SCANLINE || yres > NUMSCANS) { |
113 |
|
fputs(file, stderr); |
149 |
|
register int i, val; |
150 |
|
|
151 |
|
for (i = 0; i < 256; i++) { |
152 |
< |
val = pow(i/256.0, 1.0/GAMMA) * 256.0; |
152 |
> |
val = pow((i+0.5)/256.0, 1.0/GAMMA) * 256.0; |
153 |
|
if (val > 248) val = 248; |
154 |
|
gammamap[i] = val; |
155 |
|
} |