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().