FFmpeg
|
#include "avcodec.h"
Go to the source code of this file.
Data Structures | |
struct | FFPsyBand |
single band psychoacoustic information More... | |
struct | FFPsyChannel |
single channel psychoacoustic information More... | |
struct | FFPsyChannelGroup |
psychoacoustic information for an arbitrary group of channels More... | |
struct | FFPsyWindowInfo |
windowing related information More... | |
struct | FFPsyContext |
context used by psychoacoustic model More... | |
struct | FFPsyModel |
codec-specific psychoacoustic model implementation More... | |
Macros | |
#define | PSY_MAX_BANDS 128 |
maximum possible number of bands More... | |
#define | PSY_MAX_CHANS 20 |
maximum number of channels More... | |
#define | AAC_CUTOFF(s) ((s)->bit_rate ? FFMIN3(4000 + (s)->bit_rate/8, 12000 + (s)->bit_rate/32, (s)->sample_rate / 2) : ((s)->sample_rate / 2)) |
Functions | |
int | ff_psy_init (FFPsyContext *ctx, AVCodecContext *avctx, int num_lens, const uint8_t **bands, const int *num_bands, int num_groups, const uint8_t *group_map) |
Initialize psychoacoustic model. More... | |
FFPsyChannelGroup * | ff_psy_find_group (FFPsyContext *ctx, int channel) |
Determine what group a channel belongs to. More... | |
void | ff_psy_end (FFPsyContext *ctx) |
Cleanup model context at the end. More... | |
struct FFPsyPreprocessContext * | ff_psy_preprocess_init (AVCodecContext *avctx) |
psychoacoustic model audio preprocessing initialization More... | |
void | ff_psy_preprocess (struct FFPsyPreprocessContext *ctx, float **audio, int channels) |
Preprocess several channel in audio frame in order to compress it better. More... | |
void | ff_psy_preprocess_end (struct FFPsyPreprocessContext *ctx) |
Cleanup audio preprocessing module. More... | |
#define PSY_MAX_BANDS 128 |
maximum possible number of bands
Definition at line 28 of file psymodel.h.
#define PSY_MAX_CHANS 20 |
maximum number of channels
Definition at line 30 of file psymodel.h.
#define AAC_CUTOFF | ( | s | ) | ((s)->bit_rate ? FFMIN3(4000 + (s)->bit_rate/8, 12000 + (s)->bit_rate/32, (s)->sample_rate / 2) : ((s)->sample_rate / 2)) |
Definition at line 32 of file psymodel.h.
Referenced by ff_psy_preprocess_init(), and psy_3gpp_init().
int ff_psy_init | ( | FFPsyContext * | ctx, |
AVCodecContext * | avctx, | ||
int | num_lens, | ||
const uint8_t ** | bands, | ||
const int * | num_bands, | ||
int | num_groups, | ||
const uint8_t * | group_map | ||
) |
Initialize psychoacoustic model.
ctx | model context |
avctx | codec context |
num_lens | number of possible frame lengths |
bands | scalefactor band lengths for all frame lengths |
num_bands | number of scalefactor bands for all frame lengths |
num_groups | number of channel groups |
group_map | array with # of channels in group - 1, for each group |
Definition at line 31 of file psymodel.c.
Referenced by aac_encode_init().
FFPsyChannelGroup* ff_psy_find_group | ( | FFPsyContext * | ctx, |
int | channel | ||
) |
Determine what group a channel belongs to.
ctx | psymodel context |
channel | channel to locate the group for |
Definition at line 72 of file psymodel.c.
Referenced by psy_3gpp_analyze().
void ff_psy_end | ( | FFPsyContext * | ctx | ) |
Cleanup model context at the end.
ctx | model context |
Definition at line 82 of file psymodel.c.
Referenced by aac_encode_end(), and ff_psy_init().
struct FFPsyPreprocessContext* ff_psy_preprocess_init | ( | AVCodecContext * | avctx | ) |
psychoacoustic model audio preprocessing initialization
Definition at line 102 of file psymodel.c.
Referenced by aac_encode_init().
void ff_psy_preprocess | ( | struct FFPsyPreprocessContext * | ctx, |
float ** | audio, | ||
int | channels | ||
) |
Preprocess several channel in audio frame in order to compress it better.
ctx | preprocessing context |
audio | samples to be filtered (in place) |
channels | number of channel to preprocess |
Definition at line 137 of file psymodel.c.
Referenced by aac_encode_frame().
void ff_psy_preprocess_end | ( | struct FFPsyPreprocessContext * | ctx | ) |
Cleanup audio preprocessing module.
Definition at line 150 of file psymodel.c.
Referenced by aac_encode_end().