Commit cdbe3798 authored by Reimar Döffinger's avatar Reimar Döffinger
Browse files

Explain the purpose of the wc3_pal_lookup and the formula that was used to

calculate it.

Originally committed as revision 18445 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent f6a708f0
...@@ -72,7 +72,18 @@ typedef struct Wc3DemuxContext { ...@@ -72,7 +72,18 @@ typedef struct Wc3DemuxContext {
} Wc3DemuxContext; } Wc3DemuxContext;
/* bizarre palette lookup table */ /**
* palette lookup table that does gamma correction
*
* can be calculated by this formula:
* for i between 0 and 252 inclusive:
* wc3_pal_lookup[i] = pow(i / 256.0, 0.8) * 256;
* values 253, 254 and 255 are all 0xFD
* calculating this at runtime should not cause any
* rounding issues, the maximum difference between
* the table values and the calculated doubles is
* about 0.497527
*/
static const unsigned char wc3_pal_lookup[] = { static const unsigned char wc3_pal_lookup[] = {
0x00, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0E, 0x00, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0E,
0x10, 0x12, 0x13, 0x15, 0x16, 0x18, 0x19, 0x1A, 0x10, 0x12, 0x13, 0x15, 0x16, 0x18, 0x19, 0x1A,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment