FFmpeg
|
Data tables for the QCELP decoder. More...
Go to the source code of this file.
Data Structures | |
struct | QCELPFrame |
QCELP unpacked data frame. More... | |
struct | QCELPBitmap |
Macros | |
#define | QCELP_OF(variable, bit, len) {offsetof(QCELPFrame, variable), bit, len} |
#define | QCELP_SCALE 8192. |
the final gain scalefactor before clipping into a usable output float More... | |
#define | QCELP_RATE_FULL_CODEBOOK_RATIO .01 |
#define | QCELP_RATE_HALF_CODEBOOK_RATIO 0.5 |
#define | QCELP_SQRT1887 1.373681186 |
sqrt(1.887) is the maximum of the pseudorandom white sequence used to generate the scaled codebook vector for bitrate 1/4. More... | |
#define | QCELP_LSP_SPREAD_FACTOR 0.02 |
This spread factor is used, for bitrate 1/8 and I_F_Q, to force the LSP frequencies to be at least 80 Hz apart. More... | |
#define | QCELP_LSP_OCTAVE_PREDICTOR 29.0/32 |
predictor coefficient for the conversion of LSP codes to LSP frequencies for 1/8 and I_F_Q More... | |
#define | QCELP_BANDWIDTH_EXPANSION_COEFF 0.9883 |
initial coefficient to perform bandwidth expansion on LPC More... | |
Typedefs | |
typedef struct QCELPFrame | QCELPFrame |
QCELP unpacked data frame. More... | |
typedef struct QCELPBitmap | QCELPBitmap |
typedef uint16_t | qcelp_vector[2] |
Variables | |
static const float | qcelp_hammsinc_table [4] = { -0.006822, 0.041249, -0.143459, 0.588863} |
pre-calculated table for hammsinc function Only half of the table is needed because of symmetry. More... | |
static const QCELPBitmap | qcelp_rate_full_bitmap [] |
bitmap unpacking tables for RATE_FULL More... | |
static const QCELPBitmap | qcelp_rate_half_bitmap [] |
bitmap unpacking tables for RATE_HALF More... | |
static const QCELPBitmap | qcelp_rate_quarter_bitmap [] |
bitmap unpacking tables for RATE_QUARTER More... | |
static const QCELPBitmap | qcelp_rate_octave_bitmap [] |
bitmap unpacking tables for RATE_OCTAVE More... | |
static const QCELPBitmap *const | qcelp_unpacking_bitmaps_per_rate [5] |
position of the bitmapping data for each packet type in the QCELPContext More... | |
static const uint16_t | qcelp_unpacking_bitmaps_lengths [5] |
static const qcelp_vector | qcelp_lspvq1 [64] |
LSP vector quantization tables in x*10000 form. More... | |
static const qcelp_vector | qcelp_lspvq2 [128] |
static const qcelp_vector | qcelp_lspvq3 [128] |
static const qcelp_vector | qcelp_lspvq4 [64] |
static const qcelp_vector | qcelp_lspvq5 [64] |
static const qcelp_vector *const | qcelp_lspvq [5] |
static const float | qcelp_g12ga [61] |
table for computing Ga (decoded linear codebook gain magnitude) More... | |
static const int16_t | qcelp_rate_full_codebook [128] |
circular codebook for rate 1 frames in x*100 form More... | |
static const int8_t | qcelp_rate_half_codebook [128] |
circular codebook for rate 1/2 frames in x*2 form More... | |
static const double | qcelp_rnd_fir_coefs [11] |
table for impulse response of BPF used to filter the white excitation for bitrate 1/4 synthesis More... | |
Detailed Description
Data tables for the QCELP decoder.
- Remarks
- FFmpeg merging spearheaded by Kenan Gillet
- Development mentored by Benjamin Larson
Definition in file qcelpdata.h.
Macro Definition Documentation
#define QCELP_BANDWIDTH_EXPANSION_COEFF 0.9883 |
initial coefficient to perform bandwidth expansion on LPC
- Note
- : 0.9883 looks like an approximation of 253/256.
TIA/EIA/IS-733 2.4.3.3.6 6
Definition at line 550 of file qcelpdata.h.
Referenced by lspf2lpc().
#define QCELP_LSP_OCTAVE_PREDICTOR 29.0/32 |
predictor coefficient for the conversion of LSP codes to LSP frequencies for 1/8 and I_F_Q
TIA/EIA/IS-733 2.4.3.2.7-2
Definition at line 541 of file qcelpdata.h.
Referenced by decode_lspf().
#define QCELP_LSP_SPREAD_FACTOR 0.02 |
This spread factor is used, for bitrate 1/8 and I_F_Q, to force the LSP frequencies to be at least 80 Hz apart.
TIA/EIA/IS-733 2.4.3.3.2
Definition at line 533 of file qcelpdata.h.
Referenced by decode_lspf().
#define QCELP_OF | ( | variable, | |
bit, | |||
len | |||
) | {offsetof(QCELPFrame, variable), bit, len} |
Definition at line 82 of file qcelpdata.h.
#define QCELP_RATE_FULL_CODEBOOK_RATIO .01 |
Definition at line 477 of file qcelpdata.h.
Referenced by compute_svector().
#define QCELP_RATE_HALF_CODEBOOK_RATIO 0.5 |
Definition at line 502 of file qcelpdata.h.
Referenced by compute_svector().
#define QCELP_SCALE 8192. |
the final gain scalefactor before clipping into a usable output float
Definition at line 425 of file qcelpdata.h.
#define QCELP_SQRT1887 1.373681186 |
sqrt(1.887) is the maximum of the pseudorandom white sequence used to generate the scaled codebook vector for bitrate 1/4.
TIA/EIA/IS-733 2.4.8.1.2
Definition at line 511 of file qcelpdata.h.
Referenced by compute_svector().
Typedef Documentation
typedef uint16_t qcelp_vector[2] |
Definition at line 284 of file qcelpdata.h.
typedef struct QCELPBitmap QCELPBitmap |
typedef struct QCELPFrame QCELPFrame |
QCELP unpacked data frame.
Variable Documentation
|
static |
table for computing Ga (decoded linear codebook gain magnitude)
- Note
- The table could fit in int16_t in x*8 form, but it seems to be slower on x86
TIA/EIA/IS-733 2.4.6.2.1-3
Definition at line 436 of file qcelpdata.h.
Referenced by decode_gain_and_index().
|
static |
pre-calculated table for hammsinc function Only half of the table is needed because of symmetry.
TIA/EIA/IS-733 2.4.5.2-2/3
Definition at line 74 of file qcelpdata.h.
Referenced by do_pitchfilter().
|
static |
Definition at line 414 of file qcelpdata.h.
Referenced by decode_lspf().
|
static |
LSP vector quantization tables in x*10000 form.
TIA/EIA/IS-733 tables 2.4.3.2.6.3-1 through 2.4.3.2.6.3-5
Definition at line 292 of file qcelpdata.h.
|
static |
Definition at line 310 of file qcelpdata.h.
|
static |
Definition at line 344 of file qcelpdata.h.
|
static |
Definition at line 378 of file qcelpdata.h.
|
static |
Definition at line 396 of file qcelpdata.h.
|
static |
bitmap unpacking tables for RATE_FULL
TIA/EIA/IS-733 Table 2.4.7.1-1
Definition at line 89 of file qcelpdata.h.
|
static |
circular codebook for rate 1 frames in x*100 form
TIA/EIA/IS-733 2.4.6.1-2
Definition at line 459 of file qcelpdata.h.
Referenced by compute_svector().
|
static |
bitmap unpacking tables for RATE_HALF
TIA/EIA/IS-733 Table 2.4.7.2-1
Definition at line 176 of file qcelpdata.h.
|
static |
circular codebook for rate 1/2 frames in x*2 form
TIA/EIA/IS-733 2.4.6.1-1
Definition at line 484 of file qcelpdata.h.
Referenced by compute_svector().
|
static |
bitmap unpacking tables for RATE_OCTAVE
trick: CBSEED is written into QCELPContext.cbsign[15], which is not used for RATE_OCTAVE. CBSEED is only used to ensure the occurrence of random bit patterns in the 16 first bits that are used as the seed.
TIA/EIA/IS-733 Table 2.4.7.4-1
Definition at line 244 of file qcelpdata.h.
|
static |
bitmap unpacking tables for RATE_QUARTER
TIA/EIA/IS-733 Table 2.4.7.3-1
Definition at line 218 of file qcelpdata.h.
|
static |
table for impulse response of BPF used to filter the white excitation for bitrate 1/4 synthesis
Only half the tables are needed because of symmetry.
TIA/EIA/IS-733 2.4.8.1.2-1.1
Definition at line 521 of file qcelpdata.h.
Referenced by compute_svector().
|
static |
Definition at line 276 of file qcelpdata.h.
Referenced by qcelp_decode_frame().
|
static |
position of the bitmapping data for each packet type in the QCELPContext
Definition at line 268 of file qcelpdata.h.
Referenced by qcelp_decode_frame().
Generated on Fri Dec 20 2024 06:56:15 for FFmpeg by 1.8.11