File: BitsPlusDecodeClutRow.m

package info (click to toggle)
psychtoolbox-3 3.0.14.20170103%2Bgit6-g605ff5c.dfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 103,044 kB
  • ctags: 69,483
  • sloc: ansic: 167,371; cpp: 11,232; objc: 4,708; sh: 1,875; python: 383; php: 344; makefile: 207; 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