File: BitsPlusDecodeClutRow.m

package info (click to toggle)
psychtoolbox-3 3.0.19.14.dfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 86,796 kB
  • sloc: ansic: 176,245; cpp: 20,103; objc: 5,393; sh: 2,753; python: 1,397; php: 384; makefile: 193; java: 113
file content (17 lines) | stat: -rw-r--r-- 788 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function theClut = BitsPlusDecodeClutRow(bitsPlusClutRow)
% Recover the 256x3 CLUT table from the 1x524x3 encoded form that we write into
% the first line of the Bits++ image.
% NOTE: this routine takes about 100 times longer than necessary, but it's not time-critical.

% 11/5/02  jmh  Wrote it.
% 11/15/02 dgp  Cosmetic editing.

% The bits++ CLUT data is located in columns 13:524, i.e. 12+(1:512). There is a pair of one-byte numbers
% for each of the 14 bit values. The first of each pair holds the most significant part of
% the pixel value and the second holds the least significant part.
% We add up these two parts to get the original CLUT back.

theClut=zeros(256,3);
for i = 1:256
	theClut(i,1:3) = bitsPlusClutRow(1,12+(i-1)*2+1,1:3)*64 + bitsPlusClutRow(1,12+i*2,1:3)/4;
end