Michael Knapp offers this explanation:
I have programmed myself a MSVC decompressor so I know where the exact problem is ... so I think that I can explain the reason
8bit-MSVC stores:
one color for a 4x4 pixel block (needs 2 bytes)
two colors for a 4x4 pixel block where a 16bit bitmask selects color 0 or 1 (needs 5 bytes)
two colors for a 2x2 pixel block where 4 of the are placed together to a 4x4 pixel block that means 8 colors for a 4x4 block and a 16bit bitmask, each 4bit-nibble selects one of the two colors stored for each of the 2x2 sub blocks (needs 11 bytes) (it uses a palette and supports difference frames)
15bit-MSVC stores:
one color for a 4x4 pixel block (needs 2 bytes)
the two colors for a 4x4 pixel block are NOT supported
two colors for a 2x2 pixel block where 4 of them are placed together to a 4x4 pixel block that means 8 colors for a 4x4 block and a 16bit bitmask, each 4bit-nibble selects one of the two colors stored for each of the 2x2 sub blocks (needs 18 bytes) (it stores the 15bit color with in the data-stream bit it supports NO difference frames)
The impossibility to store 'high-quality 4x4-blocks' makes the MSVC videos so 'blocky'
Intro | RGB Formats | YUV Formats | Compressed Formats
Chips | Samples | Register | Links | Credits | Help