00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00030 #ifndef AVCODEC_AACDECTAB_H
00031 #define AVCODEC_AACDECTAB_H
00032
00033 #include "aac.h"
00034
00035 #include <stdint.h>
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052 static const uint16_t swb_offset_1024_96[] = {
00053 0, 4, 8, 12, 16, 20, 24, 28,
00054 32, 36, 40, 44, 48, 52, 56, 64,
00055 72, 80, 88, 96, 108, 120, 132, 144,
00056 156, 172, 188, 212, 240, 276, 320, 384,
00057 448, 512, 576, 640, 704, 768, 832, 896,
00058 960, 1024
00059 };
00060
00061 static const uint16_t swb_offset_128_96[] = {
00062 0, 4, 8, 12, 16, 20, 24, 32, 40, 48, 64, 92, 128
00063 };
00064
00065 static const uint16_t swb_offset_1024_64[] = {
00066 0, 4, 8, 12, 16, 20, 24, 28,
00067 32, 36, 40, 44, 48, 52, 56, 64,
00068 72, 80, 88, 100, 112, 124, 140, 156,
00069 172, 192, 216, 240, 268, 304, 344, 384,
00070 424, 464, 504, 544, 584, 624, 664, 704,
00071 744, 784, 824, 864, 904, 944, 984, 1024
00072 };
00073
00074 static const uint16_t swb_offset_1024_48[] = {
00075 0, 4, 8, 12, 16, 20, 24, 28,
00076 32, 36, 40, 48, 56, 64, 72, 80,
00077 88, 96, 108, 120, 132, 144, 160, 176,
00078 196, 216, 240, 264, 292, 320, 352, 384,
00079 416, 448, 480, 512, 544, 576, 608, 640,
00080 672, 704, 736, 768, 800, 832, 864, 896,
00081 928, 1024
00082 };
00083
00084 static const uint16_t swb_offset_128_48[] = {
00085 0, 4, 8, 12, 16, 20, 28, 36,
00086 44, 56, 68, 80, 96, 112, 128
00087 };
00088
00089 static const uint16_t swb_offset_1024_32[] = {
00090 0, 4, 8, 12, 16, 20, 24, 28,
00091 32, 36, 40, 48, 56, 64, 72, 80,
00092 88, 96, 108, 120, 132, 144, 160, 176,
00093 196, 216, 240, 264, 292, 320, 352, 384,
00094 416, 448, 480, 512, 544, 576, 608, 640,
00095 672, 704, 736, 768, 800, 832, 864, 896,
00096 928, 960, 992, 1024
00097 };
00098
00099 static const uint16_t swb_offset_1024_24[] = {
00100 0, 4, 8, 12, 16, 20, 24, 28,
00101 32, 36, 40, 44, 52, 60, 68, 76,
00102 84, 92, 100, 108, 116, 124, 136, 148,
00103 160, 172, 188, 204, 220, 240, 260, 284,
00104 308, 336, 364, 396, 432, 468, 508, 552,
00105 600, 652, 704, 768, 832, 896, 960, 1024
00106 };
00107
00108 static const uint16_t swb_offset_128_24[] = {
00109 0, 4, 8, 12, 16, 20, 24, 28,
00110 36, 44, 52, 64, 76, 92, 108, 128
00111 };
00112
00113 static const uint16_t swb_offset_1024_16[] = {
00114 0, 8, 16, 24, 32, 40, 48, 56,
00115 64, 72, 80, 88, 100, 112, 124, 136,
00116 148, 160, 172, 184, 196, 212, 228, 244,
00117 260, 280, 300, 320, 344, 368, 396, 424,
00118 456, 492, 532, 572, 616, 664, 716, 772,
00119 832, 896, 960, 1024
00120 };
00121
00122 static const uint16_t swb_offset_128_16[] = {
00123 0, 4, 8, 12, 16, 20, 24, 28,
00124 32, 40, 48, 60, 72, 88, 108, 128
00125 };
00126
00127 static const uint16_t swb_offset_1024_8[] = {
00128 0, 12, 24, 36, 48, 60, 72, 84,
00129 96, 108, 120, 132, 144, 156, 172, 188,
00130 204, 220, 236, 252, 268, 288, 308, 328,
00131 348, 372, 396, 420, 448, 476, 508, 544,
00132 580, 620, 664, 712, 764, 820, 880, 944,
00133 1024
00134 };
00135
00136 static const uint16_t swb_offset_128_8[] = {
00137 0, 4, 8, 12, 16, 20, 24, 28,
00138 36, 44, 52, 60, 72, 88, 108, 128
00139 };
00140
00141 static const uint16_t *swb_offset_1024[] = {
00142 swb_offset_1024_96, swb_offset_1024_96, swb_offset_1024_64,
00143 swb_offset_1024_48, swb_offset_1024_48, swb_offset_1024_32,
00144 swb_offset_1024_24, swb_offset_1024_24, swb_offset_1024_16,
00145 swb_offset_1024_16, swb_offset_1024_16, swb_offset_1024_8,
00146 swb_offset_1024_8
00147 };
00148
00149 static const uint16_t *swb_offset_128[] = {
00150
00151
00152 swb_offset_128_96, swb_offset_128_96, swb_offset_128_96,
00153 swb_offset_128_48, swb_offset_128_48, swb_offset_128_48,
00154 swb_offset_128_24, swb_offset_128_24, swb_offset_128_16,
00155 swb_offset_128_16, swb_offset_128_16, swb_offset_128_8,
00156 swb_offset_128_8
00157 };
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167 static const uint8_t tns_max_bands_1024[] = {
00168 31, 31, 34, 40, 42, 51, 46, 46, 42, 42, 42, 39, 39
00169 };
00170
00171 static const uint8_t tns_max_bands_128[] = {
00172 9, 9, 10, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14
00173 };
00174
00175
00176
00177
00178
00179
00180
00181
00182 static const float tns_tmp2_map_1_3[4] = {
00183 0.00000000, -0.43388373, 0.64278758, 0.34202015,
00184 };
00185
00186 static const float tns_tmp2_map_0_3[8] = {
00187 0.00000000, -0.43388373, -0.78183150, -0.97492790,
00188 0.98480773, 0.86602539, 0.64278758, 0.34202015,
00189 };
00190
00191 static const float tns_tmp2_map_1_4[8] = {
00192 0.00000000, -0.20791170, -0.40673664, -0.58778524,
00193 0.67369562, 0.52643216, 0.36124167, 0.18374951,
00194 };
00195
00196 static const float tns_tmp2_map_0_4[16] = {
00197 0.00000000, -0.20791170, -0.40673664, -0.58778524,
00198 -0.74314481, -0.86602539, -0.95105654, -0.99452192,
00199 0.99573416, 0.96182561, 0.89516330, 0.79801720,
00200 0.67369562, 0.52643216, 0.36124167, 0.18374951,
00201 };
00202
00203 static const float * const tns_tmp2_map[4] = {
00204 tns_tmp2_map_0_3,
00205 tns_tmp2_map_0_4,
00206 tns_tmp2_map_1_3,
00207 tns_tmp2_map_1_4
00208 };
00209
00210
00211 #endif