00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef AVCODEC_INDEO2DATA_H
00023 #define AVCODEC_INDEO2DATA_H
00024
00025 #include <stdint.h>
00026
00027 #define IR2_CODES 143
00028 static const uint16_t ir2_codes[IR2_CODES][2] = {
00029 #ifdef ALT_BITSTREAM_READER_LE
00030 {0x0000, 3}, {0x0004, 3}, {0x0006, 3}, {0x0001, 5},
00031 {0x0009, 5}, {0x0019, 5}, {0x000D, 5}, {0x001D, 5},
00032 {0x0023, 6}, {0x0013, 6}, {0x0033, 6}, {0x000B, 6},
00033 {0x002B, 6}, {0x001B, 6}, {0x0007, 8}, {0x0087, 8},
00034 {0x0027, 8}, {0x00A7, 8}, {0x0067, 8}, {0x00E7, 8},
00035 {0x0097, 8}, {0x0057, 8}, {0x0037, 8}, {0x00B7, 8},
00036 {0x00F7, 8}, {0x000F, 9}, {0x008F, 9}, {0x018F, 9},
00037 {0x014F, 9}, {0x00CF, 9}, {0x002F, 9}, {0x012F, 9},
00038 {0x01AF, 9}, {0x006F, 9}, {0x00EF, 9}, {0x01EF, 9},
00039 {0x001F, 10}, {0x021F, 10}, {0x011F, 10}, {0x031F, 10},
00040 {0x009F, 10}, {0x029F, 10}, {0x019F, 10}, {0x039F, 10},
00041 {0x005F, 10}, {0x025F, 10}, {0x015F, 10}, {0x035F, 10},
00042 {0x00DF, 10}, {0x02DF, 10}, {0x01DF, 10}, {0x03DF, 10},
00043 {0x003F, 13}, {0x103F, 13}, {0x083F, 13}, {0x183F, 13},
00044 {0x043F, 13}, {0x143F, 13}, {0x0C3F, 13}, {0x1C3F, 13},
00045 {0x023F, 13}, {0x123F, 13}, {0x0A3F, 13}, {0x1A3F, 13},
00046 {0x063F, 13}, {0x163F, 13}, {0x0E3F, 13}, {0x1E3F, 13},
00047 {0x013F, 13}, {0x113F, 13}, {0x093F, 13}, {0x193F, 13},
00048 {0x053F, 13}, {0x153F, 13}, {0x0D3F, 13}, {0x1D3F, 13},
00049 {0x033F, 13}, {0x133F, 13}, {0x0B3F, 13}, {0x1B3F, 13},
00050 {0x073F, 13}, {0x173F, 13}, {0x0F3F, 13}, {0x1F3F, 13},
00051 {0x00BF, 13}, {0x10BF, 13}, {0x08BF, 13}, {0x18BF, 13},
00052 {0x04BF, 13}, {0x14BF, 13}, {0x0CBF, 13}, {0x1CBF, 13},
00053 {0x02BF, 13}, {0x12BF, 13}, {0x0ABF, 13}, {0x1ABF, 13},
00054 {0x06BF, 13}, {0x16BF, 13}, {0x0EBF, 13}, {0x1EBF, 13},
00055 {0x01BF, 13}, {0x11BF, 13}, {0x09BF, 13}, {0x19BF, 13},
00056 {0x05BF, 13}, {0x15BF, 13}, {0x0DBF, 13}, {0x1DBF, 13},
00057 {0x03BF, 13}, {0x13BF, 13}, {0x0BBF, 13}, {0x1BBF, 13},
00058 {0x07BF, 13}, {0x17BF, 13}, {0x0FBF, 13}, {0x1FBF, 13},
00059 {0x007F, 14}, {0x207F, 14}, {0x107F, 14}, {0x307F, 14},
00060 {0x087F, 14}, {0x287F, 14}, {0x187F, 14}, {0x387F, 14},
00061 {0x047F, 14}, {0x247F, 14}, {0x147F, 14}, {0x0002, 3},
00062 {0x0011, 5}, {0x0005, 5}, {0x0015, 5}, {0x0003, 6},
00063 {0x003B, 6}, {0x0047, 8}, {0x00C7, 8}, {0x0017, 8},
00064 {0x00D7, 8}, {0x0077, 8}, {0x010F, 9}, {0x004F, 9},
00065 {0x01CF, 9}, {0x00AF, 9}, {0x016F, 9},
00066 #else
00067 {0x0000, 3}, {0x0001, 3}, {0x0003, 3}, {0x0010, 5},
00068 {0x0012, 5}, {0x0013, 5}, {0x0016, 5}, {0x0017, 5},
00069 {0x0031, 6}, {0x0032, 6}, {0x0033, 6}, {0x0034, 6},
00070 {0x0035, 6}, {0x0036, 6}, {0x00E0, 8}, {0x00E1, 8},
00071 {0x00E4, 8}, {0x00E5, 8}, {0x00E6, 8}, {0x00E7, 8},
00072 {0x00E9, 8}, {0x00EA, 8}, {0x00EC, 8}, {0x00ED, 8},
00073 {0x00EF, 8}, {0x01E0, 9}, {0x01E2, 9}, {0x01E3, 9},
00074 {0x01E5, 9}, {0x01E6, 9}, {0x01E8, 9}, {0x01E9, 9},
00075 {0x01EB, 9}, {0x01EC, 9}, {0x01EE, 9}, {0x01EF, 9},
00076 {0x03E0, 10}, {0x03E1, 10}, {0x03E2, 10}, {0x03E3, 10},
00077 {0x03E4, 10}, {0x03E5, 10}, {0x03E6, 10}, {0x03E7, 10},
00078 {0x03E8, 10}, {0x03E9, 10}, {0x03EA, 10}, {0x03EB, 10},
00079 {0x03EC, 10}, {0x03ED, 10}, {0x03EE, 10}, {0x03EF, 10},
00080 {0x1F80, 13}, {0x1F81, 13}, {0x1F82, 13}, {0x1F83, 13},
00081 {0x1F84, 13}, {0x1F85, 13}, {0x1F86, 13}, {0x1F87, 13},
00082 {0x1F88, 13}, {0x1F89, 13}, {0x1F8A, 13}, {0x1F8B, 13},
00083 {0x1F8C, 13}, {0x1F8D, 13}, {0x1F8E, 13}, {0x1F8F, 13},
00084 {0x1F90, 13}, {0x1F91, 13}, {0x1F92, 13}, {0x1F93, 13},
00085 {0x1F94, 13}, {0x1F95, 13}, {0x1F96, 13}, {0x1F97, 13},
00086 {0x1F98, 13}, {0x1F99, 13}, {0x1F9A, 13}, {0x1F9B, 13},
00087 {0x1F9C, 13}, {0x1F9D, 13}, {0x1F9E, 13}, {0x1F9F, 13},
00088 {0x1FA0, 13}, {0x1FA1, 13}, {0x1FA2, 13}, {0x1FA3, 13},
00089 {0x1FA4, 13}, {0x1FA5, 13}, {0x1FA6, 13}, {0x1FA7, 13},
00090 {0x1FA8, 13}, {0x1FA9, 13}, {0x1FAA, 13}, {0x1FAB, 13},
00091 {0x1FAC, 13}, {0x1FAD, 13}, {0x1FAE, 13}, {0x1FAF, 13},
00092 {0x1FB0, 13}, {0x1FB1, 13}, {0x1FB2, 13}, {0x1FB3, 13},
00093 {0x1FB4, 13}, {0x1FB5, 13}, {0x1FB6, 13}, {0x1FB7, 13},
00094 {0x1FB8, 13}, {0x1FB9, 13}, {0x1FBA, 13}, {0x1FBB, 13},
00095 {0x1FBC, 13}, {0x1FBD, 13}, {0x1FBE, 13}, {0x1FBF, 13},
00096 {0x3F80, 14}, {0x3F81, 14}, {0x3F82, 14}, {0x3F83, 14},
00097 {0x3F84, 14}, {0x3F85, 14}, {0x3F86, 14}, {0x3F87, 14},
00098 {0x3F88, 14}, {0x3F89, 14}, {0x3F8A, 14}, {0x0002, 3},
00099 {0x0011, 5}, {0x0014, 5}, {0x0015, 5}, {0x0030, 6},
00100 {0x0037, 6}, {0x00E2, 8}, {0x00E3, 8}, {0x00E8, 8},
00101 {0x00EB, 8}, {0x00EE, 8}, {0x01E1, 9}, {0x01E4, 9},
00102 {0x01E7, 9}, {0x01EA, 9}, {0x01ED, 9}
00103 #endif
00104 };
00105
00106 static const uint8_t ir2_luma_table[256] = {
00107 0x80, 0x80, 0x84, 0x84, 0x7C, 0x7C, 0x7F, 0x85,
00108 0x81, 0x7B, 0x85, 0x7F, 0x7B, 0x81, 0x8C, 0x8C,
00109 0x74, 0x74, 0x83, 0x8D, 0x7D, 0x73, 0x8D, 0x83,
00110 0x73, 0x7D, 0x77, 0x89, 0x89, 0x77, 0x89, 0x77,
00111 0x77, 0x89, 0x8C, 0x95, 0x74, 0x6B, 0x95, 0x8C,
00112 0x6B, 0x74, 0x7C, 0x90, 0x84, 0x70, 0x90, 0x7C,
00113 0x70, 0x84, 0x96, 0x96, 0x6A, 0x6A, 0x82, 0x98,
00114 0x7E, 0x68, 0x98, 0x82, 0x68, 0x7E, 0x97, 0xA2,
00115 0x69, 0x5E, 0xA2, 0x97, 0x5E, 0x69, 0xA2, 0xA2,
00116 0x5E, 0x5E, 0x8B, 0xA3, 0x75, 0x5D, 0xA3, 0x8B,
00117 0x5D, 0x75, 0x71, 0x95, 0x8F, 0x6B, 0x95, 0x71,
00118 0x6B, 0x8F, 0x78, 0x9D, 0x88, 0x63, 0x9D, 0x78,
00119 0x63, 0x88, 0x7F, 0xA7, 0x81, 0x59, 0xA7, 0x7F,
00120 0x59, 0x81, 0xA4, 0xB1, 0x5C, 0x4F, 0xB1, 0xA4,
00121 0x4F, 0x5C, 0x96, 0xB1, 0x6A, 0x4F, 0xB1, 0x96,
00122 0x4F, 0x6A, 0xB2, 0xB2, 0x4E, 0x4E, 0x65, 0x9B,
00123 0x9B, 0x65, 0x9B, 0x65, 0x65, 0x9B, 0x89, 0xB4,
00124 0x77, 0x4C, 0xB4, 0x89, 0x4C, 0x77, 0x6A, 0xA3,
00125 0x96, 0x5D, 0xA3, 0x6A, 0x5D, 0x96, 0x73, 0xAC,
00126 0x8D, 0x54, 0xAC, 0x73, 0x54, 0x8D, 0xB4, 0xC3,
00127 0x4C, 0x3D, 0xC3, 0xB4, 0x3D, 0x4C, 0xA4, 0xC3,
00128 0x5C, 0x3D, 0xC3, 0xA4, 0x3D, 0x5C, 0xC4, 0xC4,
00129 0x3C, 0x3C, 0x96, 0xC6, 0x6A, 0x3A, 0xC6, 0x96,
00130 0x3A, 0x6A, 0x7C, 0xBA, 0x84, 0x46, 0xBA, 0x7C,
00131 0x46, 0x84, 0x5B, 0xAB, 0xA5, 0x55, 0xAB, 0x5B,
00132 0x55, 0xA5, 0x63, 0xB4, 0x9D, 0x4C, 0xB4, 0x63,
00133 0x4C, 0x9D, 0x86, 0xCA, 0x7A, 0x36, 0xCA, 0x86,
00134 0x36, 0x7A, 0xB6, 0xD7, 0x4A, 0x29, 0xD7, 0xB6,
00135 0x29, 0x4A, 0xC8, 0xD7, 0x38, 0x29, 0xD7, 0xC8,
00136 0x29, 0x38, 0xA4, 0xD8, 0x5C, 0x28, 0xD8, 0xA4,
00137 0x28, 0x5C, 0x6C, 0xC1, 0x94, 0x3F, 0xC1, 0x6C,
00138 0x3F, 0x94, 0xD9, 0xD9, 0x27, 0x27, 0x80, 0x80
00139 };
00140
00141 #endif