00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00027 #ifndef AVCODEC_RV40VLC2_H
00028 #define AVCODEC_RV40VLC2_H
00029
00030 #include <stdint.h>
00031
00036 #define AIC_TOP_BITS 8
00037 #define AIC_TOP_SIZE 16
00038 static const uint8_t rv40_aic_top_vlc_codes[AIC_TOP_SIZE] = {
00039 0x01, 0x05, 0x01, 0x00, 0x03, 0x3D, 0x1D, 0x02,
00040 0x04, 0x3C, 0x3F, 0x1C, 0x0D, 0x3E, 0x0C, 0x01
00041 };
00042
00043 static const uint8_t rv40_aic_top_vlc_bits[AIC_TOP_SIZE] = {
00044 1, 4, 5, 5, 5, 7, 6, 5, 4, 7, 7, 6, 5, 7, 5, 3
00045 };
00047
00052 #define AIC_MODE2_NUM 20
00053 #define AIC_MODE2_SIZE 81
00054 #define AIC_MODE2_BITS 9
00055
00056 static const uint16_t aic_mode2_vlc_codes[AIC_MODE2_NUM][AIC_MODE2_SIZE] = {
00057 { 0x0001, 0x0001, 0x0005, 0x01F5, 0x0011, 0x0049, 0x0000, 0x0048, 0x004B,
00058 0x0035, 0x0003, 0x0034, 0x03C9, 0x01F4, 0x00C9, 0x004A, 0x0FD9, 0x03C8,
00059 0x0010, 0x0037, 0x0001, 0x00C8, 0x0075, 0x01F7, 0x00CB, 0x0074, 0x0002,
00060 0x01F6, 0x00CA, 0x01F1, 0x01F0, 0x1F81, 0x07F9, 0x1F80, 0x1F83, 0x07F8,
00061 0x0077, 0x00F5, 0x0036, 0x07FB, 0x0076, 0x1F82, 0x00F4, 0x00F7, 0x07FA,
00062 0x0071, 0x00F6, 0x03CB, 0x03CA, 0x0FD8, 0x00F1, 0x03F5, 0x1F8D, 0x07E5,
00063 0x0013, 0x0031, 0x00F0, 0x0FDB, 0x00F3, 0x07E4, 0x0030, 0x01F3, 0x07E7,
00064 0x03F4, 0x07E6, 0x0070, 0x3F19, 0x01F2, 0x3F18, 0x0FDA, 0x0033, 0x07E1,
00065 0x01FD, 0x01FC, 0x0073, 0x01FF, 0x0FC5, 0x0FC4, 0x0FC7, 0x03F7, 0x0072, },
00066 { 0x0005, 0x0005, 0x0005, 0x0079, 0x0005, 0x000D, 0x001D, 0x0078, 0x0069,
00067 0x0004, 0x0001, 0x0007, 0x0068, 0x001C, 0x001F, 0x0004, 0x006B, 0x000C,
00068 0x0004, 0x001E, 0x0006, 0x006A, 0x0015, 0x000F, 0x0014, 0x0017, 0x0007,
00069 0x0016, 0x000E, 0x0011, 0x0009, 0x00D1, 0x00D0, 0x0181, 0x00D3, 0x007B,
00070 0x0010, 0x0013, 0x0004, 0x00D2, 0x0007, 0x0319, 0x0008, 0x007A, 0x00DD,
00071 0x0019, 0x0006, 0x000B, 0x0065, 0x00DC, 0x0012, 0x0064, 0x0180, 0x00DF,
00072 0x0006, 0x0018, 0x0001, 0x00DE, 0x001D, 0x00D9, 0x001B, 0x0067, 0x000A,
00073 0x00D8, 0x00DB, 0x001C, 0x0318, 0x00DA, 0x0635, 0x0183, 0x0000, 0x00C5,
00074 0x0066, 0x0061, 0x0035, 0x00C4, 0x0182, 0x0634, 0x031B, 0x00C7, 0x001F, },
00075 { 0x0005, 0x0001, 0x001D, 0x01C1, 0x0035, 0x00F1, 0x006D, 0x00F0, 0x0049,
00076 0x0000, 0x0004, 0x0003, 0x00F3, 0x0048, 0x0034, 0x006C, 0x01C0, 0x01C3,
00077 0x0007, 0x0006, 0x0001, 0x006F, 0x0002, 0x004B, 0x006E, 0x001C, 0x0005,
00078 0x0069, 0x0068, 0x006B, 0x0037, 0x01C2, 0x00F2, 0x0395, 0x01CD, 0x00FD,
00079 0x006A, 0x0036, 0x0015, 0x01CC, 0x0014, 0x0394, 0x004A, 0x00FC, 0x00FF,
00080 0x0017, 0x0031, 0x00FE, 0x01CF, 0x0397, 0x00F9, 0x01CE, 0x0725, 0x0396,
00081 0x0016, 0x0030, 0x0075, 0x0724, 0x00F8, 0x0727, 0x0033, 0x0391, 0x0390,
00082 0x0011, 0x0032, 0x001F, 0x00FB, 0x0074, 0x0726, 0x00FA, 0x001E, 0x0077,
00083 0x0019, 0x0018, 0x0004, 0x0010, 0x003D, 0x0076, 0x0071, 0x0013, 0x0001, },
00084 { 0x000D, 0x0019, 0x0011, 0x0015, 0x0061, 0x0019, 0x0014, 0x01AD, 0x0060,
00085 0x0018, 0x0001, 0x0005, 0x001B, 0x0010, 0x0019, 0x0005, 0x0017, 0x0018,
00086 0x0016, 0x0004, 0x0004, 0x0013, 0x000C, 0x0012, 0x001A, 0x0018, 0x0005,
00087 0x000F, 0x001B, 0x0004, 0x001D, 0x0011, 0x001C, 0x0010, 0x000E, 0x001B,
00088 0x0013, 0x001F, 0x001A, 0x0029, 0x0005, 0x0063, 0x001E, 0x0009, 0x0062,
00089 0x0008, 0x0007, 0x0007, 0x0019, 0x0004, 0x001A, 0x0018, 0x006D, 0x0007,
00090 0x001B, 0x0007, 0x001A, 0x006C, 0x0006, 0x0012, 0x0005, 0x006F, 0x000B,
00091 0x006E, 0x0069, 0x001D, 0x0359, 0x0028, 0x002B, 0x002A, 0x001C, 0x00D5,
00092 0x0358, 0x001F, 0x0001, 0x001E, 0x0068, 0x00D4, 0x00D7, 0x0019, 0x0000, },
00093 { 0x00B9, 0x0061, 0x0060, 0x00B8, 0x02B5, 0x01AD, 0x00BB, 0x0AF5, 0x0151,
00094 0x0001, 0x0001, 0x0005, 0x0000, 0x0003, 0x0005, 0x0004, 0x0063, 0x0025,
00095 0x00BA, 0x0004, 0x0007, 0x0062, 0x00A5, 0x0024, 0x006D, 0x0002, 0x006C,
00096 0x02B4, 0x000D, 0x006F, 0x0027, 0x00A4, 0x0026, 0x01AC, 0x0150, 0x01AF,
00097 0x01AE, 0x0021, 0x006E, 0x02B7, 0x0020, 0x0153, 0x0023, 0x00A7, 0x0152,
00098 0x00A6, 0x0006, 0x000C, 0x0022, 0x01A9, 0x0019, 0x002D, 0x02B6, 0x01A8,
00099 0x000F, 0x0007, 0x000E, 0x00A1, 0x0069, 0x002C, 0x0001, 0x01AB, 0x00A0,
00100 0x02B1, 0x00A3, 0x002F, 0x0AF4, 0x02B0, 0x0AF7, 0x02B3, 0x0068, 0x015D,
00101 0x0AF6, 0x01AA, 0x0055, 0x015C, 0x02B2, 0x0579, 0x0578, 0x015F, 0x00A2, },
00102 { 0x0905, 0x013D, 0x013C, 0x0904, 0x121D, 0x049D, 0x049C, 0x243D, 0x0907,
00103 0x00ED, 0x0001, 0x0015, 0x0041, 0x013F, 0x0031, 0x0014, 0x025D, 0x025C,
00104 0x013E, 0x000D, 0x0000, 0x0040, 0x0139, 0x0043, 0x0030, 0x0017, 0x0033,
00105 0x0906, 0x0032, 0x0042, 0x00EC, 0x025F, 0x00EF, 0x025E, 0x049F, 0x0138,
00106 0x0901, 0x013B, 0x0259, 0x121C, 0x049E, 0x0900, 0x0258, 0x243C, 0x121F,
00107 0x0903, 0x003D, 0x00EE, 0x025B, 0x025A, 0x004D, 0x013A, 0x0902, 0x0245,
00108 0x00E9, 0x0016, 0x00E8, 0x0499, 0x0125, 0x0244, 0x004C, 0x0498, 0x090D,
00109 0x00EB, 0x003C, 0x0011, 0x049B, 0x049A, 0x0485, 0x00EA, 0x003F, 0x0124,
00110 0x090C, 0x003E, 0x0039, 0x0095, 0x0247, 0x0246, 0x0484, 0x0094, 0x0038, },
00111 { 0x0F09, 0x00CD, 0x01FD, 0x0791, 0x1E6D, 0x0790, 0x03D9, 0x3CD1, 0x3CD0,
00112 0x0075, 0x0001, 0x0001, 0x0035, 0x00CC, 0x0011, 0x0000, 0x03D8, 0x01FC,
00113 0x03DB, 0x0010, 0x0003, 0x00CF, 0x03DA, 0x00CE, 0x0074, 0x0034, 0x0077,
00114 0x0793, 0x0013, 0x0076, 0x0071, 0x03C5, 0x0070, 0x01FF, 0x0792, 0x01FE,
00115 0x01F9, 0x0037, 0x00C9, 0x0F08, 0x01F8, 0x03C4, 0x00C8, 0x0F0B, 0x079D,
00116 0x03C7, 0x0001, 0x0012, 0x0073, 0x00CB, 0x0005, 0x0036, 0x03C6, 0x0072,
00117 0x007D, 0x0002, 0x00CA, 0x079C, 0x01FB, 0x00F5, 0x0031, 0x079F, 0x0F0A,
00118 0x0F35, 0x079E, 0x01FA, 0x1E6C, 0x1E6F, 0x3CD3, 0x0799, 0x03C1, 0x1E6E,
00119 0x3CD2, 0x0030, 0x00F4, 0x007C, 0x03C0, 0x03C3, 0x0798, 0x01E5, 0x00F7, },
00120 { 0x01A5, 0x0001, 0x001D, 0x0021, 0x00A1, 0x000D, 0x0061, 0x06B9, 0x00A0,
00121 0x0060, 0x0001, 0x0005, 0x000C, 0x0020, 0x001C, 0x0004, 0x01A4, 0x01A7,
00122 0x00A3, 0x001F, 0x001E, 0x0023, 0x0022, 0x002D, 0x002C, 0x0063, 0x0062,
00123 0x1A81, 0x01A6, 0x01A1, 0x06B8, 0x06BB, 0x00A2, 0x06BA, 0x0D59, 0x06A5,
00124 0x01A0, 0x000F, 0x006D, 0x06A4, 0x002F, 0x00AD, 0x006C, 0x06A7, 0x00AC,
00125 0x0D58, 0x000E, 0x01A3, 0x00AF, 0x00AE, 0x006F, 0x01A2, 0x0D5B, 0x00A9,
00126 0x0019, 0x0001, 0x0009, 0x00A8, 0x006E, 0x002E, 0x0000, 0x01AD, 0x00AB,
00127 0x00AA, 0x0355, 0x0029, 0x1A80, 0x1A83, 0x1A82, 0x0354, 0x01AC, 0x0D5A,
00128 0x1A8D, 0x01AF, 0x0357, 0x0D45, 0x0D44, 0x0D47, 0x1A8C, 0x06A6, 0x06A1, },
00129 { 0x0001, 0x0011, 0x0005, 0x0775, 0x00F9, 0x00F8, 0x0031, 0x0030, 0x0049,
00130 0x00FB, 0x0010, 0x0033, 0x0EC9, 0x038D, 0x038C, 0x00FA, 0x038F, 0x0774,
00131 0x0048, 0x0032, 0x0000, 0x01D5, 0x00E5, 0x038E, 0x00E4, 0x0013, 0x000D,
00132 0x0389, 0x0777, 0x0388, 0x038B, 0x1DF9, 0x0EC8, 0x3BC9, 0x1DF8, 0x038A,
00133 0x03B5, 0x0776, 0x00E7, 0x3BC8, 0x01D4, 0x3BCB, 0x0ECB, 0x0771, 0x0ECA,
00134 0x01D7, 0x03B4, 0x01D6, 0x1DFB, 0x0EF5, 0x0770, 0x0EF4, 0x3BCA, 0x0773,
00135 0x00E6, 0x03B7, 0x004B, 0x1DFA, 0x03B6, 0x0EF7, 0x00E1, 0x0EF6, 0x0EF1,
00136 0x03B1, 0x01D1, 0x003D, 0x0EF0, 0x0772, 0x077D, 0x077C, 0x003C, 0x01D0,
00137 0x03B0, 0x01D3, 0x003F, 0x03B3, 0x01D2, 0x0EF3, 0x077F, 0x00E0, 0x004A, },
00138 { 0x0015, 0x0049, 0x0014, 0x07D1, 0x03FD, 0x03FC, 0x01C1, 0x01C0, 0x00F1,
00139 0x0017, 0x0001, 0x0001, 0x01C3, 0x0048, 0x004B, 0x0016, 0x0031, 0x01C2,
00140 0x004A, 0x0011, 0x0000, 0x01CD, 0x00F0, 0x01CC, 0x0075, 0x0010, 0x000D,
00141 0x03FF, 0x01CF, 0x01CE, 0x07D0, 0x0F81, 0x07D3, 0x1F1D, 0x0F80, 0x07D2,
00142 0x01C9, 0x03FE, 0x0074, 0x07DD, 0x00F3, 0x1F1C, 0x07DC, 0x03F9, 0x07DF,
00143 0x00F2, 0x00FD, 0x0077, 0x07DE, 0x07D9, 0x01C8, 0x07D8, 0x0F83, 0x03F8,
00144 0x0030, 0x0076, 0x0013, 0x0F82, 0x00FC, 0x03FB, 0x0033, 0x03FA, 0x03E5,
00145 0x03E4, 0x01CB, 0x0032, 0x1F1F, 0x03E7, 0x07DB, 0x07DA, 0x003D, 0x01CA,
00146 0x07C5, 0x03E6, 0x0071, 0x0F8D, 0x07C4, 0x1F1E, 0x0F8C, 0x03E1, 0x01F5, },
00147 { 0x0019, 0x0065, 0x0018, 0x0351, 0x0350, 0x0353, 0x0021, 0x0020, 0x0064,
00148 0x001D, 0x0005, 0x0005, 0x01A5, 0x0023, 0x0067, 0x0005, 0x0066, 0x0022,
00149 0x001B, 0x0004, 0x0001, 0x0004, 0x001C, 0x0061, 0x001A, 0x0005, 0x0004,
00150 0x0007, 0x002D, 0x0006, 0x002C, 0x01A4, 0x002F, 0x0352, 0x035D, 0x0060,
00151 0x0001, 0x002E, 0x001F, 0x035C, 0x0000, 0x06B1, 0x01A7, 0x0029, 0x01A6,
00152 0x0028, 0x0063, 0x0062, 0x035F, 0x01A1, 0x002B, 0x06B0, 0x06B3, 0x01A0,
00153 0x0003, 0x006D, 0x001E, 0x035E, 0x006C, 0x06B2, 0x0002, 0x01A3, 0x01A2,
00154 0x000D, 0x0005, 0x0007, 0x01AD, 0x006F, 0x002A, 0x006E, 0x0004, 0x0004,
00155 0x000C, 0x0007, 0x0006, 0x000F, 0x000E, 0x00D5, 0x0009, 0x0006, 0x0007, },
00156 { 0x0065, 0x0181, 0x0064, 0x36C9, 0x06D5, 0x0DB5, 0x0379, 0x0180, 0x0183,
00157 0x00D5, 0x001D, 0x001C, 0x0DB4, 0x0182, 0x0378, 0x00D4, 0x00D7, 0x06D4,
00158 0x0067, 0x001F, 0x0001, 0x00D6, 0x00D1, 0x018D, 0x0066, 0x0001, 0x0000,
00159 0x037B, 0x06D7, 0x037A, 0x0DB7, 0x36C8, 0x06D6, 0x0DB6, 0x1B79, 0x0DB1,
00160 0x018C, 0x0365, 0x00D0, 0x1B78, 0x00D3, 0x1B7B, 0x0364, 0x06D1, 0x06D0,
00161 0x018F, 0x018E, 0x00D2, 0x36CB, 0x0367, 0x0366, 0x06D3, 0x0DB0, 0x06D2,
00162 0x0361, 0x06DD, 0x0189, 0x36CA, 0x0360, 0x36F5, 0x0188, 0x0DB3, 0x36F4,
00163 0x0009, 0x0008, 0x0005, 0x06DC, 0x00DD, 0x018B, 0x00DC, 0x0004, 0x000B,
00164 0x018A, 0x0061, 0x0003, 0x0363, 0x00DF, 0x06DF, 0x0362, 0x000A, 0x001E, },
00165 { 0x001D, 0x0061, 0x000D, 0x0D55, 0x06B9, 0x06B8, 0x01A5, 0x0021, 0x0020,
00166 0x0023, 0x000C, 0x0060, 0x0D54, 0x00AD, 0x00AC, 0x0022, 0x00AF, 0x06BB,
00167 0x000F, 0x001C, 0x0001, 0x002D, 0x0063, 0x01A4, 0x000E, 0x0001, 0x0005,
00168 0x01A7, 0x06BA, 0x01A6, 0x06A5, 0x0D57, 0x0D56, 0x1ABD, 0x0D51, 0x00AE,
00169 0x002C, 0x00A9, 0x002F, 0x0D50, 0x01A1, 0x1ABC, 0x06A4, 0x06A7, 0x06A6,
00170 0x00A8, 0x06A1, 0x01A0, 0x1ABF, 0x0D53, 0x06A0, 0x0D52, 0x1ABE, 0x06A3,
00171 0x0062, 0x002E, 0x0009, 0x0D5D, 0x01A3, 0x0D5C, 0x006D, 0x00AB, 0x06A2,
00172 0x006C, 0x001F, 0x0001, 0x06AD, 0x0029, 0x01A2, 0x0028, 0x0004, 0x001E,
00173 0x01AD, 0x006F, 0x0000, 0x01AC, 0x01AF, 0x06AC, 0x00AA, 0x006E, 0x0019, },
00174 { 0x0019, 0x007D, 0x0018, 0x01B5, 0x000D, 0x01B4, 0x007C, 0x007F, 0x01B7,
00175 0x000C, 0x001B, 0x001A, 0x01B6, 0x000F, 0x00D5, 0x0019, 0x007E, 0x00D4,
00176 0x0018, 0x001B, 0x0001, 0x000E, 0x0011, 0x0009, 0x0005, 0x0005, 0x0005,
00177 0x00D7, 0x01B1, 0x0008, 0x01B0, 0x0079, 0x06FD, 0x0371, 0x0370, 0x00D6,
00178 0x0078, 0x01B3, 0x0010, 0x0373, 0x0013, 0x06FC, 0x007B, 0x007A, 0x00D1,
00179 0x00D0, 0x00D3, 0x0065, 0x0372, 0x06FF, 0x0064, 0x06FE, 0x037D, 0x00D2,
00180 0x00DD, 0x0067, 0x0004, 0x037C, 0x0012, 0x01B2, 0x0007, 0x0066, 0x01BD,
00181 0x0006, 0x0061, 0x0004, 0x01BC, 0x001A, 0x0060, 0x001D, 0x0004, 0x001C,
00182 0x0063, 0x0001, 0x0007, 0x000B, 0x0000, 0x0062, 0x000A, 0x0005, 0x0007, },
00183 { 0x0069, 0x0045, 0x0068, 0x04BD, 0x0255, 0x04BC, 0x00E5, 0x00E4, 0x0031,
00184 0x0030, 0x0019, 0x0001, 0x0121, 0x00E7, 0x00E6, 0x0033, 0x00E1, 0x00E0,
00185 0x006B, 0x0018, 0x0001, 0x0044, 0x0032, 0x0047, 0x006A, 0x001B, 0x0005,
00186 0x003D, 0x0046, 0x0015, 0x0041, 0x0120, 0x0123, 0x04BF, 0x0122, 0x0040,
00187 0x003C, 0x00E3, 0x0014, 0x0254, 0x0043, 0x0975, 0x012D, 0x00E2, 0x00ED,
00188 0x0042, 0x00EC, 0x004D, 0x0257, 0x0256, 0x0251, 0x04BE, 0x0974, 0x0250,
00189 0x00EF, 0x00EE, 0x004C, 0x04B9, 0x012C, 0x04B8, 0x004F, 0x04BB, 0x0253,
00190 0x003F, 0x0017, 0x0001, 0x0252, 0x00E9, 0x00E8, 0x00EB, 0x0000, 0x0003,
00191 0x0016, 0x0002, 0x0004, 0x004E, 0x003E, 0x00EA, 0x0049, 0x000D, 0x0007, },
00192 { 0x000D, 0x01BD, 0x000C, 0x0D31, 0x0D30, 0x0D33, 0x0359, 0x0358, 0x002D,
00193 0x0065, 0x001D, 0x001C, 0x0D32, 0x035B, 0x035A, 0x002C, 0x01BC, 0x0345,
00194 0x000F, 0x001F, 0x0001, 0x002F, 0x0064, 0x01BF, 0x0067, 0x0001, 0x0005,
00195 0x0066, 0x002E, 0x0061, 0x0029, 0x0695, 0x0694, 0x0697, 0x0696, 0x0060,
00196 0x01BE, 0x0D3D, 0x0028, 0x1A49, 0x0344, 0x1A48, 0x1A4B, 0x0D3C, 0x0691,
00197 0x002B, 0x01B9, 0x002A, 0x0D3F, 0x0690, 0x0347, 0x0D3E, 0x1A4A, 0x0346,
00198 0x00D5, 0x0341, 0x0063, 0x0D39, 0x0340, 0x0D38, 0x01B8, 0x0D3B, 0x0D3A,
00199 0x00D4, 0x0062, 0x0000, 0x0693, 0x01BB, 0x0343, 0x0342, 0x001E, 0x000E,
00200 0x006D, 0x0009, 0x0001, 0x006C, 0x00D7, 0x034D, 0x01BA, 0x0008, 0x0004, },
00201 { 0x0075, 0x00CD, 0x0035, 0x03C1, 0x03C0, 0x07F9, 0x03C3, 0x1F8D, 0x00CC,
00202 0x0074, 0x0011, 0x0010, 0x03C2, 0x0FD9, 0x01F1, 0x00CF, 0x03CD, 0x00CE,
00203 0x0034, 0x0001, 0x0001, 0x0037, 0x00C9, 0x00C8, 0x0036, 0x0000, 0x0001,
00204 0x0FD8, 0x03CC, 0x00CB, 0x01F0, 0x07F8, 0x03CF, 0x07FB, 0x07FA, 0x00CA,
00205 0x01F3, 0x03CE, 0x00F5, 0x0FDB, 0x00F4, 0x07E5, 0x07E4, 0x07E7, 0x01F2,
00206 0x07E6, 0x03C9, 0x01FD, 0x0FDA, 0x1F8C, 0x07E1, 0x1F8F, 0x1F8E, 0x03C8,
00207 0x03CB, 0x0077, 0x0076, 0x0FC5, 0x03CA, 0x07E0, 0x00F7, 0x0FC4, 0x03F5,
00208 0x00F6, 0x01FC, 0x0003, 0x03F4, 0x0071, 0x03F7, 0x00F1, 0x0013, 0x0031,
00209 0x0030, 0x0070, 0x0005, 0x0012, 0x0073, 0x01FF, 0x0072, 0x007D, 0x0002, },
00210 { 0x0061, 0x0055, 0x0060, 0x02C9, 0x02C8, 0x02CB, 0x0171, 0x00B5, 0x0054,
00211 0x0001, 0x0001, 0x0001, 0x0057, 0x0001, 0x0063, 0x001D, 0x0062, 0x0039,
00212 0x006D, 0x0000, 0x0005, 0x0038, 0x0056, 0x00B4, 0x006C, 0x0003, 0x001C,
00213 0x006F, 0x003B, 0x0002, 0x003A, 0x0170, 0x00B7, 0x0173, 0x0051, 0x006E,
00214 0x0025, 0x0050, 0x0069, 0x02CA, 0x0024, 0x0027, 0x0172, 0x00B6, 0x00B1,
00215 0x000D, 0x000C, 0x001F, 0x017D, 0x0026, 0x0068, 0x0053, 0x017C, 0x006B,
00216 0x001E, 0x000F, 0x0004, 0x017F, 0x006A, 0x02F5, 0x0019, 0x0021, 0x0052,
00217 0x02F4, 0x02F7, 0x0020, 0x0BCD, 0x05E5, 0x05E4, 0x0BCC, 0x0023, 0x00B0,
00218 0x02F6, 0x00B3, 0x0022, 0x02F1, 0x02F0, 0x0BCF, 0x0BCE, 0x017E, 0x005D, },
00219 { 0x00BD, 0x0025, 0x01A1, 0x0159, 0x0299, 0x00BC, 0x0024, 0x0505, 0x0504,
00220 0x01A0, 0x0001, 0x001D, 0x006D, 0x001C, 0x0001, 0x0005, 0x0027, 0x01A3,
00221 0x0158, 0x001F, 0x001E, 0x01A2, 0x0026, 0x0021, 0x000D, 0x0020, 0x0023,
00222 0x0298, 0x006C, 0x0022, 0x00BF, 0x00BE, 0x01AD, 0x002D, 0x029B, 0x00B9,
00223 0x01AC, 0x00B8, 0x01AF, 0x029A, 0x006F, 0x015B, 0x006E, 0x0285, 0x0284,
00224 0x01AE, 0x0019, 0x002C, 0x01A9, 0x01A8, 0x000C, 0x000F, 0x015A, 0x00BB,
00225 0x000E, 0x0000, 0x0069, 0x01AB, 0x0018, 0x01AA, 0x0004, 0x0055, 0x00BA,
00226 0x0507, 0x0145, 0x0054, 0x0506, 0x00A5, 0x0501, 0x00A4, 0x0057, 0x0500,
00227 0x0A05, 0x0144, 0x00A7, 0x0287, 0x0286, 0x0503, 0x0147, 0x0A04, 0x0146, },
00228 { 0x0759, 0x0041, 0x00E5, 0x03BD, 0x0E9D, 0x012D, 0x012C, 0x3A1D, 0x03BC,
00229 0x012F, 0x000D, 0x0040, 0x00E4, 0x03BF, 0x0043, 0x0042, 0x0758, 0x03BE,
00230 0x00E7, 0x0001, 0x0000, 0x003D, 0x00E6, 0x0015, 0x0014, 0x0017, 0x003C,
00231 0x743D, 0x012E, 0x03B9, 0x03B8, 0x0E9C, 0x03BB, 0x075B, 0x3A1C, 0x0E9F,
00232 0x0129, 0x00E1, 0x0128, 0x0E9E, 0x012B, 0x075A, 0x00E0, 0x0E99, 0x0745,
00233 0x3A1F, 0x03BA, 0x0744, 0x0E98, 0x1D0D, 0x03A5, 0x0E9B, 0x743C, 0x0E9A,
00234 0x012A, 0x004D, 0x00E3, 0x0E85, 0x01D5, 0x0E84, 0x004C, 0x0747, 0x1D0C,
00235 0x01D4, 0x003F, 0x0016, 0x0746, 0x03A4, 0x0741, 0x004F, 0x003E, 0x01D7,
00236 0x0740, 0x000C, 0x0011, 0x004E, 0x00E2, 0x00ED, 0x00EC, 0x0049, 0x0048, },
00237 };
00238
00239 static const uint8_t aic_mode2_vlc_bits[AIC_MODE2_NUM][AIC_MODE2_SIZE] = {
00240 { 1, 5, 4, 10, 6, 8, 5, 8, 8,
00241 7, 5, 7, 11, 10, 9, 8, 13, 11,
00242 6, 7, 3, 9, 8, 10, 9, 8, 5,
00243 10, 9, 10, 10, 14, 12, 14, 14, 12,
00244 8, 9, 7, 12, 8, 14, 9, 9, 12,
00245 8, 9, 11, 11, 13, 9, 11, 14, 12,
00246 6, 7, 9, 13, 9, 12, 7, 10, 12,
00247 11, 12, 8, 15, 10, 15, 13, 7, 12,
00248 10, 10, 8, 10, 13, 13, 13, 11, 8, },
00249 { 4, 6, 5, 11, 8, 10, 7, 11, 9,
00250 4, 1, 4, 9, 7, 7, 5, 9, 10,
00251 6, 7, 4, 9, 9, 10, 9, 9, 6,
00252 9, 10, 9, 10, 12, 12, 13, 12, 11,
00253 9, 9, 8, 12, 8, 14, 10, 11, 12,
00254 7, 8, 10, 11, 12, 9, 11, 13, 12,
00255 6, 7, 8, 12, 9, 12, 7, 11, 10,
00256 12, 12, 9, 14, 12, 15, 13, 8, 12,
00257 11, 11, 10, 12, 13, 15, 14, 12, 9, },
00258 { 5, 7, 6, 12, 9, 11, 8, 11, 10,
00259 7, 5, 7, 11, 10, 9, 8, 12, 12,
00260 5, 5, 1, 8, 7, 10, 8, 6, 4,
00261 8, 8, 8, 9, 12, 11, 13, 12, 11,
00262 8, 9, 8, 12, 8, 13, 10, 11, 11,
00263 8, 9, 11, 12, 13, 11, 12, 14, 13,
00264 8, 9, 10, 14, 11, 14, 9, 13, 13,
00265 8, 9, 6, 11, 10, 14, 11, 6, 10,
00266 6, 6, 4, 8, 9, 10, 10, 8, 5, },
00267 { 11, 7, 8, 10, 12, 9, 10, 14, 12,
00268 7, 1, 5, 7, 8, 6, 4, 10, 9,
00269 10, 5, 4, 8, 11, 8, 7, 6, 7,
00270 11, 6, 7, 8, 10, 8, 10, 11, 9,
00271 10, 8, 9, 13, 9, 12, 8, 11, 12,
00272 11, 4, 7, 8, 9, 6, 8, 12, 9,
00273 8, 5, 8, 12, 9, 10, 6, 12, 11,
00274 12, 12, 10, 15, 13, 13, 13, 10, 13,
00275 15, 10, 9, 10, 12, 13, 13, 10, 9, },
00276 { 11, 8, 8, 11, 13, 10, 11, 15, 12,
00277 7, 1, 4, 7, 7, 5, 4, 8, 9,
00278 11, 5, 5, 8, 11, 9, 8, 7, 8,
00279 13, 7, 8, 9, 11, 9, 10, 12, 10,
00280 10, 9, 8, 13, 9, 12, 9, 11, 12,
00281 11, 5, 7, 9, 10, 6, 9, 13, 10,
00282 7, 4, 7, 11, 8, 9, 5, 10, 11,
00283 13, 11, 9, 15, 13, 15, 13, 8, 12,
00284 15, 10, 10, 12, 13, 14, 14, 12, 11, },
00285 { 12, 9, 9, 12, 13, 11, 11, 14, 12,
00286 8, 2, 5, 7, 9, 6, 5, 10, 10,
00287 9, 4, 2, 7, 9, 7, 6, 5, 6,
00288 12, 6, 7, 8, 10, 8, 10, 11, 9,
00289 12, 9, 10, 13, 11, 12, 10, 14, 13,
00290 12, 6, 8, 10, 10, 7, 9, 12, 10,
00291 8, 5, 8, 11, 9, 10, 7, 11, 12,
00292 8, 6, 5, 11, 11, 11, 8, 6, 9,
00293 12, 6, 6, 8, 10, 10, 11, 8, 6, },
00294 { 13, 9, 10, 12, 14, 12, 11, 15, 15,
00295 8, 1, 5, 7, 9, 6, 5, 11, 10,
00296 11, 6, 5, 9, 11, 9, 8, 7, 8,
00297 12, 6, 8, 8, 11, 8, 10, 12, 10,
00298 10, 7, 9, 13, 10, 11, 9, 13, 12,
00299 11, 3, 6, 8, 9, 4, 7, 11, 8,
00300 8, 5, 9, 12, 10, 9, 7, 12, 13,
00301 13, 12, 10, 14, 14, 15, 12, 11, 14,
00302 15, 7, 9, 8, 11, 11, 12, 10, 9, },
00303 { 10, 5, 6, 9, 11, 7, 8, 12, 11,
00304 8, 1, 4, 7, 9, 6, 4, 10, 10,
00305 11, 6, 6, 9, 9, 9, 9, 8, 8,
00306 14, 10, 10, 12, 12, 11, 12, 13, 12,
00307 10, 7, 8, 12, 9, 11, 8, 12, 11,
00308 13, 7, 10, 11, 11, 8, 10, 13, 11,
00309 6, 3, 7, 11, 8, 9, 5, 10, 11,
00310 11, 11, 9, 14, 14, 14, 11, 10, 13,
00311 14, 10, 11, 13, 13, 13, 14, 12, 12, },
00312 { 2, 5, 3, 11, 8, 8, 6, 6, 7,
00313 8, 5, 6, 12, 10, 10, 8, 10, 11,
00314 7, 6, 2, 9, 8, 10, 8, 5, 4,
00315 10, 11, 10, 10, 13, 12, 14, 13, 10,
00316 10, 11, 8, 14, 9, 14, 12, 11, 12,
00317 9, 10, 9, 13, 12, 11, 12, 14, 11,
00318 8, 10, 7, 13, 10, 12, 8, 12, 12,
00319 10, 9, 6, 12, 11, 11, 11, 6, 9,
00320 10, 9, 6, 10, 9, 12, 11, 8, 7, },
00321 { 6, 8, 6, 12, 11, 11, 10, 10, 9,
00322 6, 1, 3, 10, 8, 8, 6, 7, 10,
00323 8, 6, 3, 10, 9, 10, 8, 6, 5,
00324 11, 10, 10, 12, 13, 12, 14, 13, 12,
00325 10, 11, 8, 12, 9, 14, 12, 11, 12,
00326 9, 9, 8, 12, 12, 10, 12, 13, 11,
00327 7, 8, 6, 13, 9, 11, 7, 11, 11,
00328 11, 10, 7, 14, 11, 12, 12, 7, 10,
00329 12, 11, 8, 13, 12, 14, 13, 11, 10, },
00330 { 7, 10, 7, 13, 13, 13, 11, 11, 10,
00331 8, 5, 6, 12, 11, 10, 9, 10, 11,
00332 7, 5, 1, 9, 8, 10, 7, 4, 4,
00333 9, 11, 9, 11, 12, 11, 13, 13, 10,
00334 9, 11, 8, 13, 9, 14, 12, 11, 12,
00335 11, 10, 10, 13, 12, 11, 14, 14, 12,
00336 9, 10, 8, 13, 10, 14, 9, 12, 12,
00337 9, 7, 4, 12, 10, 11, 10, 6, 7,
00338 9, 7, 4, 9, 9, 11, 9, 7, 5, },
00339 { 7, 9, 7, 14, 11, 12, 10, 9, 9,
00340 8, 5, 5, 12, 9, 10, 8, 8, 11,
00341 7, 5, 2, 8, 8, 9, 7, 4, 4,
00342 10, 11, 10, 12, 14, 11, 12, 13, 12,
00343 9, 10, 8, 13, 8, 13, 10, 11, 11,
00344 9, 9, 8, 14, 10, 10, 11, 12, 11,
00345 10, 11, 9, 14, 10, 14, 9, 12, 14,
00346 6, 6, 3, 11, 8, 9, 8, 3, 6,
00347 9, 7, 4, 10, 8, 11, 10, 6, 5, },
00348 { 6, 8, 7, 13, 12, 12, 10, 9, 9,
00349 9, 7, 8, 13, 11, 11, 9, 11, 12,
00350 7, 6, 1, 9, 8, 10, 7, 5, 4,
00351 10, 12, 10, 12, 13, 13, 14, 13, 11,
00352 9, 11, 9, 13, 10, 14, 12, 12, 12,
00353 11, 12, 10, 14, 13, 12, 13, 14, 12,
00354 8, 9, 7, 13, 10, 13, 8, 11, 12,
00355 8, 6, 3, 12, 9, 10, 9, 4, 6,
00356 10, 8, 5, 10, 10, 12, 11, 8, 6, },
00357 { 7, 10, 7, 12, 9, 12, 10, 10, 12,
00358 9, 7, 7, 12, 9, 11, 6, 10, 11,
00359 6, 6, 1, 9, 8, 9, 7, 4, 5,
00360 11, 12, 9, 12, 10, 14, 13, 13, 11,
00361 10, 12, 8, 13, 8, 14, 10, 10, 11,
00362 11, 11, 10, 13, 14, 10, 14, 13, 11,
00363 11, 10, 7, 13, 8, 12, 7, 10, 12,
00364 7, 10, 4, 12, 6, 10, 8, 5, 8,
00365 10, 7, 4, 9, 7, 10, 9, 6, 5, },
00366 { 7, 9, 7, 13, 12, 13, 10, 10, 8,
00367 8, 5, 6, 11, 10, 10, 8, 10, 10,
00368 7, 5, 2, 9, 8, 9, 7, 5, 3,
00369 8, 9, 7, 9, 11, 11, 13, 11, 9,
00370 8, 10, 7, 12, 9, 14, 11, 10, 10,
00371 9, 10, 9, 12, 12, 12, 13, 14, 12,
00372 10, 10, 9, 13, 11, 13, 9, 13, 12,
00373 8, 7, 4, 12, 10, 10, 10, 6, 6,
00374 7, 6, 3, 9, 8, 10, 9, 6, 3, },
00375 { 7, 10, 7, 13, 13, 13, 11, 11, 9,
00376 8, 6, 6, 13, 11, 11, 9, 10, 11,
00377 7, 6, 1, 9, 8, 10, 8, 5, 4,
00378 8, 9, 8, 9, 12, 12, 12, 12, 8,
00379 10, 13, 9, 14, 11, 14, 14, 13, 12,
00380 9, 10, 9, 13, 12, 11, 13, 14, 11,
00381 9, 11, 8, 13, 11, 13, 10, 13, 13,
00382 9, 8, 5, 12, 10, 11, 11, 6, 7,
00383 8, 7, 3, 8, 9, 11, 10, 7, 4, },
00384 { 8, 9, 7, 11, 11, 12, 11, 14, 9,
00385 8, 6, 6, 11, 13, 10, 9, 11, 9,
00386 7, 5, 1, 7, 9, 9, 7, 5, 3,
00387 13, 11, 9, 10, 12, 11, 12, 12, 9,
00388 10, 11, 9, 13, 9, 12, 12, 12, 10,
00389 12, 11, 10, 13, 14, 12, 14, 14, 11,
00390 11, 8, 8, 13, 11, 12, 9, 13, 11,
00391 9, 10, 5, 11, 8, 11, 9, 6, 7,
00392 7, 8, 4, 6, 8, 10, 8, 8, 5, },
00393 { 8, 10, 8, 13, 13, 13, 12, 11, 10,
00394 5, 1, 3, 10, 7, 8, 6, 8, 9,
00395 8, 7, 4, 9, 10, 11, 8, 7, 6,
00396 8, 9, 7, 9, 12, 11, 12, 10, 8,
00397 9, 10, 8, 13, 9, 9, 12, 11, 11,
00398 7, 7, 6, 12, 9, 8, 10, 12, 8,
00399 6, 7, 4, 12, 8, 13, 6, 9, 10,
00400 13, 13, 9, 15, 14, 14, 15, 9, 11,
00401 13, 11, 9, 13, 13, 15, 15, 12, 10, },
00402 { 10, 8, 9, 11, 12, 10, 8, 13, 13,
00403 9, 2, 5, 7, 5, 4, 3, 8, 9,
00404 11, 5, 5, 9, 8, 8, 6, 8, 8,
00405 12, 7, 8, 10, 10, 9, 8, 12, 10,
00406 9, 10, 9, 12, 7, 11, 7, 12, 12,
00407 9, 5, 8, 9, 9, 6, 6, 11, 10,
00408 6, 4, 7, 9, 5, 9, 3, 9, 10,
00409 13, 11, 9, 13, 10, 13, 10, 9, 13,
00410 14, 11, 10, 12, 12, 13, 11, 14, 11, },
00411 { 11, 7, 8, 10, 12, 9, 9, 14, 10,
00412 9, 4, 7, 8, 10, 7, 7, 11, 10,
00413 8, 2, 2, 6, 8, 5, 5, 5, 6,
00414 15, 9, 10, 10, 12, 10, 11, 14, 12,
00415 9, 8, 9, 12, 9, 11, 8, 12, 11,
00416 14, 10, 11, 12, 13, 10, 12, 15, 12,
00417 9, 7, 8, 12, 9, 12, 7, 11, 13,
00418 9, 6, 5, 11, 10, 11, 7, 6, 9,
00419 11, 4, 5, 7, 8, 8, 8, 7, 7, },
00420 };
00422
00427 #define AIC_MODE1_NUM 90
00428 #define AIC_MODE1_SIZE 9
00429 #define AIC_MODE1_BITS 7
00430
00431 static const uint8_t aic_mode1_vlc_codes[AIC_MODE1_NUM][AIC_MODE1_SIZE] = {
00432 { 0x01, 0x01, 0x01, 0x11, 0x00, 0x09, 0x03, 0x10, 0x05,},
00433 { 0x09, 0x01, 0x01, 0x05, 0x11, 0x00, 0x03, 0x21, 0x20,},
00434 { 0x01, 0x01, 0x01, 0x11, 0x09, 0x10, 0x05, 0x00, 0x03,},
00435 { 0x01, 0x01, 0x00, 0x03, 0x21, 0x05, 0x09, 0x20, 0x11,},
00436 { 0x01, 0x09, 0x00, 0x29, 0x08, 0x15, 0x03, 0x0B, 0x28,},
00437 { 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x03, 0x02,},
00438 { 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x01, 0x09, 0x08,},
00439 { 0x01, 0x01, 0x01, 0x09, 0x01, 0x08, 0x00, 0x03, 0x05,},
00440 { 0x01, 0x01, 0x01, 0x00, 0x05, 0x11, 0x09, 0x10, 0x03,},
00441 { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,},
00442
00443 { 0x01, 0x01, 0x01, 0x05, 0x01, 0x00, 0x03, 0x09, 0x08,},
00444 { 0x09, 0x01, 0x01, 0x05, 0x11, 0x00, 0x03, 0x21, 0x20,},
00445 { 0x01, 0x01, 0x01, 0x0D, 0x05, 0x04, 0x00, 0x07, 0x0C,},
00446 { 0x01, 0x01, 0x00, 0x05, 0x11, 0x03, 0x09, 0x21, 0x20,},
00447 { 0x05, 0x01, 0x01, 0x11, 0x00, 0x09, 0x03, 0x21, 0x20,},
00448 { 0x09, 0x01, 0x01, 0x00, 0x05, 0x01, 0x03, 0x11, 0x10,},
00449 { 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x03, 0x02,},
00450 { 0x01, 0x01, 0x01, 0x09, 0x00, 0x05, 0x01, 0x03, 0x08,},
00451 { 0x01, 0x01, 0x01, 0x09, 0x11, 0x05, 0x00, 0x10, 0x03,},
00452 { 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,},
00453
00454 { 0x01, 0x00, 0x01, 0x09, 0x08, 0x15, 0x14, 0x0B, 0x03,},
00455 { 0x0D, 0x01, 0x01, 0x05, 0x0C, 0x04, 0x01, 0x00, 0x07,},
00456 { 0x01, 0x01, 0x01, 0x05, 0x00, 0x04, 0x03, 0x01, 0x01,},
00457 { 0x05, 0x01, 0x01, 0x04, 0x19, 0x07, 0x18, 0x0D, 0x00,},
00458 { 0x11, 0x09, 0x01, 0x21, 0x05, 0x20, 0x01, 0x00, 0x03,},
00459 { 0x41, 0x01, 0x00, 0x05, 0x40, 0x03, 0x09, 0x21, 0x11,},
00460 { 0x29, 0x01, 0x00, 0x28, 0x09, 0x15, 0x03, 0x08, 0x0B,},
00461 { 0x01, 0x00, 0x01, 0x11, 0x09, 0x10, 0x05, 0x01, 0x03,},
00462 { 0x05, 0x01, 0x01, 0x04, 0x0D, 0x0C, 0x07, 0x00, 0x01,},
00463 { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,},
00464
00465 { 0x01, 0x00, 0x03, 0x05, 0x11, 0x10, 0x25, 0x24, 0x13,},
00466 { 0x21, 0x01, 0x01, 0x00, 0x11, 0x03, 0x05, 0x20, 0x09,},
00467 { 0x01, 0x01, 0x01, 0x00, 0x09, 0x11, 0x10, 0x05, 0x03,},
00468 { 0x21, 0x05, 0x01, 0x01, 0x09, 0x00, 0x11, 0x20, 0x03,},
00469 { 0x05, 0x01, 0x00, 0x04, 0x01, 0x19, 0x07, 0x18, 0x0D,},
00470 { 0x11, 0x01, 0x00, 0x01, 0x09, 0x01, 0x03, 0x10, 0x05,},
00471 { 0x1D, 0x01, 0x05, 0x0D, 0x0C, 0x04, 0x00, 0x1C, 0x0F,},
00472 { 0x05, 0x19, 0x01, 0x04, 0x00, 0x18, 0x1B, 0x1A, 0x07,},
00473 { 0x09, 0x01, 0x00, 0x01, 0x05, 0x03, 0x11, 0x10, 0x01,},
00474 { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,},
00475
00476 { 0x01, 0x00, 0x03, 0x41, 0x05, 0x40, 0x09, 0x11, 0x21,},
00477 { 0x05, 0x01, 0x01, 0x19, 0x04, 0x07, 0x00, 0x18, 0x0D,},
00478 { 0x01, 0x01, 0x01, 0x05, 0x01, 0x04, 0x01, 0x00, 0x03,},
00479 { 0x01, 0x05, 0x00, 0x0D, 0x01, 0x04, 0x07, 0x19, 0x18,},
00480 { 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x03, 0x02,},
00481 { 0x31, 0x01, 0x05, 0x19, 0x04, 0x07, 0x00, 0x30, 0x0D,},
00482 { 0x01, 0x00, 0x03, 0x11, 0x01, 0x05, 0x01, 0x09, 0x10,},
00483 { 0x01, 0x05, 0x01, 0x11, 0x01, 0x10, 0x00, 0x03, 0x09,},
00484 { 0x01, 0x09, 0x00, 0x29, 0x03, 0x08, 0x28, 0x15, 0x0B,},
00485 { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,},
00486
00487 { 0x01, 0x01, 0x00, 0x09, 0x15, 0x03, 0x08, 0x14, 0x0B,},
00488 { 0x11, 0x01, 0x01, 0x00, 0x09, 0x01, 0x03, 0x10, 0x05,},
00489 { 0x01, 0x00, 0x03, 0x25, 0x11, 0x05, 0x10, 0x24, 0x13,},
00490 { 0x11, 0x01, 0x00, 0x01, 0x09, 0x01, 0x05, 0x10, 0x03,},
00491 { 0x05, 0x01, 0x00, 0x0D, 0x0C, 0x04, 0x0F, 0x1D, 0x1C,},
00492 { 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x03, 0x02,},
00493 { 0x21, 0x01, 0x05, 0x09, 0x11, 0x00, 0x03, 0x41, 0x40,},
00494 { 0x05, 0x01, 0x00, 0x1D, 0x1C, 0x0D, 0x0C, 0x0F, 0x04,},
00495 { 0x05, 0x01, 0x00, 0x0D, 0x31, 0x04, 0x19, 0x30, 0x07,},
00496 { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,},
00497
00498 { 0x01, 0x01, 0x00, 0x21, 0x05, 0x11, 0x03, 0x09, 0x20,},
00499 { 0x01, 0x01, 0x00, 0x11, 0x03, 0x05, 0x01, 0x09, 0x10,},
00500 { 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x03, 0x02,},
00501 { 0x05, 0x01, 0x04, 0x19, 0x07, 0x0D, 0x00, 0x31, 0x30,},
00502 { 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x03, 0x02,},
00503 { 0x05, 0x01, 0x01, 0x11, 0x09, 0x00, 0x03, 0x21, 0x20,},
00504 { 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x03, 0x02,},
00505 { 0x01, 0x01, 0x01, 0x00, 0x01, 0x03, 0x01, 0x01, 0x02,},
00506 { 0x09, 0x01, 0x00, 0x29, 0x08, 0x15, 0x03, 0x28, 0x0B,},
00507 { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,},
00508
00509 { 0x01, 0x01, 0x01, 0x05, 0x01, 0x04, 0x00, 0x01, 0x03,},
00510 { 0x09, 0x01, 0x00, 0x29, 0x28, 0x15, 0x08, 0x03, 0x0B,},
00511 { 0x01, 0x00, 0x01, 0x11, 0x05, 0x10, 0x09, 0x01, 0x03,},
00512 { 0x05, 0x04, 0x01, 0x1D, 0x0D, 0x0C, 0x1C, 0x00, 0x0F,},
00513 { 0x09, 0x11, 0x01, 0x41, 0x00, 0x40, 0x05, 0x03, 0x21,},
00514 { 0x0D, 0x05, 0x01, 0x1D, 0x1C, 0x0C, 0x04, 0x00, 0x0F,},
00515 { 0x41, 0x09, 0x01, 0x40, 0x00, 0x11, 0x05, 0x03, 0x21,},
00516 { 0x01, 0x01, 0x01, 0x05, 0x01, 0x04, 0x00, 0x01, 0x03,},
00517 { 0x05, 0x04, 0x01, 0x0D, 0x01, 0x0C, 0x07, 0x01, 0x00,},
00518 { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,},
00519
00520 { 0x05, 0x04, 0x01, 0x07, 0x19, 0x31, 0x30, 0x0D, 0x00,},
00521 { 0x21, 0x01, 0x01, 0x00, 0x11, 0x09, 0x20, 0x05, 0x03,},
00522 { 0x05, 0x01, 0x01, 0x04, 0x07, 0x0D, 0x0C, 0x00, 0x01,},
00523 { 0x21, 0x09, 0x01, 0x00, 0x20, 0x05, 0x23, 0x22, 0x03,},
00524 { 0x31, 0x0D, 0x01, 0x19, 0x05, 0x30, 0x04, 0x07, 0x00,},
00525 { 0x31, 0x05, 0x01, 0x04, 0x19, 0x00, 0x0D, 0x30, 0x07,},
00526 { 0x31, 0x01, 0x00, 0x0D, 0x05, 0x19, 0x04, 0x30, 0x07,},
00527 { 0x01, 0x01, 0x01, 0x00, 0x01, 0x03, 0x02, 0x01, 0x01,},
00528 { 0x01, 0x00, 0x01, 0x01, 0x05, 0x09, 0x08, 0x03, 0x01,},
00529 { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,},
00530 };
00531
00532 static const uint8_t aic_mode1_vlc_bits[AIC_MODE1_NUM][AIC_MODE1_SIZE] = {
00533 { 1, 4, 2, 7, 4, 6, 4, 7, 5,},
00534 { 5, 1, 3, 4, 6, 3, 3, 7, 7,},
00535 { 1, 4, 2, 7, 6, 7, 5, 4, 4,},
00536 { 1, 3, 3, 3, 7, 4, 5, 7, 6,},
00537 { 2, 4, 2, 6, 4, 5, 2, 4, 6,},
00538 { 7, 2, 3, 4, 7, 1, 5, 7, 7,},
00539 { 5, 1, 3, 6, 5, 5, 2, 7, 7,},
00540 { 2, 5, 1, 7, 3, 7, 5, 5, 6,},
00541 { 2, 4, 1, 4, 5, 7, 6, 7, 4,},
00542 { 0, 0, 0, 0, 0, 0, 0, 0, 0,},
00543
00544 { 2, 1, 3, 6, 5, 5, 5, 7, 7,},
00545 { 5, 1, 3, 4, 6, 3, 3, 7, 7,},
00546 { 4, 1, 2, 6, 5, 5, 4, 5, 6,},
00547 { 3, 1, 3, 4, 6, 3, 5, 7, 7,},
00548 { 4, 1, 3, 6, 3, 5, 3, 7, 7,},
00549 { 6, 1, 4, 4, 5, 2, 4, 7, 7,},
00550 { 7, 1, 5, 7, 4, 3, 2, 7, 7,},
00551 { 5, 3, 2, 7, 5, 6, 1, 5, 7,},
00552 { 4, 1, 2, 6, 7, 5, 4, 7, 4,},
00553 { 1, 0, 1, 0, 0, 0, 0, 0, 0,},
00554
00555 { 3, 3, 1, 5, 5, 6, 6, 5, 3,},
00556 { 6, 2, 1, 5, 6, 5, 4, 4, 5,},
00557 { 6, 4, 1, 7, 6, 7, 6, 3, 2,},
00558 { 4, 3, 1, 4, 6, 4, 6, 5, 3,},
00559 { 6, 5, 1, 7, 4, 7, 3, 3, 3,},
00560 { 7, 2, 2, 3, 7, 2, 4, 6, 5,},
00561 { 6, 2, 2, 6, 4, 5, 2, 4, 4,},
00562 { 4, 4, 1, 7, 6, 7, 5, 2, 4,},
00563 { 5, 4, 1, 5, 6, 6, 5, 4, 2,},
00564 { 0, 0, 0, 0, 0, 0, 0, 0, 0,},
00565
00566 { 2, 2, 2, 3, 5, 5, 6, 6, 5,},
00567 { 7, 1, 3, 3, 6, 3, 4, 7, 5,},
00568 { 2, 4, 1, 4, 6, 7, 7, 5, 4,},
00569 { 7, 4, 3, 1, 5, 3, 6, 7, 3,},
00570 { 4, 3, 3, 4, 1, 6, 4, 6, 5,},
00571 { 7, 4, 4, 2, 6, 1, 4, 7, 5,},
00572 { 5, 2, 3, 4, 4, 3, 2, 5, 4,},
00573 { 3, 5, 2, 3, 2, 5, 5, 5, 3,},
00574 { 6, 4, 4, 2, 5, 4, 7, 7, 1,},
00575 { 0, 0, 0, 0, 0, 0, 0, 0, 0,},
00576
00577 { 2, 2, 2, 7, 3, 7, 4, 5, 6,},
00578 { 4, 1, 3, 6, 4, 4, 3, 6, 5,},
00579 { 2, 4, 1, 7, 3, 7, 6, 6, 6,},
00580 { 3, 4, 3, 5, 1, 4, 4, 6, 6,},
00581 { 4, 5, 2, 7, 1, 7, 3, 7, 7,},
00582 { 6, 2, 3, 5, 3, 3, 2, 6, 4,},
00583 { 4, 4, 4, 7, 2, 5, 1, 6, 7,},
00584 { 4, 5, 2, 7, 1, 7, 4, 4, 6,},
00585 { 2, 4, 2, 6, 2, 4, 6, 5, 4,},
00586 { 0, 0, 0, 0, 0, 0, 0, 0, 0,},
00587
00588 { 1, 3, 3, 5, 6, 3, 5, 6, 5,},
00589 { 7, 1, 4, 4, 6, 2, 4, 7, 5,},
00590 { 2, 2, 2, 6, 5, 3, 5, 6, 5,},
00591 { 7, 4, 4, 2, 6, 1, 5, 7, 4,},
00592 { 3, 2, 2, 4, 4, 3, 4, 5, 5,},
00593 { 7, 2, 5, 3, 7, 1, 4, 7, 7,},
00594 { 6, 2, 3, 4, 5, 2, 2, 7, 7,},
00595 { 3, 2, 2, 5, 5, 4, 4, 4, 3,},
00596 { 3, 2, 2, 4, 6, 3, 5, 6, 3,},
00597 { 0, 0, 0, 0, 0, 0, 0, 0, 0,},
00598
00599 { 1, 3, 3, 7, 4, 6, 3, 5, 7,},
00600 { 4, 1, 4, 7, 4, 5, 2, 6, 7,},
00601 { 2, 4, 1, 7, 5, 7, 3, 7, 7,},
00602 { 3, 2, 3, 5, 3, 4, 2, 6, 6,},
00603 { 3, 5, 4, 7, 2, 7, 1, 7, 7,},
00604 { 4, 1, 3, 6, 5, 3, 3, 7, 7,},
00605 { 4, 2, 5, 7, 3, 7, 1, 7, 7,},
00606 { 7, 4, 1, 7, 3, 7, 2, 5, 7,},
00607 { 4, 2, 2, 6, 4, 5, 2, 6, 4,},
00608 { 0, 0, 0, 0, 0, 0, 0, 0, 0,},
00609
00610 { 3, 4, 1, 7, 6, 7, 6, 2, 6,},
00611 { 4, 2, 2, 6, 6, 5, 4, 2, 4,},
00612 { 4, 4, 1, 7, 5, 7, 6, 2, 4,},
00613 { 3, 3, 2, 5, 4, 4, 5, 2, 4,},
00614 { 4, 5, 2, 7, 2, 7, 3, 2, 6,},
00615 { 4, 3, 2, 5, 5, 4, 3, 2, 4,},
00616 { 7, 4, 2, 7, 2, 5, 3, 2, 6,},
00617 { 4, 6, 2, 7, 3, 7, 6, 1, 6,},
00618 { 5, 5, 1, 6, 4, 6, 5, 2, 4,},
00619 { 0, 0, 0, 0, 0, 0, 0, 0, 0,},
00620
00621 { 3, 3, 2, 3, 5, 6, 6, 4, 2,},
00622 { 7, 1, 3, 3, 6, 5, 7, 4, 3,},
00623 { 5, 4, 1, 5, 5, 6, 6, 4, 2,},
00624 { 6, 4, 2, 2, 6, 3, 6, 6, 2,},
00625 { 6, 4, 2, 5, 3, 6, 3, 3, 2,},
00626 { 6, 3, 2, 3, 5, 2, 4, 6, 3,},
00627 { 6, 2, 2, 4, 3, 5, 3, 6, 3,},
00628 { 7, 5, 1, 7, 4, 7, 7, 3, 2,},
00629 { 5, 5, 2, 3, 6, 7, 7, 5, 1,},
00630 { 0, 0, 0, 0, 0, 0, 0, 0, 0,},
00631 };
00632
00634
00635 #define PBTYPE_ESCAPE 0xFF
00636
00639 #define NUM_PTYPE_VLCS 7
00640 #define PTYPE_VLC_SIZE 8
00641 #define PTYPE_VLC_BITS 7
00642
00643 static const uint8_t ptype_vlc_codes[NUM_PTYPE_VLCS][PTYPE_VLC_SIZE] = {
00644 { 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00 },
00645 { 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00 },
00646 { 0x0D, 0x05, 0x01, 0x04, 0x01, 0x00, 0x07, 0x0C },
00647 { 0x09, 0x11, 0x01, 0x00, 0x05, 0x03, 0x21, 0x20 },
00648 { 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00 },
00649 { 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00 },
00650 { 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00 }
00651 };
00652
00653 static const uint8_t ptype_vlc_bits[NUM_PTYPE_VLCS][PTYPE_VLC_SIZE] = {
00654 { 1, 2, 3, 6, 5, 4, 7, 7 },
00655 { 3, 1, 2, 7, 6, 5, 4, 7 },
00656 { 5, 4, 1, 4, 3, 3, 4, 5 },
00657 { 4, 5, 2, 2, 3, 2, 6, 6 },
00658 { 5, 6, 1, 4, 2, 3, 7, 7 },
00659 { 5, 6, 1, 4, 3, 2, 7, 7 },
00660 { 6, 3, 2, 7, 5, 4, 1, 7 }
00661 };
00662
00663 static const uint8_t ptype_vlc_syms[PTYPE_VLC_SIZE] = {
00664 0, 1, 2, 3, 8, 9, 11, PBTYPE_ESCAPE
00665 };
00666
00668 static const uint8_t block_num_to_ptype_vlc_num[12] = {
00669 0, 1, 2, 3, 0, 0, 2, 0, 4, 5, 0, 6
00670 };
00672
00675 #define NUM_BTYPE_VLCS 6
00676 #define BTYPE_VLC_SIZE 7
00677 #define BTYPE_VLC_BITS 6
00678
00679 static const uint8_t btype_vlc_codes[NUM_BTYPE_VLCS][BTYPE_VLC_SIZE] = {
00680 { 0x01, 0x05, 0x00, 0x03, 0x11, 0x09, 0x10 },
00681 { 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00 },
00682 { 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00 },
00683 { 0x09, 0x01, 0x00, 0x01, 0x05, 0x03, 0x08 },
00684 { 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00 },
00685 { 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00 }
00686 };
00687
00688 static const uint8_t btype_vlc_bits[NUM_BTYPE_VLCS][PTYPE_VLC_SIZE] = {
00689 { 2, 3, 2, 2, 5, 4, 5 },
00690 { 4, 1, 3, 2, 6, 5, 6 },
00691 { 6, 4, 1, 2, 5, 3, 6 },
00692 { 5, 3, 3, 1, 4, 3, 5 },
00693 { 6, 5, 3, 2, 4, 1, 6 },
00694 { 6, 5, 3, 1, 4, 2, 6 }
00695 };
00696
00697 static const uint8_t btype_vlc_syms[BTYPE_VLC_SIZE] = {
00698 0, 1, 4, 5, 10, 7, PBTYPE_ESCAPE
00699 };
00700
00702 static const uint8_t block_num_to_btype_vlc_num[12] = {
00703 0, 1, 0, 0, 2, 3, 0, 5, 0, 0, 4, 0
00704 };
00706 #endif