• Main Page
  • Related Pages
  • Modules
  • Data Structures
  • Files
  • File List
  • Globals

libavcodec/rv40vlc2.h

Go to the documentation of this file.
00001 /*
00002  * RealVideo 4 decoder
00003  * copyright (c) 2007 Konstantin Shishkov
00004  *
00005  * This file is part of FFmpeg.
00006  *
00007  * FFmpeg is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU Lesser General Public
00009  * License as published by the Free Software Foundation; either
00010  * version 2.1 of the License, or (at your option) any later version.
00011  *
00012  * FFmpeg is distributed in the hope that it will be useful,
00013  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00014  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00015  * Lesser General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU Lesser General Public
00018  * License along with FFmpeg; if not, write to the Free Software
00019  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
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 /* AVCODEC_RV40VLC2_H */

Generated on Fri Sep 16 2011 17:17:42 for FFmpeg by  doxygen 1.7.1