Why is the MSVC quality so bad?

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:

  1. one color for a 4x4 pixel block (needs 2 bytes)

  2. two colors for a 4x4 pixel block where a 16bit bitmask selects color 0 or 1 (needs 5 bytes)

  3. 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:

  1. one color for a 4x4 pixel block (needs 2 bytes)

  2. the two colors for a 4x4 pixel block are NOT supported

  3. 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