2 * Copyright (c) 2012 Andrew D'Addesio
3 * Copyright (c) 2013-2014 Mozilla Corporation
4 * Copyright (c) 2016 Rostislav Pehlivanov <atomnuker@gmail.com>
6 * This file is part of FFmpeg.
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.
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.
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
23 #ifndef AVCODEC_OPUSTAB_H
24 #define AVCODEC_OPUSTAB_H
26 #include "libavutil/mem.h"
30 extern const uint8_t ff_celt_band_end[];
32 extern const uint8_t ff_opus_default_coupled_streams[];
34 extern const uint16_t ff_silk_model_stereo_s1[];
35 extern const uint16_t ff_silk_model_stereo_s2[];
36 extern const uint16_t ff_silk_model_stereo_s3[];
37 extern const uint16_t ff_silk_model_mid_only[];
39 extern const uint16_t ff_silk_model_frame_type_inactive[];
40 extern const uint16_t ff_silk_model_frame_type_active[];
42 extern const uint16_t ff_silk_model_gain_highbits[3][9];
43 extern const uint16_t ff_silk_model_gain_lowbits[];
44 extern const uint16_t ff_silk_model_gain_delta[];
46 extern const uint16_t ff_silk_model_lsf_s1[2][2][33];
47 extern const uint16_t ff_silk_model_lsf_s2[32][10];
48 extern const uint16_t ff_silk_model_lsf_s2_ext[];
49 extern const uint16_t ff_silk_model_lsf_interpolation_offset[];
51 extern const uint16_t ff_silk_model_pitch_highbits[];
52 extern const uint16_t ff_silk_model_pitch_lowbits_nb[];
53 extern const uint16_t ff_silk_model_pitch_lowbits_mb[];
54 extern const uint16_t ff_silk_model_pitch_lowbits_wb[];
55 extern const uint16_t ff_silk_model_pitch_delta[];
56 extern const uint16_t ff_silk_model_pitch_contour_nb10ms[];
57 extern const uint16_t ff_silk_model_pitch_contour_nb20ms[];
58 extern const uint16_t ff_silk_model_pitch_contour_mbwb10ms[];
59 extern const uint16_t ff_silk_model_pitch_contour_mbwb20ms[];
61 extern const uint16_t ff_silk_model_ltp_filter[];
62 extern const uint16_t ff_silk_model_ltp_filter0_sel[];
63 extern const uint16_t ff_silk_model_ltp_filter1_sel[];
64 extern const uint16_t ff_silk_model_ltp_filter2_sel[];
65 extern const uint16_t ff_silk_model_ltp_scale_index[];
67 extern const uint16_t ff_silk_model_lcg_seed[];
69 extern const uint16_t ff_silk_model_exc_rate[2][10];
71 extern const uint16_t ff_silk_model_pulse_count[11][19];
72 extern const uint16_t ff_silk_model_pulse_location[4][168];
74 extern const uint16_t ff_silk_model_excitation_lsb[];
75 extern const uint16_t ff_silk_model_excitation_sign[3][2][7][3];
77 extern const int16_t ff_silk_stereo_weights[];
79 extern const uint8_t ff_silk_lsf_s2_model_sel_nbmb[32][10];
80 extern const uint8_t ff_silk_lsf_s2_model_sel_wb[32][16];
82 extern const uint8_t ff_silk_lsf_pred_weights_nbmb[2][9];
83 extern const uint8_t ff_silk_lsf_pred_weights_wb[2][15];
85 extern const uint8_t ff_silk_lsf_weight_sel_nbmb[32][9];
86 extern const uint8_t ff_silk_lsf_weight_sel_wb[32][15];
88 extern const uint8_t ff_silk_lsf_codebook_nbmb[32][10];
89 extern const uint8_t ff_silk_lsf_codebook_wb[32][16];
91 extern const uint16_t ff_silk_lsf_min_spacing_nbmb[];
92 extern const uint16_t ff_silk_lsf_min_spacing_wb[];
94 extern const uint8_t ff_silk_lsf_ordering_nbmb[];
95 extern const uint8_t ff_silk_lsf_ordering_wb[];
97 extern const int16_t ff_silk_cosine[];
99 extern const uint16_t ff_silk_pitch_scale[];
100 extern const uint16_t ff_silk_pitch_min_lag[];
101 extern const uint16_t ff_silk_pitch_max_lag[];
103 extern const int8_t ff_silk_pitch_offset_nb10ms[3][2];
104 extern const int8_t ff_silk_pitch_offset_nb20ms[11][4];
105 extern const int8_t ff_silk_pitch_offset_mbwb10ms[12][2];
106 extern const int8_t ff_silk_pitch_offset_mbwb20ms[34][4];
108 extern const int8_t ff_silk_ltp_filter0_taps[8][5];
109 extern const int8_t ff_silk_ltp_filter1_taps[16][5];
110 extern const int8_t ff_silk_ltp_filter2_taps[32][5];
112 extern const uint16_t ff_silk_ltp_scale_factor[];
114 extern const uint8_t ff_silk_shell_blocks[3][2];
116 extern const uint8_t ff_silk_quant_offset[2][2];
118 extern const int ff_silk_stereo_interp_len[3];
120 extern const uint16_t ff_celt_model_tapset[];
121 extern const uint16_t ff_celt_model_spread[];
122 extern const uint16_t ff_celt_model_alloc_trim[];
123 extern const uint16_t ff_celt_model_energy_small[];
125 extern const uint8_t ff_celt_freq_bands[];
126 extern const uint8_t ff_celt_freq_range[];
127 extern const uint8_t ff_celt_log_freq_range[];
129 extern const int8_t ff_celt_tf_select[4][2][2][2];
131 extern const float ff_celt_mean_energy[];
133 extern const float ff_celt_alpha_coef[];
134 extern const float ff_celt_beta_coef[];
136 extern const uint8_t ff_celt_coarse_energy_dist[4][2][42];
138 extern const uint8_t ff_celt_static_alloc[11][21];
139 extern const uint8_t ff_celt_static_caps[4][2][21];
141 extern const uint8_t ff_celt_cache_bits[392];
142 extern const int16_t ff_celt_cache_index[105];
144 extern const uint8_t ff_celt_log2_frac[];
146 extern const uint8_t ff_celt_bit_interleave[];
147 extern const uint8_t ff_celt_bit_deinterleave[];
149 extern const uint8_t ff_celt_hadamard_order[];
151 extern const uint16_t ff_celt_qn_exp2[];
152 extern const uint32_t ff_celt_pvq_u[1272];
154 extern const float ff_celt_postfilter_taps[3][3];
156 extern const float ff_celt_window2[120];
158 DECLARE_ALIGNED(32, extern const float, ff_celt_window)[120];
160 extern const uint32_t * const ff_celt_pvq_u_row[15];
162 #endif /* AVCODEC_OPUSTAB_H */