📄 ac3dec_tables.cpp
字号:
/*////////////////////////////////////////////////////////////////////////////////// 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) 2002-2005 Intel Corporation. All Rights Reserved.//*/#include "ac3dec_tables.h"/** Table 5.13 Frame Size Code Table, p. 38,* ATSC Digital Audio Compression (AC-3) Standard* 20 Dec 95* NOTE: words/syncframe is reverse order for convenience*/const frmsize_t FRAMESIZECODE[] = {{ 0x20, {0x40, 0x45, 0x60}},{ 0x20, {0x40, 0x46, 0x60}},{ 0x28, {0x50, 0x57, 0x78}},{ 0x28, {0x50, 0x58, 0x78}},{ 0x30, {0x60, 0x68, 0x90}},{ 0x30, {0x60, 0x69, 0x90}},{ 0x38, {0x70, 0x79, 0xa8}},{ 0x38, {0x70, 0x7a, 0xa8}},{ 0x40, {0x80, 0x8b, 0xc0}},{ 0x40, {0x80, 0x8c, 0xc0}},{ 0x50, {0xa0, 0xae, 0xf0}},{ 0x50, {0xa0, 0xaf, 0xf0}},{ 0x60, {0xc0, 0xd0, 0x120}},{ 0x60, {0xc0, 0xd1, 0x120}},{ 0x70, {0xe0, 0xf3, 0x150}},{ 0x70, {0xe0, 0xf4, 0x150}},{ 0x80, {0x100, 0x116, 0x180}},{ 0x80, {0x100, 0x117, 0x180}},{ 0xa0, {0x140, 0x15c, 0x1e0}},{ 0xa0, {0x140, 0x15d, 0x1e0}},{ 0xc0, {0x180, 0x1a1, 0x240}},{ 0xc0, {0x180, 0x1a2, 0x240}},{ 0xe0, {0x1c0, 0x1e7, 0x2a0}},{ 0xe0, {0x1c0, 0x1e8, 0x2a0}},{ 0x100, {0x200, 0x22d, 0x300}},{ 0x100, {0x200, 0x22e, 0x300}},{ 0x140, {0x280, 0x2b8, 0x3c0}},{ 0x140, {0x280, 0x2b9, 0x3c0}},{ 0x180, {0x300, 0x343, 0x480}},{ 0x180, {0x300, 0x344, 0x480}},{ 0x1c0, {0x380, 0x3cf, 0x540}},{ 0x1c0, {0x380, 0x3d0, 0x540}},{ 0x200, {0x400, 0x45a, 0x600}},{ 0x200, {0x400, 0x45b, 0x600}},{ 0x240, {0x480, 0x4e5, 0x6c0}},{ 0x240, {0x480, 0x4e6, 0x6c0}},{ 0x280, {0x500, 0x571, 0x780}},{ 0x280, {0x500, 0x572, 0x780}}};const int SAMPLING_RATE[] = { 48000, 44100, 32000 };const unsigned short NFCHANS[] = { 2, 1, 2, 3, 3, 4, 4, 5 };short UNGRP5[125] = { 0x0000, 0x0010, 0x0020, 0x0030, 0x0040, 0x0100, 0x0110, 0x0120, 0x0130, 0x0140, 0x0200, 0x0210, 0x0220, 0x0230, 0x0240, 0x0300, 0x0310, 0x0320, 0x0330, 0x0340, 0x0400, 0x0410, 0x0420, 0x0430, 0x0440, 0x1000, 0x1010, 0x1020, 0x1030, 0x1040, 0x1100, 0x1110, 0x1120, 0x1130, 0x1140, 0x1200, 0x1210, 0x1220, 0x1230, 0x1240, 0x1300, 0x1310, 0x1320, 0x1330, 0x1340, 0x1400, 0x1410, 0x1420, 0x1430, 0x1440, 0x2000, 0x2010, 0x2020, 0x2030, 0x2040, 0x2100, 0x2110, 0x2120, 0x2130, 0x2140, 0x2200, 0x2210, 0x2220, 0x2230, 0x2240, 0x2300, 0x2310, 0x2320, 0x2330, 0x2340, 0x2400, 0x2410, 0x2420, 0x2430, 0x2440, 0x3000, 0x3010, 0x3020, 0x3030, 0x3040, 0x3100, 0x3110, 0x3120, 0x3130, 0x3140, 0x3200, 0x3210, 0x3220, 0x3230, 0x3240, 0x3300, 0x3310, 0x3320, 0x3330, 0x3340, 0x3400, 0x3410, 0x3420, 0x3430, 0x3440, 0x4000, 0x4010, 0x4020, 0x4030, 0x4040, 0x4100, 0x4110, 0x4120, 0x4130, 0x4140, 0x4200, 0x4210, 0x4220, 0x4230, 0x4240, 0x4300, 0x4310, 0x4320, 0x4330, 0x4340, 0x4400, 0x4410, 0x4420, 0x4430, 0x4440};short SLOWDEC[] = { 0x0f, 0x11, 0x13, 0x15 };short FASTDEC[] = { 0x3f, 0x53, 0x67, 0x7b };short SLOWGAIN[] = { 0x540, 0x4d8, 0x478, 0x410 };short DBPBTAB[] = { 0x000, 0x700, 0x900, 0xb00 };unsigned short FLOORTAB[] = { 0x2f0, 0x2b0, 0x270, 0x230, 0x1f0, 0x170, 0x0f0, 0xf800 };short FASTGAIN[] = { 0x080, 0x100, 0x180, 0x200, 0x280, 0x300, 0x380, 0x400 };short BNDTAB[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 31, 34, 37, 40, 43, 46, 49, 55, 61, 67, 73, 79, 85, 97, 109, 121, 133, 157, 181, 205, 229};short BNDSZ[] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, 3, 3, 6, 6, 6, 6, 6, 6, 12, 12, 12, 12, 24, 24, 24, 24, 24};short MASKTAB[] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 28, 28, 29, 29, 29, 30, 30, 30, 31, 31, 31, 32, 32, 32, 33, 33, 33, 34, 34, 34, 35, 35, 35, 35, 35, 35, 36, 36, 36, 36, 36, 36, 37, 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, 38, 39, 39, 39, 39, 39, 39, 40, 40, 40, 40, 40, 40, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 41, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 46, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 47, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 48, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 0, 0, 0};/** Table 7.14 Log-Addition Table, p. 62,* ATSC Digital Audio Compression (AC-3) Standard* 20 Dec 95*/short LATAB[] = {64, 63, 62, 61, 60, 59, 58, 57, 56, 55,54, 53, 52, 52, 51, 50, 49, 48, 47, 47,46, 45, 44, 44, 43, 42, 41, 41, 40, 39,38, 38, 37, 36, 36, 35, 35, 34, 33, 33,32, 32, 31, 30, 30, 29, 29, 28, 28, 27,27, 26, 26, 25, 25, 24, 24, 23, 23, 22,22, 21, 21, 21, 20, 20, 19, 19, 19, 18,18, 18, 17, 17, 17, 16, 16, 16, 15, 15,15, 14, 14, 14, 13, 13, 13, 13, 12, 12,12, 12, 11, 11, 11, 11, 10, 10, 10, 10,10, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};short HTH[][50] = { {0x04d0, 0x04d0, 0x0440, 0x0400, 0x03e0, 0x03c0, 0x03b0, 0x03b0, 0x03a0, 0x03a0, 0x03a0, 0x03a0, 0x03a0, 0x0390, 0x0390, 0x0390, 0x0380, 0x0380, 0x0370, 0x0370, 0x0360, 0x0360, 0x0350, 0x0350, 0x0340, 0x0340, 0x0330, 0x0320, 0x0310, 0x0300, 0x02f0, 0x02f0, 0x02f0, 0x02f0, 0x0300, 0x0310, 0x0340, 0x0390, 0x03e0, 0x0420, 0x0460, 0x0490, 0x04a0, 0x0460, 0x0440, 0x0440, 0x0520, 0x0800, 0x0840, 0x0840},{0x04f0, 0x04f0, 0x0460, 0x0410, 0x03e0, 0x03d0, 0x03c0, 0x03b0, 0x03b0, 0x03a0, 0x03a0, 0x03a0, 0x03a0, 0x03a0, 0x0390, 0x0390, 0x0390, 0x0380, 0x0380, 0x0380, 0x0370, 0x0370, 0x0360, 0x0360, 0x0350, 0x0350, 0x0340, 0x0340, 0x0320, 0x0310, 0x0300, 0x02f0, 0x02f0, 0x02f0, 0x02f0, 0x0300, 0x0320, 0x0350, 0x0390, 0x03e0, 0x0420, 0x0450, 0x04a0, 0x0490, 0x0460, 0x0440, 0x0480, 0x0630, 0x0840, 0x0840},{0x0580, 0x0580, 0x04b0, 0x0450, 0x0420, 0x03f0, 0x03e0, 0x03d0, 0x03c0, 0x03b0, 0x03b0, 0x03b0, 0x03a0, 0x03a0, 0x03a0, 0x03a0, 0x03a0, 0x03a0, 0x03a0, 0x03a0, 0x0390, 0x0390, 0x0390, 0x0390, 0x0380, 0x0380, 0x0380, 0x0370, 0x0360, 0x0350, 0x0340, 0x0330, 0x0320, 0x0310, 0x0300, 0x02f0, 0x02f0, 0x02f0, 0x0300, 0x0310, 0x0330, 0x0350, 0x03c0, 0x0410, 0x0470, 0x04a0, 0x0460, 0x0440, 0x0450, 0x04e0}};short BAPTAB[] = { 0, 1, 1, 1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 15};float phscorFac[8][8][4][5] = /* [out_acmod][acmod][surmixlev][chan] */{ { { { 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, }, { 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, }, { 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, }, { 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, }, }, { { 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, }, { 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, }, { 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, }, { 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, }, }, { { 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, }, { 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, }, { 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, }, { 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, }, }, { { 0.611282f, 0.611282f, 0.611282f, 0.000000f, 0.000000f, }, { 0.611282f, 0.611282f, 0.611282f, 0.000000f, 0.000000f, }, { 0.611282f, 0.611282f, 0.611282f, 0.000000f, 0.000000f, }, { 0.611282f, 0.611282f, 0.611282f, 0.000000f, 0.000000f, }, }, { { 0.633795f, 0.633795f, 0.633795f, 0.000000f, 0.000000f, }, { 0.633795f, 0.633795f, 0.633795f, 0.000000f, 0.000000f, }, { 0.958144f, 0.958144f, 0.958144f, 0.000000f, 0.000000f, }, { 0.633795f, 0.633795f, 0.633795f, 0.000000f, 0.000000f, }, }, { { 0.805288f, 0.805288f, 0.805288f, 0.805288f, 0.000000f, }, { 0.805288f, 0.805288f, 0.805288f, 0.805288f, 0.000000f, }, { 0.984480f, 0.984480f, 0.984480f, 0.984480f, 0.000000f, }, { 0.805288f, 0.805288f, 0.805288f, 0.805288f, 0.000000f, }, }, { { 0.811531f, 0.811531f, 0.811531f, 0.811531f, 0.000000f, }, { 0.811531f, 0.811531f, 0.811531f, 0.811531f, 0.000000f, }, { 1.000000f, 1.000000f, 1.000000f, 1.000000f, 0.000000f, }, { 0.811531f, 0.811531f, 0.811531f, 0.811531f, 0.000000f, }, }, { { 0.889881f, 0.889881f, 0.889881f, 0.889881f, 0.889881f, }, { 0.889881f, 0.889881f, 0.889881f, 0.889881f, 0.889881f, }, { 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, }, { 0.889881f, 0.889881f, 0.889881f, 0.889881f, 0.889881f, }, }, }, { { { 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, }, { 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, }, { 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, }, { 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, }, }, { { 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, }, { 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, }, { 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, }, { 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, }, }, { { 1.000000f, 1.000000f, 0.000000f, 0.000000f, 0.000000f, }, { 1.000000f, 1.000000f, 0.000000f, 0.000000f, 0.000000f, }, { 1.000000f, 1.000000f, 0.000000f, 0.000000f, 0.000000f, }, { 1.000000f, 1.000000f, 0.000000f, 0.000000f, 0.000000f, }, }, { { 1.000000f, 1.000000f, 1.000000f, 0.000000f, 0.000000f, }, { 1.000000f, 1.000000f, 1.000000f, 0.000000f, 0.000000f, }, { 1.000000f, 1.000000f, 1.000000f, 0.000000f, 0.000000f, }, { 1.000000f, 1.000000f, 1.000000f, 0.000000f, 0.000000f, }, }, { { 1.000000f, 1.000000f, 1.000000f, 0.000000f, 0.000000f, }, { 1.000000f, 1.000000f, 1.000000f, 0.000000f, 0.000000f, }, { 1.000000f, 1.000000f, 1.000000f, 0.000000f, 0.000000f, }, { 1.000000f, 1.000000f, 1.000000f, 0.000000f, 0.000000f, }, }, { { 1.000000f, 1.000000f, 1.000000f, 1.000000f, 0.000000f, }, { 1.000000f, 1.000000f, 1.000000f, 1.000000f, 0.000000f, }, { 1.000000f, 1.000000f, 1.000000f, 1.000000f, 0.000000f, }, { 1.000000f, 1.000000f, 1.000000f, 1.000000f, 0.000000f, }, }, { { 1.000000f, 1.000000f, 1.000000f, 1.000000f, 0.000000f, }, { 1.000000f, 1.000000f, 1.000000f, 1.000000f, 0.000000f, }, { 1.000000f, 1.000000f, 1.000000f, 1.000000f, 0.000000f, }, { 1.000000f, 1.000000f, 1.000000f, 1.000000f, 0.000000f, }, }, { { 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, }, { 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, }, { 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, }, { 1.000000f, 1.000000f, 1.000000f, 1.000000f, 1.000000f, }, }, }, { { { 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, }, { 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, }, { 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, }, { 0.000000f, 0.000000f, 0.000000f, 0.000000f, 0.000000f, }, }, {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -