#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... | |
Defines | |
#define | PSY_MAX_BANDS 128 |
maximum possible number of bands | |
#define | PSY_MAX_CHANS 20 |
maximum number of channels | |
Functions | |
av_cold 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. | |
FFPsyChannelGroup * | ff_psy_find_group (FFPsyContext *ctx, int channel) |
Determine what group a channel belongs to. | |
av_cold void | ff_psy_end (FFPsyContext *ctx) |
Cleanup model context at the end. | |
av_cold struct FFPsyPreprocessContext * | ff_psy_preprocess_init (AVCodecContext *avctx) |
psychoacoustic model audio preprocessing initialization | |
void | ff_psy_preprocess (struct FFPsyPreprocessContext *ctx, const int16_t *audio, int16_t *dest, int tag, int channels) |
Preprocess several channel in audio frame in order to compress it better. | |
av_cold void | ff_psy_preprocess_end (struct FFPsyPreprocessContext *ctx) |
Cleanup audio preprocessing module. |
#define PSY_MAX_BANDS 128 |
#define PSY_MAX_CHANS 20 |
av_cold void ff_psy_end | ( | FFPsyContext * | ctx | ) |
Cleanup model context at the end.
ctx | model context |
Definition at line 73 of file psymodel.c.
Referenced by aac_encode_end().
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 63 of file psymodel.c.
Referenced by psy_3gpp_analyze().
av_cold 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 28 of file psymodel.c.
Referenced by aac_encode_init().
void ff_psy_preprocess | ( | struct FFPsyPreprocessContext * | ctx, | |
const int16_t * | audio, | |||
int16_t * | dest, | |||
int | tag, | |||
int | channels | |||
) |
Preprocess several channel in audio frame in order to compress it better.
ctx | preprocessing context | |
audio | samples to preprocess | |
dest | place to put filtered samples | |
tag | channel number | |
channels | number of channel to preprocess (some additional work may be done on stereo pair) |
Definition at line 115 of file psymodel.c.
Referenced by aac_encode_frame().
av_cold void ff_psy_preprocess_end | ( | struct FFPsyPreprocessContext * | ctx | ) |
Cleanup audio preprocessing module.
Definition at line 132 of file psymodel.c.
Referenced by aac_encode_end().
av_cold struct FFPsyPreprocessContext* ff_psy_preprocess_init | ( | AVCodecContext * | avctx | ) | [read] |
psychoacoustic model audio preprocessing initialization
Definition at line 92 of file psymodel.c.
Referenced by aac_encode_init().