A few points to clarify, VAG:
- Palette components: are they 6 bits or 8 bits?
- I want to make sure I understand mode 1-compressed 8x8 block: it should always be comprised of 32 bytes. The first 8 bytes are pixel palette entries. The next 24 bytes, or 192 bits, comprise (8*8=64) 3-bit indices to select among the 8 pixels for the block. Is that all correct? If so, which order are the bits read?
- Mode 4 could use a little clarification on what it means to paint the block from the dictionary.
Thanks, --Multimedia Mike 01:32, 14 July 2006 (EDT)
- 8 bits palette.
- Yes, that's correct. Bits processed from lowest to highest, lower byte to higher.
- Exactly as it sounds. Read 8*8 bytes from the dictionary, paint them (left to right, top to bottom) AND advance dictionary pointer to the next 64 bytes. --VAG 12:46, 14 July 2006 (EDT)
I still want more clarification on mode 1. Bytes have 8 bits numbered b7 (highest) to b0 (lowest). The 24 bytes the 3-bit indices are packed into are labeled B0 (first) to B23 (last). So, if I understand correctly:
- bits b2-b1-b0 of B0 will be the index of pixel 0
- bits b5-b4-b3 of B0 will be the index of pixel 1
- bits b7-b6 or B0 and b0 of B1 will combine to form the index of pixel 2
Do I have that right? If so, what's the ordering of the cross-byte bits? B1(b0)-B0(b7)-B0(b6)? Thanks, --Multimedia Mike 13:05, 14 July 2006 (EDT)
- Exactly. b6 and b7 of B0 will be a b0 and b1 of the new 3-bits index, and b0 of B1 becomes b2 of it. So, sequence of bytes 0x88, 0xC8, 0xFA will sequentially paint all 8 pixels. --VAG 14:13, 14 July 2006 (EDT)