libavcodec/psymodel.h File Reference

#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.
FFPsyChannelGroupff_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 Documentation

#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.


Function Documentation

av_cold void ff_psy_end ( FFPsyContext ctx  ) 

Cleanup model context at the end.

Parameters:
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.

Parameters:
ctx psymodel context
channel channel to locate the group for
Returns:
pointer to the FFPsyChannelGroup this channel belongs to

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.

Parameters:
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
Returns:
zero if successful, a negative value if not

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.

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


Generated on Fri Oct 26 02:43:49 2012 for FFmpeg by  doxygen 1.5.8