📄 aac_dec_huff_tables_int.c
字号:
/*
//
// INTEL CORPORATION PROPRIETARY INFORMATION
// This software is supplied under the terms of a license agreement or
// nondisclosure agreement with Intel Corporation and may not be copied
// or disclosed except in accordance with the terms of that agreement.
// Copyright(c) 2003-2006 Intel Corporation. All Rights Reserved.
//
// Intel(R) Integrated Performance Primitives AAC Decode Sample for Windows*
//
// By downloading and installing this sample, you hereby agree that the
// accompanying Materials are being provided to you under the terms and
// conditions of the End User License Agreement for the Intel(R) Integrated
// Performance Primitives product previously accepted by you. Please refer
// to the file ippEULA.rtf or ippEULA.txt located in the root directory of your Intel(R) IPP
// product installation for more information.
//
// MPEG-4 and AAC are international standards promoted by ISO, IEC, ITU, ETSI
// and other organizations. Implementations of these standards, or the standard
// enabled platforms may require licenses from various entities, including
// Intel Corporation.
//
*/
#include "ippdc.h"
/********************************************************************/
Ipp32s aacidec_vlcShifts[] = {
0, 2, 2, 3, 3, 6, 6, 6, 6, 6, 6, 6
};
Ipp32s aacidec_vlcOffsets[] = {
0, 2, 2, 4, 4, 32, 32, 32, 32, 32, 32, 32
};
Ipp32s aacidec_vlcTypes[]= {
5, 0, 0, 4, 4, 1, 1, 4, 4, 4, 4, 3, 5, 5, 5, 5
};
Ipp32s aacidec_vlcTuples[]= {
1, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1
};
Ipp32s aacidec_vlcTableSizes[] = {
121 /*sf_book */, 81, 81, 81, 81, 81, 81, 64, 64, 169, 169, 289
};
Ipp32s aacidec_vlcNumSubTables[] = {
6, 4, 2, 7, 5, 4, 3, 5, 4, 6, 4, 4
};
Ipp32s aacidec_vlcSubTablesSizes0[] = {5, 3, 2, 2, 3, 4};
Ipp32s aacidec_vlcSubTablesSizes1[] = {5, 2, 2, 2};
Ipp32s aacidec_vlcSubTablesSizes2[] = {6, 3};
Ipp32s aacidec_vlcSubTablesSizes3[] = {3, 3, 2, 2, 2, 2, 2};
Ipp32s aacidec_vlcSubTablesSizes4[] = {4, 3, 2, 2, 1};
Ipp32s aacidec_vlcSubTablesSizes5[] = {5, 4, 2, 2};
Ipp32s aacidec_vlcSubTablesSizes6[] = {6, 3, 2};
Ipp32s aacidec_vlcSubTablesSizes7[] = {3, 3, 2, 2, 2};
Ipp32s aacidec_vlcSubTablesSizes8[] = {5, 2, 2, 1};
Ipp32s aacidec_vlcSubTablesSizes9[] = {3, 3, 3, 2, 2, 2};
Ipp32s aacidec_vlcSubTablesSizes10[] = {6, 3, 2, 1};
Ipp32s aacidec_vlcSubTablesSizes11[] = {5, 3, 2, 2};
Ipp32s *aacidec_vlcSubTablesSizes[] = {
aacidec_vlcSubTablesSizes0, aacidec_vlcSubTablesSizes1,
aacidec_vlcSubTablesSizes2, aacidec_vlcSubTablesSizes3,
aacidec_vlcSubTablesSizes4, aacidec_vlcSubTablesSizes5,
aacidec_vlcSubTablesSizes6, aacidec_vlcSubTablesSizes7,
aacidec_vlcSubTablesSizes8, aacidec_vlcSubTablesSizes9,
aacidec_vlcSubTablesSizes10, aacidec_vlcSubTablesSizes11
};
static IppsVLCTable_32s aacidec_sf_book[] = {
{ 60, 0x00000000, 1}, { 59, 0x00000004, 3},
{ 58, 0x0000000b, 4}, { 61, 0x0000000a, 4},
{ 62, 0x0000000c, 4}, { 57, 0x0000001a, 5},
{ 63, 0x0000001b, 5}, { 55, 0x0000003a, 6},
{ 56, 0x00000038, 6}, { 64, 0x00000039, 6},
{ 65, 0x0000003b, 6}, { 54, 0x00000079, 7},
{ 66, 0x00000078, 7}, { 67, 0x0000007a, 7},
{ 51, 0x000000fa, 8}, { 52, 0x000000f8, 8},
{ 53, 0x000000f6, 8}, { 68, 0x000000f7, 8},
{ 69, 0x000000f9, 8}, { 49, 0x000001f8, 9},
{ 50, 0x000001f7, 9}, { 70, 0x000001f6, 9},
{ 71, 0x000001f9, 9}, { 46, 0x000003f9, 10},
{ 47, 0x000003f7, 10}, { 48, 0x000003f5, 10},
{ 72, 0x000003f4, 10}, { 73, 0x000003f6, 10},
{ 74, 0x000003f8, 10}, { 43, 0x000007f9, 11},
{ 45, 0x000007f8, 11}, { 75, 0x000007f5, 11},
{ 76, 0x000007f4, 11}, { 77, 0x000007f6, 11},
{ 78, 0x000007f7, 11}, { 40, 0x00000ff9, 12},
{ 41, 0x00000ff7, 12}, { 42, 0x00000ff6, 12},
{ 44, 0x00000ff4, 12}, { 79, 0x00000ff5, 12},
{ 80, 0x00000ff8, 12}, { 38, 0x00001ff7, 13},
{ 39, 0x00001ff5, 13}, { 81, 0x00001ff4, 13},
{ 82, 0x00001ff6, 13}, { 83, 0x00001ff8, 13},
{ 32, 0x00003ff9, 14}, { 33, 0x00003ff5, 14},
{ 34, 0x00003ff7, 14}, { 35, 0x00003ff3, 14},
{ 36, 0x00003ff6, 14}, { 37, 0x00003ff2, 14},
{ 84, 0x00003ff8, 14}, { 85, 0x00003ff4, 14},
{ 30, 0x00007ff6, 15}, { 31, 0x00007ff7, 15},
{ 87, 0x00007ff4, 15}, { 89, 0x00007ff5, 15},
{ 24, 0x0000fff5, 16}, { 26, 0x0000fff2, 16},
{ 27, 0x0000fff3, 16}, { 28, 0x0000fff4, 16},
{ 29, 0x0000fff1, 16}, { 86, 0x0000fff0, 16},
{ 88, 0x0000fff6, 16}, { 22, 0x0001ffef, 17},
{ 23, 0x0001fff0, 17}, { 25, 0x0001ffee, 17},
{ 0, 0x0003ffe8, 18}, { 1, 0x0003ffe6, 18},
{ 2, 0x0003ffe7, 18}, { 3, 0x0003ffe5, 18},
{ 19, 0x0003ffe4, 18}, { 21, 0x0003ffe3, 18},
{ 90, 0x0003ffe2, 18}, { 4, 0x0007fff5, 19},
{ 5, 0x0007fff1, 19}, { 6, 0x0007ffed, 19},
{ 7, 0x0007fff6, 19}, { 8, 0x0007ffee, 19},
{ 9, 0x0007ffef, 19}, { 10, 0x0007fff0, 19},
{ 11, 0x0007fffc, 19}, { 12, 0x0007fffd, 19},
{ 13, 0x0007ffff, 19}, { 14, 0x0007fffe, 19},
{ 15, 0x0007fff7, 19}, { 16, 0x0007fff8, 19},
{ 17, 0x0007fffb, 19}, { 18, 0x0007fff9, 19},
{ 20, 0x0007fffa, 19}, { 91, 0x0007ffd9, 19},
{ 92, 0x0007ffda, 19}, { 93, 0x0007ffdb, 19},
{ 94, 0x0007ffdc, 19}, { 95, 0x0007ffdd, 19},
{ 96, 0x0007ffde, 19}, { 97, 0x0007ffd8, 19},
{ 98, 0x0007ffd2, 19}, { 99, 0x0007ffd3, 19},
{ 100, 0x0007ffd4, 19}, { 101, 0x0007ffd5, 19},
{ 102, 0x0007ffd6, 19}, { 103, 0x0007fff2, 19},
{ 104, 0x0007ffdf, 19}, { 105, 0x0007ffe7, 19},
{ 106, 0x0007ffe8, 19}, { 107, 0x0007ffe9, 19},
{ 108, 0x0007ffea, 19}, { 109, 0x0007ffeb, 19},
{ 110, 0x0007ffe6, 19}, { 111, 0x0007ffe0, 19},
{ 112, 0x0007ffe1, 19}, { 113, 0x0007ffe2, 19},
{ 114, 0x0007ffe3, 19}, { 115, 0x0007ffe4, 19},
{ 116, 0x0007ffe5, 19}, { 117, 0x0007ffd7, 19},
{ 118, 0x0007ffec, 19}, { 119, 0x0007fff4, 19},
{ 120, 0x0007fff3, 19}
};
static IppsVLCTable_32s aacidec_spec_book1[] = {
{ -43, 0x000007f8, 11}, { -42, 0x000001f1, 9},
{ -41, 0x000007fd, 11}, { -39, 0x000003f5, 10},
{ -38, 0x00000068, 7}, { -37, 0x000003f0, 10},
{ -35, 0x000007f7, 11}, { -34, 0x000001ec, 9},
{ -33, 0x000007f5, 11}, { -27, 0x000003f1, 10},
{ -26, 0x00000072, 7}, { -25, 0x000003f4, 10},
{ -23, 0x00000074, 7}, { -22, 0x00000011, 5},
{ -21, 0x00000076, 7}, { -19, 0x000001eb, 9},
{ -18, 0x0000006c, 7}, { -17, 0x000003f6, 10},
{ -11, 0x000007fc, 11}, { -10, 0x000001e1, 9},
{ -9, 0x000007f1, 11}, { -7, 0x000001f0, 9},
{ -6, 0x00000061, 7}, { -5, 0x000001f6, 9},
{ -3, 0x000007f2, 11}, { -2, 0x000001ea, 9},
{ -1, 0x000007fb, 11}, { 21, 0x000001f2, 9},
{ 22, 0x00000069, 7}, { 23, 0x000001ed, 9},
{ 25, 0x00000077, 7}, { 26, 0x00000017, 5},
{ 27, 0x0000006f, 7}, { 29, 0x000001e6, 9},
{ 30, 0x00000064, 7}, { 31, 0x000001e5, 9},
{ 37, 0x00000067, 7}, { 38, 0x00000015, 5},
{ 39, 0x00000062, 7}, { 41, 0x00000012, 5},
{ 42, 0x00000000, 1}, { 43, 0x00000014, 5},
{ 45, 0x00000065, 7}, { 46, 0x00000016, 5},
{ 47, 0x0000006d, 7}, { 53, 0x000001e9, 9},
{ 54, 0x00000063, 7}, { 55, 0x000001e4, 9},
{ 57, 0x0000006b, 7}, { 58, 0x00000013, 5},
{ 59, 0x00000071, 7}, { 61, 0x000001e3, 9},
{ 62, 0x00000070, 7}, { 63, 0x000001f3, 9},
{ 85, 0x000007fe, 11}, { 86, 0x000001e7, 9},
{ 87, 0x000007f3, 11}, { 89, 0x000001ef, 9},
{ 90, 0x00000060, 7}, { 91, 0x000001ee, 9},
{ 93, 0x000007f0, 11}, { 94, 0x000001e2, 9},
{ 95, 0x000007fa, 11}, { 101, 0x000003f3, 10},
{ 102, 0x0000006a, 7}, { 103, 0x000001e8, 9},
{ 105, 0x00000075, 7}, { 106, 0x00000010, 5},
{ 107, 0x00000073, 7}, { 109, 0x000001f4, 9},
{ 110, 0x0000006e, 7}, { 111, 0x000003f7, 10},
{ 117, 0x000007f6, 11}, { 118, 0x000001e0, 9},
{ 119, 0x000007f9, 11}, { 121, 0x000003f2, 10},
{ 122, 0x00000066, 7}, { 123, 0x000001f5, 9},
{ 125, 0x000007ff, 11}, { 126, 0x000001f7, 9},
{ 127, 0x000007f4, 11}
};
static IppsVLCTable_32s aacidec_spec_book2[] = {
{ -43, 0x000001f3, 9}, { -42, 0x0000006f, 7},
{ -41, 0x000001fd, 9}, { -39, 0x000000eb, 8},
{ -38, 0x00000023, 6}, { -37, 0x000000ea, 8},
{ -35, 0x000001f7, 9}, { -34, 0x000000e8, 8},
{ -33, 0x000001fa, 9}, { -27, 0x000000f2, 8},
{ -26, 0x0000002d, 6}, { -25, 0x00000070, 7},
{ -23, 0x00000020, 6}, { -22, 0x00000006, 5},
{ -21, 0x0000002b, 6}, { -19, 0x0000006e, 7},
{ -18, 0x00000028, 6}, { -17, 0x000000e9, 8},
{ -11, 0x000001f9, 9}, { -10, 0x00000066, 7},
{ -9, 0x000000f8, 8}, { -7, 0x000000e7, 8},
{ -6, 0x0000001b, 6}, { -5, 0x000000f1, 8},
{ -3, 0x000001f4, 9}, { -2, 0x0000006b, 7},
{ -1, 0x000001f5, 9}, { 21, 0x000000ec, 8},
{ 22, 0x0000002a, 6}, { 23, 0x0000006c, 7},
{ 25, 0x0000002c, 6}, { 26, 0x0000000a, 5},
{ 27, 0x00000027, 6}, { 29, 0x00000067, 7},
{ 30, 0x0000001a, 6}, { 31, 0x000000f5, 8},
{ 37, 0x00000024, 6}, { 38, 0x00000008, 5},
{ 39, 0x0000001f, 6}, { 41, 0x00000009, 5},
{ 42, 0x00000000, 3}, { 43, 0x00000007, 5},
{ 45, 0x0000001d, 6}, { 46, 0x0000000b, 5},
{ 47, 0x00000030, 6}, { 53, 0x000000ef, 8},
{ 54, 0x0000001c, 6}, { 55, 0x00000064, 7},
{ 57, 0x0000001e, 6}, { 58, 0x0000000c, 5},
{ 59, 0x00000029, 6}, { 61, 0x000000f3, 8},
{ 62, 0x0000002f, 6}, { 63, 0x000000f0, 8},
{ 85, 0x000001fc, 9}, { 86, 0x00000071, 7},
{ 87, 0x000001f2, 9}, { 89, 0x000000f4, 8},
{ 90, 0x00000021, 6}, { 91, 0x000000e6, 8},
{ 93, 0x000000f7, 8}, { 94, 0x00000068, 7},
{ 95, 0x000001f8, 9}, { 101, 0x000000ee, 8},
{ 102, 0x00000022, 6}, { 103, 0x00000065, 7},
{ 105, 0x00000031, 6}, { 106, 0x00000002, 4},
{ 107, 0x00000026, 6}, { 109, 0x000000ed, 8},
{ 110, 0x00000025, 6}, { 111, 0x0000006a, 7},
{ 117, 0x000001fb, 9}, { 118, 0x00000072, 7},
{ 119, 0x000001fe, 9}, { 121, 0x00000069, 7},
{ 122, 0x0000002e, 6}, { 123, 0x000000f6, 8},
{ 125, 0x000001ff, 9}, { 126, 0x0000006d, 7},
{ 127, 0x000001f6, 9}
};
static IppsVLCTable_32s aacidec_spec_book3[] = {
{ 0, 0x00000000, 1}, { 1, 0x00000009, 4},
{ 2, 0x000000ef, 8}, { 8, 0x0000000b, 4},
{ 9, 0x00000019, 5}, { 10, 0x000000f0, 8},
{ 16, 0x000001eb, 9}, { 17, 0x000001e6, 9},
{ 18, 0x000003f2, 10}, { 64, 0x0000000a, 4},
{ 65, 0x00000035, 6}, { 66, 0x000001ef, 9},
{ 72, 0x00000034, 6}, { 73, 0x00000037, 6},
{ 74, 0x000001e9, 9}, { 80, 0x000001ed, 9},
{ 81, 0x000001e7, 9}, { 82, 0x000003f3, 10},
{ 128, 0x000001ee, 9}, { 129, 0x000003ed, 10},
{ 130, 0x00001ffa, 13}, { 136, 0x000001ec, 9},
{ 137, 0x000001f2, 9}, { 138, 0x000007f9, 11},
{ 144, 0x000007f8, 11}, { 145, 0x000003f8, 10},
{ 146, 0x00000ff8, 12}, { 512, 0x00000008, 4},
{ 513, 0x00000038, 6}, { 514, 0x000003f6, 10},
{ 520, 0x00000036, 6}, { 521, 0x00000075, 7},
{ 522, 0x000003f1, 10}, { 528, 0x000003eb, 10},
{ 529, 0x000003ec, 10}, { 530, 0x00000ff4, 12},
{ 576, 0x00000018, 5}, { 577, 0x00000076, 7},
{ 578, 0x000007f4, 11}, { 584, 0x00000039, 6},
{ 585, 0x00000074, 7}, { 586, 0x000003ef, 10},
{ 592, 0x000001f3, 9}, { 593, 0x000001f4, 9},
{ 594, 0x000007f6, 11}, { 640, 0x000001e8, 9},
{ 641, 0x000003ea, 10}, { 642, 0x00001ffc, 13},
{ 648, 0x000000f2, 8}, { 649, 0x000001f1, 9},
{ 650, 0x00000ffb, 12}, { 656, 0x000003f5, 10},
{ 657, 0x000007f3, 11}, { 658, 0x00000ffc, 12},
{ 1024, 0x000000ee, 8}, { 1025, 0x000003f7, 10},
{ 1026, 0x00007ffe, 15}, { 1032, 0x000001f0, 9},
{ 1033, 0x000007f5, 11}, { 1034, 0x00007ffd, 15},
{ 1040, 0x00001ffb, 13}, { 1041, 0x00003ffa, 14},
{ 1042, 0x0000ffff, 16}, { 1088, 0x000000f1, 8},
{ 1089, 0x000003f0, 10}, { 1090, 0x00003ffc, 14},
{ 1096, 0x000001ea, 9}, { 1097, 0x000003ee, 10},
{ 1098, 0x00003ffb, 14}, { 1104, 0x00000ff6, 12},
{ 1105, 0x00000ffa, 12}, { 1106, 0x00007ffc, 15},
{ 1152, 0x000007f2, 11}, { 1153, 0x00000ff5, 12},
{ 1154, 0x0000fffe, 16}, { 1160, 0x000003f4, 10},
{ 1161, 0x000007f7, 11}, { 1162, 0x00007ffb, 15},
{ 1168, 0x00000ff7, 12}, { 1169, 0x00000ff9, 12},
{ 1170, 0x00007ffa, 15}
};
static IppsVLCTable_32s aacidec_spec_book4[] = {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -