]> rtime.felk.cvut.cz Git - frescor/ffmpeg.git/commitdiff
Explain the purpose of the wc3_pal_lookup and the formula that was used to
authorreimar <reimar@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Sat, 11 Apr 2009 20:08:16 +0000 (20:08 +0000)
committerreimar <reimar@9553f0bf-9b14-0410-a0b8-cfaf0461ba5b>
Sat, 11 Apr 2009 20:08:16 +0000 (20:08 +0000)
calculate it.

git-svn-id: file:///var/local/repositories/ffmpeg/trunk@18445 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b

libavformat/wc3movie.c

index 4d2c88a647aa858cfa858a6a3f2ea58bfef7b5a4..8e5dd38c0d972c111ba1ec6391e6b7bf4d3146db 100644 (file)
@@ -72,7 +72,18 @@ typedef struct 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[] = {
   0x00, 0x03, 0x05, 0x07, 0x09, 0x0B, 0x0D, 0x0E,
   0x10, 0x12, 0x13, 0x15, 0x16, 0x18, 0x19, 0x1A,