FFmpeg
Loading...
Searching...
No Matches
aactab.h
Go to the documentation of this file.
1/*
2 * AAC data declarations
3 * Copyright (c) 2005-2006 Oded Shimon ( ods15 ods15 dyndns org )
4 * Copyright (c) 2006-2007 Maxim Gavrilov ( maxim.gavrilov gmail com )
5 *
6 * This file is part of FFmpeg.
7 *
8 * FFmpeg is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
12 *
13 * FFmpeg is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with FFmpeg; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 */
22
23/**
24 * @file
25 * AAC data declarations
26 * @author Oded Shimon ( ods15 ods15 dyndns org )
27 * @author Maxim Gavrilov ( maxim.gavrilov gmail com )
28 */
29
30#ifndef AVCODEC_AACTAB_H
31#define AVCODEC_AACTAB_H
32
34
35#include <stdint.h>
36
37/* NOTE:
38 * Tables in this file are shared by the AAC decoders and encoder
39 */
40
41extern float ff_aac_pow2sf_tab[428];
42extern float ff_aac_pow34sf_tab[428];
43
44/* @name ltp_coef
45 * Table of the LTP coefficients
46 */
47extern const float ff_ltp_coef[8];
48
49/* @name tns_tmp2_map
50 * Tables of the tmp2[] arrays of LPC coefficients used for TNS.
51 * @{
52 */
53extern const float *const ff_tns_tmp2_map[4];
54// @}
55
56/* @name window coefficients
57 * @{
58 */
59DECLARE_ALIGNED(32, extern float, ff_aac_kbd_long_1024)[1024];
60DECLARE_ALIGNED(32, extern float, ff_aac_kbd_short_128)[128];
61DECLARE_ALIGNED(32, extern const float, ff_aac_eld_window_512)[1920];
62DECLARE_ALIGNED(32, extern const int, ff_aac_eld_window_512_fixed)[1920];
63DECLARE_ALIGNED(32, extern const float, ff_aac_eld_window_480)[1800];
64DECLARE_ALIGNED(32, extern const int, ff_aac_eld_window_480_fixed)[1800];
65// @}
66
67/* Initializes data shared between float decoder and encoder. */
69
70/* @name number of scalefactor window bands for long and short transform windows respectively
71 * @{
72 */
73extern const uint8_t ff_aac_num_swb_1024[];
74extern const uint8_t ff_aac_num_swb_960 [];
75extern const uint8_t ff_aac_num_swb_768 [];
76extern const uint8_t ff_aac_num_swb_512 [];
77extern const uint8_t ff_aac_num_swb_480 [];
78extern const uint8_t ff_aac_num_swb_128 [];
79#define ff_aac_num_swb_120 ff_aac_num_swb_128
80extern const uint8_t ff_aac_num_swb_96 [];
81// @}
82
83extern const uint8_t ff_aac_pred_sfb_max [];
84
85extern const uint32_t ff_aac_scalefactor_code[121];
86extern const uint8_t ff_aac_scalefactor_bits[121];
87
88extern const uint16_t * const ff_aac_spectral_codes[11];
89extern const uint8_t * const ff_aac_spectral_bits [11];
90extern const uint16_t ff_aac_spectral_sizes[11];
91
92extern const float *const ff_aac_codebook_vectors[];
93extern const float *const ff_aac_codebook_vector_vals[];
94extern const uint16_t *const ff_aac_codebook_vector_idx[];
95
96extern const uint16_t ff_aac_ac_msb_cdfs[64][17];
97extern const uint16_t ff_aac_ac_lsb_cdfs[3][4];
98extern const uint8_t ff_aac_ac_lookup_m[742];
99extern const uint32_t ff_aac_ac_hash_m[742];
100extern const uint16_t ff_aac_ac_cf_m[64][17];
101
102extern const uint16_t * const ff_swb_offset_1024[13];
103extern const uint16_t * const ff_swb_offset_960 [13];
104extern const uint16_t * const ff_swb_offset_768 [13];
105extern const uint16_t * const ff_swb_offset_512 [13];
106extern const uint16_t * const ff_swb_offset_480 [13];
107extern const uint16_t * const ff_swb_offset_128 [13];
108extern const uint16_t * const ff_swb_offset_120 [13];
109extern const uint16_t * const ff_swb_offset_96 [13];
110
111extern const uint8_t ff_tns_max_bands_1024[13];
112extern const uint8_t ff_tns_max_bands_512 [13];
113extern const uint8_t ff_tns_max_bands_480 [13];
114extern const uint8_t ff_tns_max_bands_128 [13];
115
116extern const uint8_t ff_tns_max_bands_usac_1024[13];
117extern const uint8_t ff_tns_max_bands_usac_128[13];
118
119/* [x][y], x == 1 -> frame len is 768 frames, y == 1 -> is eight_short */
120extern const uint8_t ff_usac_noise_fill_start_offset[2][2];
121
122extern const int ff_aac_usac_samplerate[32];
123
124/* Window type (only long+eight, start/stop/stopstart), sine+sine, kbd+kbd, sine+kbd, kbd+sine */
125extern const float ff_aac_usac_mdst_filt_cur[4 /* Window */][4 /* Shape */][7];
126
127#endif /* AVCODEC_AACTAB_H */
const int ff_aac_usac_samplerate[32]
Definition aactab.c:3877
const float *const ff_aac_codebook_vectors[]
Definition aactab.c:1026
const uint32_t ff_aac_scalefactor_code[121]
Definition aactab.c:181
const float ff_ltp_coef[8]
Definition aactab.c:110
const int ff_aac_eld_window_512_fixed[1920]
Definition aactab.c:2488
const uint16_t ff_aac_ac_lsb_cdfs[3][4]
Definition aactab.c:1331
const uint8_t ff_aac_num_swb_960[]
Definition aactab.c:153
const float ff_aac_eld_window_480[1800]
Definition aactab.c:2971
const uint16_t ff_aac_ac_msb_cdfs[64][17]
Definition aactab.c:1200
const uint8_t ff_aac_num_swb_96[]
Definition aactab.c:173
const uint32_t ff_aac_ac_hash_m[742]
Definition aactab.c:1387
const uint8_t ff_aac_ac_lookup_m[742]
Definition aactab.c:1337
const int ff_aac_eld_window_480_fixed[1800]
Definition aactab.c:3424
const uint8_t ff_tns_max_bands_512[]
Definition aactab.c:1982
const uint8_t ff_tns_max_bands_1024[]
Definition aactab.c:1974
const uint16_t *const ff_swb_offset_128[]
Definition aactab.c:1940
const uint16_t *const ff_swb_offset_120[]
Definition aactab.c:1950
const uint8_t ff_aac_num_swb_480[]
Definition aactab.c:165
const uint8_t ff_aac_pred_sfb_max[]
Definition aactab.c:177
const uint16_t *const ff_swb_offset_1024[]
Definition aactab.c:1900
const uint8_t ff_aac_num_swb_768[]
Definition aactab.c:157
const uint8_t ff_aac_scalefactor_bits[121]
Definition aactab.c:200
const uint16_t *const ff_swb_offset_96[]
Definition aactab.c:1958
const uint16_t *const ff_aac_codebook_vector_idx[]
Definition aactab.c:1191
const uint16_t *const ff_swb_offset_960[]
Definition aactab.c:1908
const uint16_t *const ff_swb_offset_480[]
Definition aactab.c:1932
const float ff_aac_usac_mdst_filt_cur[4][4][7]
Definition aactab.c:3885
const uint8_t ff_aac_num_swb_1024[]
Definition aactab.c:149
const uint8_t ff_aac_num_swb_128[]
Definition aactab.c:169
const uint8_t ff_tns_max_bands_usac_128[]
Definition aactab.c:1994
const float ff_aac_eld_window_512[1920]
Definition aactab.c:2004
const uint8_t ff_tns_max_bands_480[]
Definition aactab.c:1986
const uint8_t *const ff_aac_spectral_bits[11]
Definition aactab.c:530
const uint8_t ff_aac_num_swb_512[]
Definition aactab.c:161
const uint8_t ff_usac_noise_fill_start_offset[2][2]
Definition aactab.c:1999
const uint16_t ff_aac_spectral_sizes[11]
Definition aactab.c:535
const uint16_t *const ff_swb_offset_768[]
Definition aactab.c:1916
const uint16_t *const ff_aac_spectral_codes[11]
Definition aactab.c:525
const uint8_t ff_tns_max_bands_usac_1024[]
Definition aactab.c:1978
const uint8_t ff_tns_max_bands_128[]
Definition aactab.c:1990
const float *const ff_aac_codebook_vector_vals[]
Definition aactab.c:1182
const float *const ff_tns_tmp2_map[4]
Definition aactab.c:142
const uint16_t *const ff_swb_offset_512[]
Definition aactab.c:1924
float ff_aac_kbd_long_1024[1024]
const uint16_t ff_aac_ac_cf_m[64][17]
float ff_aac_pow2sf_tab[428]
void ff_aac_float_common_init(void)
float ff_aac_pow34sf_tab[428]
float ff_aac_kbd_short_128[128]
#define DECLARE_ALIGNED(n, t, v)
Declare a variable that is aligned in memory.