📄 ac3_dec_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) 2002-2006 Intel Corporation. All Rights Reserved.
//
*/
#include "ac3_dec_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 Ipp32s SAMPLING_RATE[] = { 48000, 44100, 32000 };
const Ipp16u NFCHANS[] = { 2, 1, 2, 3, 3, 4, 4, 5 };
Ipp16s UNGRP5[128] = {
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,
0, 0, 0
};
Ipp16s SLOWDEC[] = { 0x0f, 0x11, 0x13, 0x15 };
Ipp16s FASTDEC[] = { 0x3f, 0x53, 0x67, 0x7b };
Ipp16s SLOWGAIN[] = { 0x540, 0x4d8, 0x478, 0x410 };
Ipp16s DBPBTAB[] = { 0x000, 0x700, 0x900, 0xb00 };
Ipp16s FLOORTAB[] =
{ 0x2f0, 0x2b0, 0x270, 0x230, 0x1f0, 0x170, 0x0f0, -0x800 };
Ipp16s FASTGAIN[] = { 0x080, 0x100, 0x180, 0x200, 0x280, 0x300, 0x380, 0x400 };
Ipp16s 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
};
Ipp16s 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
};
Ipp16s 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
*/
Ipp16s 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
};
Ipp16s 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}
};
Ipp8u BAPTAB[] = {
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, 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, 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, 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, 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, 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, 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, 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,
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, 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, 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, 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, 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, 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, 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, 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,
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, 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, 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, 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,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -