📄 aac_enc_huff_tables.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 Integrated Performance Primitives AAC Encode 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 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 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 "ippac.h"
#include "ipps.h"
#include "aac_enc_huff_tables.h"
#include <stdlib.h>
#include "ippdc.h"
#include "aac_status.h"
Ipp32s vlcEncShifts[] = {
0, 2, 2, 3, 3, 4, 4, 4, 4, 5, 5, 6
};
Ipp32s vlcEncOffsets[] = {
0, 2, 2, 4, 4, 8, 8, 8, 8, 16, 16, 16
};
Ipp32s vlcEncTypes[]= {
3, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2
};
Ipp32s vlcEncTableSizes[] = {
121 /*sf_book */, 81, 81, 625, 625, 81, 81, 225, 225, 625, 625, 1089
};
static IppsVLCTable_32s 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 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 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 spec_book3[] = {
{ 292, 0x00000000, 1}, { 293, 0x00000012, 5},
{ 291, 0x00000013, 5}, { 294, 0x000001de, 9},
{ 290, 0x000001df, 9}, { 300, 0x00000016, 5},
{ 284, 0x00000017, 5}, { 301, 0x00000064, 7},
{ 285, 0x00000066, 7}, { 299, 0x00000065, 7},
{ 283, 0x00000067, 7}, { 302, 0x000003c0, 10},
{ 286, 0x000003c2, 10}, { 298, 0x000003c1, 10},
{ 282, 0x000003c3, 10}, { 308, 0x000003d6, 10},
{ 276, 0x000003d7, 10}, { 309, 0x00000798, 11},
{ 277, 0x0000079a, 11}, { 307, 0x00000799, 11},
{ 275, 0x0000079b, 11}, { 310, 0x00000fc8, 12},
{ 278, 0x00000fca, 12}, { 306, 0x00000fc9, 12},
{ 274, 0x00000fcb, 12}, { 356, 0x00000014, 5},
{ 228, 0x00000015, 5}, { 357, 0x000000d4, 8},
{ 229, 0x000000d6, 8}, { 355, 0x000000d5, 8},
{ 227, 0x000000d7, 8}, { 358, 0x000007bc, 11},
{ 230, 0x000007be, 11}, { 354, 0x000007bd, 11},
{ 226, 0x000007bf, 11}, { 364, 0x000000d0, 8},
{ 236, 0x000000d2, 8}, { 348, 0x000000d1, 8},
{ 220, 0x000000d3, 8}, { 365, 0x000001b8, 9},
{ 237, 0x000001bc, 9}, { 349, 0x000001ba, 9},
{ 221, 0x000001be, 9}, { 363, 0x000001b9, 9},
{ 235, 0x000001bd, 9}, { 347, 0x000001bb, 9},
{ 219, 0x000001bf, 9}, { 366, 0x00000f48, 12},
{ 238, 0x00000f4c, 12}, { 350, 0x00000f4a, 12},
{ 222, 0x00000f4e, 12}, { 362, 0x00000f49, 12},
{ 234, 0x00000f4d, 12}, { 346, 0x00000f4b, 12},
{ 218, 0x00000f4f, 12}, { 372, 0x000007b4, 11},
{ 244, 0x000007b6, 11}, { 340, 0x000007b5, 11},
{ 212, 0x000007b7, 11}, { 373, 0x00000f38, 12},
{ 245, 0x00000f3c, 12}, { 341, 0x00000f3a, 12},
{ 213, 0x00000f3e, 12}, { 371, 0x00000f39, 12},
{ 243, 0x00000f3d, 12}, { 339, 0x00000f3b, 12},
{ 211, 0x00000f3f, 12}, { 374, 0x00001f98, 13},
{ 246, 0x00001f9c, 13}, { 342, 0x00001f9a, 13},
{ 214, 0x00001f9e, 13}, { 370, 0x00001f99, 13},
{ 242, 0x00001f9d, 13}, { 338, 0x00001f9b, 13},
{ 210, 0x00001f9f, 13}, { 420, 0x000003dc, 10},
{ 164, 0x000003dd, 10}, { 421, 0x00000fb4, 12},
{ 165, 0x00000fb6, 12}, { 419, 0x00000fb5, 12},
{ 163, 0x00000fb7, 12}, { 422, 0x00007fe8, 15},
{ 166, 0x00007fea, 15}, { 418, 0x00007fe9, 15},
{ 162, 0x00007feb, 15}, { 428, 0x000007b0, 11},
{ 172, 0x000007b2, 11}, { 412, 0x000007b1, 11},
{ 156, 0x000007b3, 11}, { 429, 0x00000f90, 12},
{ 173, 0x00000f94, 12}, { 413, 0x00000f92, 12},
{ 157, 0x00000f96, 12}, { 427, 0x00000f91, 12},
{ 171, 0x00000f95, 12}, { 411, 0x00000f93, 12},
{ 155, 0x00000f97, 12}, { 430, 0x00003fc8, 14},
{ 174, 0x00003fcc, 14}, { 414, 0x00003fca, 14},
{ 158, 0x00003fce, 14}, { 426, 0x00003fc9, 14},
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -