|
FFmpeg
|
#include "libavutil/channel_layout.h"#include "libavutil/float_dsp.h"#include "libavutil/mem_internal.h"#include "avcodec.h"#include "put_bits.h"#include "aac.h"#include "audio_frame_queue.h"#include "psymodel.h"#include "lpc.h"Go to the source code of this file.
Data Structures | |
| struct | AACEncOptions |
| struct | AACCoefficientsEncoder |
| struct | AACQuantizeBandCostCacheEntry |
| struct | AACPCEInfo |
| struct | AACEncContext |
| AAC encoder context. More... | |
Enumerations | |
| enum | AACCoder { AAC_CODER_ANMR = 0, AAC_CODER_TWOLOOP, AAC_CODER_FAST, AAC_CODER_NB } |
Functions | |
| void | ff_aac_dsp_init_x86 (AACEncContext *s) |
| void | ff_aac_coder_init_mips (AACEncContext *c) |
| void | ff_quantize_band_cost_cache_init (struct AACEncContext *s) |
Variables | |
| const AACCoefficientsEncoder | ff_aac_coders [] |
| static const AACPCEInfo | aac_pce_configs [] |
| List of PCE (Program Configuration Element) for the channel layouts listed in channel_layout.h. More... | |
| enum AACCoder |
| void ff_aac_dsp_init_x86 | ( | AACEncContext * | s | ) |
Definition at line 35 of file aacencdsp_init.c.
Referenced by aac_encode_init().
| void ff_aac_coder_init_mips | ( | AACEncContext * | c | ) |
Definition at line 2484 of file aaccoder_mips.c.
Referenced by aac_encode_init().
| void ff_quantize_band_cost_cache_init | ( | struct AACEncContext * | s | ) |
Definition at line 126 of file aacenc.c.
Referenced by search_for_quantizers_fast(), and search_for_quantizers_twoloop().
| const AACCoefficientsEncoder ff_aac_coders[] |
Definition at line 896 of file aaccoder.c.
Referenced by aac_encode_init().
|
static |
List of PCE (Program Configuration Element) for the channel layouts listed in channel_layout.h.
For those wishing in the future to add other layouts:
index: there are three independent indices for SCE, CPE and LFE; they are incremented irrespective of the group to which the element belongs; they are not reset when going from one group to another
Example: for 7.0 channel layout, .pairing = { { 1, 0 }, { 1 }, { 1 }, }, (3 CPE and 1 SCE in front group) .index = { { 0, 0 }, { 1 }, { 2 }, }, (index is 0 for the single SCE but goes from 0 to 2 for the CPEs)
The index order impacts the channel ordering. But is otherwise arbitrary (the sequence could have been 2, 0, 1 instead of 0, 1, 2).
Spec allows for discontinuous indices, e.g. if one has a total of two SCE, SCE.0 SCE.15 is OK per spec; BUT it won't be decoded by our AAC decoder which at this time requires that indices fully cover some range starting from 0 (SCE.1 SCE.0 is OK but not SCE.0 SCE.15).
Definition at line 140 of file aacenc.h.
Referenced by aac_encode_init().
1.8.17