#include "avcodec.h"
#include "psymodel.h"
#include "iirfilter.h"
Go to the source code of this file.
Data Structures | |
struct | FFPsyPreprocessContext |
Defines | |
#define | FILT_ORDER 4 |
Functions | |
av_cold int | ff_psy_init (FFPsyContext *ctx, AVCodecContext *avctx, int num_lens, const uint8_t **bands, const int *num_bands) |
Initialize psychoacoustic model. | |
FFPsyWindowInfo | ff_psy_suggest_window (FFPsyContext *ctx, const int16_t *audio, const int16_t *la, int channel, int prev_type) |
Suggest window sequence for channel. | |
void | ff_psy_set_band_info (FFPsyContext *ctx, int channel, const float *coeffs, FFPsyWindowInfo *wi) |
Perform psychoacoustic analysis and set band info (threshold, energy). | |
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. | |
Variables | |
const FFPsyModel | ff_aac_psy_model |
#define FILT_ORDER 4 |
av_cold void ff_psy_end | ( | FFPsyContext * | ctx | ) |
Cleanup model context at the end.
ctx | model context |
Definition at line 61 of file psymodel.c.
Referenced by aac_encode_end().
av_cold int ff_psy_init | ( | FFPsyContext * | ctx, | |
AVCodecContext * | avctx, | |||
int | num_lens, | |||
const uint8_t ** | bands, | |||
const int * | num_bands | |||
) |
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 |
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 101 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 118 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 79 of file psymodel.c.
Referenced by aac_encode_init().
void ff_psy_set_band_info | ( | FFPsyContext * | ctx, | |
int | channel, | |||
const float * | coeffs, | |||
FFPsyWindowInfo * | wi | |||
) |
Perform psychoacoustic analysis and set band info (threshold, energy).
ctx | model context | |
channel | audio channel number | |
coeffs | pointer to the transformed coefficients | |
wi | window information |
Definition at line 55 of file psymodel.c.
Referenced by aac_encode_frame().
FFPsyWindowInfo ff_psy_suggest_window | ( | FFPsyContext * | ctx, | |
const int16_t * | audio, | |||
const int16_t * | la, | |||
int | channel, | |||
int | prev_type | |||
) |
Suggest window sequence for channel.
ctx | model context | |
audio | samples for the current frame | |
la | lookahead samples (NULL when unavailable) | |
channel | number of channel element to analyze | |
prev_type | previous window type |
Definition at line 48 of file psymodel.c.
Referenced by aac_encode_frame().
const FFPsyModel ff_aac_psy_model |