From MultimediaWiki
Revision as of 10:13, 14 July 2006 by VAG (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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)