() 10l
[libav.git] / libavcodec / indeo2data.h
CommitLineData
04d7f601 1/*
02c1592f 2 * Intel Indeo 2 codec
04d7f601
DB
3 * copyright (c) 2005 Konstantin Shishkov
4 *
5 * This library is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU Lesser General Public
7 * License as published by the Free Software Foundation; either
8 * version 2 of the License, or (at your option) any later version.
9 *
10 * This library is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public
16 * License along with this library; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
18 */
19
856dbbff
MN
20#define IR2_CODES 143
21static const uint16_t ir2_codes[IR2_CODES][2] = {
ef56de32 22#ifdef ALT_BITSTREAM_READER_LE
115329f1
DB
23{0x0000, 3}, {0x0004, 3}, {0x0006, 3}, {0x0001, 5},
24{0x0009, 5}, {0x0019, 5}, {0x000D, 5}, {0x001D, 5},
25{0x0023, 6}, {0x0013, 6}, {0x0033, 6}, {0x000B, 6},
26{0x002B, 6}, {0x001B, 6}, {0x0007, 8}, {0x0087, 8},
27{0x0027, 8}, {0x00A7, 8}, {0x0067, 8}, {0x00E7, 8},
28{0x0097, 8}, {0x0057, 8}, {0x0037, 8}, {0x00B7, 8},
29{0x00F7, 8}, {0x000F, 9}, {0x008F, 9}, {0x018F, 9},
30{0x014F, 9}, {0x00CF, 9}, {0x002F, 9}, {0x012F, 9},
31{0x01AF, 9}, {0x006F, 9}, {0x00EF, 9}, {0x01EF, 9},
32{0x001F, 10}, {0x021F, 10}, {0x011F, 10}, {0x031F, 10},
33{0x009F, 10}, {0x029F, 10}, {0x019F, 10}, {0x039F, 10},
34{0x005F, 10}, {0x025F, 10}, {0x015F, 10}, {0x035F, 10},
35{0x00DF, 10}, {0x02DF, 10}, {0x01DF, 10}, {0x03DF, 10},
36{0x003F, 13}, {0x103F, 13}, {0x083F, 13}, {0x183F, 13},
37{0x043F, 13}, {0x143F, 13}, {0x0C3F, 13}, {0x1C3F, 13},
38{0x023F, 13}, {0x123F, 13}, {0x0A3F, 13}, {0x1A3F, 13},
39{0x063F, 13}, {0x163F, 13}, {0x0E3F, 13}, {0x1E3F, 13},
40{0x013F, 13}, {0x113F, 13}, {0x093F, 13}, {0x193F, 13},
41{0x053F, 13}, {0x153F, 13}, {0x0D3F, 13}, {0x1D3F, 13},
42{0x033F, 13}, {0x133F, 13}, {0x0B3F, 13}, {0x1B3F, 13},
43{0x073F, 13}, {0x173F, 13}, {0x0F3F, 13}, {0x1F3F, 13},
44{0x00BF, 13}, {0x10BF, 13}, {0x08BF, 13}, {0x18BF, 13},
45{0x04BF, 13}, {0x14BF, 13}, {0x0CBF, 13}, {0x1CBF, 13},
46{0x02BF, 13}, {0x12BF, 13}, {0x0ABF, 13}, {0x1ABF, 13},
47{0x06BF, 13}, {0x16BF, 13}, {0x0EBF, 13}, {0x1EBF, 13},
48{0x01BF, 13}, {0x11BF, 13}, {0x09BF, 13}, {0x19BF, 13},
49{0x05BF, 13}, {0x15BF, 13}, {0x0DBF, 13}, {0x1DBF, 13},
50{0x03BF, 13}, {0x13BF, 13}, {0x0BBF, 13}, {0x1BBF, 13},
51{0x07BF, 13}, {0x17BF, 13}, {0x0FBF, 13}, {0x1FBF, 13},
52{0x007F, 14}, {0x207F, 14}, {0x107F, 14}, {0x307F, 14},
53{0x087F, 14}, {0x287F, 14}, {0x187F, 14}, {0x387F, 14},
54{0x047F, 14}, {0x247F, 14}, {0x147F, 14}, {0x0002, 3},
55{0x0011, 5}, {0x0005, 5}, {0x0015, 5}, {0x0003, 6},
56{0x003B, 6}, {0x0047, 8}, {0x00C7, 8}, {0x0017, 8},
57{0x00D7, 8}, {0x0077, 8}, {0x010F, 9}, {0x004F, 9},
ef56de32
MN
58{0x01CF, 9}, {0x00AF, 9}, {0x016F, 9},
59#else
856dbbff
MN
60 {0x0000, 3}, {0x0001, 3}, {0x0003, 3}, {0x0010, 5},
61 {0x0012, 5}, {0x0013, 5}, {0x0016, 5}, {0x0017, 5},
62 {0x0031, 6}, {0x0032, 6}, {0x0033, 6}, {0x0034, 6},
63 {0x0035, 6}, {0x0036, 6}, {0x00E0, 8}, {0x00E1, 8},
64 {0x00E4, 8}, {0x00E5, 8}, {0x00E6, 8}, {0x00E7, 8},
65 {0x00E9, 8}, {0x00EA, 8}, {0x00EC, 8}, {0x00ED, 8},
66 {0x00EF, 8}, {0x01E0, 9}, {0x01E2, 9}, {0x01E3, 9},
67 {0x01E5, 9}, {0x01E6, 9}, {0x01E8, 9}, {0x01E9, 9},
68 {0x01EB, 9}, {0x01EC, 9}, {0x01EE, 9}, {0x01EF, 9},
69 {0x03E0, 10}, {0x03E1, 10}, {0x03E2, 10}, {0x03E3, 10},
70 {0x03E4, 10}, {0x03E5, 10}, {0x03E6, 10}, {0x03E7, 10},
71 {0x03E8, 10}, {0x03E9, 10}, {0x03EA, 10}, {0x03EB, 10},
72 {0x03EC, 10}, {0x03ED, 10}, {0x03EE, 10}, {0x03EF, 10},
73 {0x1F80, 13}, {0x1F81, 13}, {0x1F82, 13}, {0x1F83, 13},
74 {0x1F84, 13}, {0x1F85, 13}, {0x1F86, 13}, {0x1F87, 13},
75 {0x1F88, 13}, {0x1F89, 13}, {0x1F8A, 13}, {0x1F8B, 13},
76 {0x1F8C, 13}, {0x1F8D, 13}, {0x1F8E, 13}, {0x1F8F, 13},
77 {0x1F90, 13}, {0x1F91, 13}, {0x1F92, 13}, {0x1F93, 13},
78 {0x1F94, 13}, {0x1F95, 13}, {0x1F96, 13}, {0x1F97, 13},
79 {0x1F98, 13}, {0x1F99, 13}, {0x1F9A, 13}, {0x1F9B, 13},
80 {0x1F9C, 13}, {0x1F9D, 13}, {0x1F9E, 13}, {0x1F9F, 13},
81 {0x1FA0, 13}, {0x1FA1, 13}, {0x1FA2, 13}, {0x1FA3, 13},
82 {0x1FA4, 13}, {0x1FA5, 13}, {0x1FA6, 13}, {0x1FA7, 13},
83 {0x1FA8, 13}, {0x1FA9, 13}, {0x1FAA, 13}, {0x1FAB, 13},
84 {0x1FAC, 13}, {0x1FAD, 13}, {0x1FAE, 13}, {0x1FAF, 13},
85 {0x1FB0, 13}, {0x1FB1, 13}, {0x1FB2, 13}, {0x1FB3, 13},
86 {0x1FB4, 13}, {0x1FB5, 13}, {0x1FB6, 13}, {0x1FB7, 13},
87 {0x1FB8, 13}, {0x1FB9, 13}, {0x1FBA, 13}, {0x1FBB, 13},
88 {0x1FBC, 13}, {0x1FBD, 13}, {0x1FBE, 13}, {0x1FBF, 13},
89 {0x3F80, 14}, {0x3F81, 14}, {0x3F82, 14}, {0x3F83, 14},
90 {0x3F84, 14}, {0x3F85, 14}, {0x3F86, 14}, {0x3F87, 14},
91 {0x3F88, 14}, {0x3F89, 14}, {0x3F8A, 14}, {0x0002, 3},
92 {0x0011, 5}, {0x0014, 5}, {0x0015, 5}, {0x0030, 6},
93 {0x0037, 6}, {0x00E2, 8}, {0x00E3, 8}, {0x00E8, 8},
94 {0x00EB, 8}, {0x00EE, 8}, {0x01E1, 9}, {0x01E4, 9},
95 {0x01E7, 9}, {0x01EA, 9}, {0x01ED, 9}
ef56de32 96#endif
856dbbff
MN
97};
98
99static const uint8_t ir2_luma_table[256] = {
100 0x80, 0x80, 0x84, 0x84, 0x7C, 0x7C, 0x7F, 0x85,
101 0x81, 0x7B, 0x85, 0x7F, 0x7B, 0x81, 0x8C, 0x8C,
102 0x74, 0x74, 0x83, 0x8D, 0x7D, 0x73, 0x8D, 0x83,
103 0x73, 0x7D, 0x77, 0x89, 0x89, 0x77, 0x89, 0x77,
115329f1 104 0x77, 0x89, 0x8C, 0x95, 0x74, 0x6B, 0x95, 0x8C,
856dbbff 105 0x6B, 0x74, 0x7C, 0x90, 0x84, 0x70, 0x90, 0x7C,
115329f1 106 0x70, 0x84, 0x96, 0x96, 0x6A, 0x6A, 0x82, 0x98,
856dbbff 107 0x7E, 0x68, 0x98, 0x82, 0x68, 0x7E, 0x97, 0xA2,
115329f1 108 0x69, 0x5E, 0xA2, 0x97, 0x5E, 0x69, 0xA2, 0xA2,
856dbbff 109 0x5E, 0x5E, 0x8B, 0xA3, 0x75, 0x5D, 0xA3, 0x8B,
115329f1 110 0x5D, 0x75, 0x71, 0x95, 0x8F, 0x6B, 0x95, 0x71,
856dbbff 111 0x6B, 0x8F, 0x78, 0x9D, 0x88, 0x63, 0x9D, 0x78,
115329f1 112 0x63, 0x88, 0x7F, 0xA7, 0x81, 0x59, 0xA7, 0x7F,
856dbbff 113 0x59, 0x81, 0xA4, 0xB1, 0x5C, 0x4F, 0xB1, 0xA4,
115329f1 114 0x4F, 0x5C, 0x96, 0xB1, 0x6A, 0x4F, 0xB1, 0x96,
856dbbff 115 0x4F, 0x6A, 0xB2, 0xB2, 0x4E, 0x4E, 0x65, 0x9B,
115329f1 116 0x9B, 0x65, 0x9B, 0x65, 0x65, 0x9B, 0x89, 0xB4,
856dbbff 117 0x77, 0x4C, 0xB4, 0x89, 0x4C, 0x77, 0x6A, 0xA3,
115329f1 118 0x96, 0x5D, 0xA3, 0x6A, 0x5D, 0x96, 0x73, 0xAC,
856dbbff 119 0x8D, 0x54, 0xAC, 0x73, 0x54, 0x8D, 0xB4, 0xC3,
115329f1 120 0x4C, 0x3D, 0xC3, 0xB4, 0x3D, 0x4C, 0xA4, 0xC3,
856dbbff 121 0x5C, 0x3D, 0xC3, 0xA4, 0x3D, 0x5C, 0xC4, 0xC4,
115329f1 122 0x3C, 0x3C, 0x96, 0xC6, 0x6A, 0x3A, 0xC6, 0x96,
856dbbff 123 0x3A, 0x6A, 0x7C, 0xBA, 0x84, 0x46, 0xBA, 0x7C,
115329f1 124 0x46, 0x84, 0x5B, 0xAB, 0xA5, 0x55, 0xAB, 0x5B,
856dbbff 125 0x55, 0xA5, 0x63, 0xB4, 0x9D, 0x4C, 0xB4, 0x63,
115329f1 126 0x4C, 0x9D, 0x86, 0xCA, 0x7A, 0x36, 0xCA, 0x86,
856dbbff 127 0x36, 0x7A, 0xB6, 0xD7, 0x4A, 0x29, 0xD7, 0xB6,
115329f1 128 0x29, 0x4A, 0xC8, 0xD7, 0x38, 0x29, 0xD7, 0xC8,
856dbbff 129 0x29, 0x38, 0xA4, 0xD8, 0x5C, 0x28, 0xD8, 0xA4,
115329f1 130 0x28, 0x5C, 0x6C, 0xC1, 0x94, 0x3F, 0xC1, 0x6C,
856dbbff
MN
131 0x3F, 0x94, 0xD9, 0xD9, 0x27, 0x27, 0x80, 0x80
132};