zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
psy.h File Reference
#include "smallft.h"
#include "backends.h"
#include "envelope.h"

Go to the source code of this file.

Classes

struct  vorbis_info_psy
 
struct  vorbis_info_psy_global
 
struct  vorbis_look_psy
 
struct  vorbis_look_psy_global
 

Macros

#define NOISE_COMPAND_LEVELS   40
 
#define P_BANDS   17 /* 62Hz to 16kHz */
 
#define P_LEVEL_0   30. /* 30 dB */
 
#define P_LEVELS   8 /* 30dB to 100dB */
 
#define P_NOISECURVES   3
 

Typedefs

typedef struct vorbis_info_psy vorbis_info_psy
 

Functions

vorbis_info_psy_vi_psy_copy (vorbis_info_psy *i)
 
void_vi_psy_dup (void *source)
 
void _vi_psy_free (vorbis_info_psy *i)
 
float _vp_ampmax_decay (float amp, vorbis_dsp_state *vd)
 
void _vp_couple_quantize_normalize (int blobno, vorbis_info_psy_global *g, vorbis_look_psy *p, vorbis_info_mapping0 *vi, float **mdct, int **iwork, int *nonzero, int sliding_lowpass, int ch)
 
void _vp_noisemask (vorbis_look_psy *p, float *logmdct, float *logmask)
 
void _vp_offset_and_mix (vorbis_look_psy *p, float *noise, float *tone, int offset_select, float *logmask, float *mdct, float *logmdct)
 
void _vp_psy_clear (vorbis_look_psy *p)
 
void _vp_psy_init (vorbis_look_psy *p, vorbis_info_psy *vi, vorbis_info_psy_global *gi, int n, long rate)
 
void _vp_tonemask (vorbis_look_psy *p, float *logfft, float *logmask, float global_specmax, float local_specmax)
 

Macro Definition Documentation

#define NOISE_COMPAND_LEVELS   40

Definition at line 35 of file psy.h.

Referenced by _vp_noisemask(), and vorbis_encode_compand_setup().

#define P_BANDS   17 /* 62Hz to 16kHz */
#define P_LEVEL_0   30. /* 30 dB */

Definition at line 32 of file psy.h.

Referenced by seed_curve(), and setup_tone_curves().

#define P_LEVELS   8 /* 30dB to 100dB */

Definition at line 31 of file psy.h.

Referenced by _vp_psy_clear(), seed_curve(), and setup_tone_curves().

#define P_NOISECURVES   3

Definition at line 33 of file psy.h.

Referenced by _vp_psy_clear(), _vp_psy_init(), and vorbis_encode_noisebias_setup().

Typedef Documentation

Function Documentation

vorbis_info_psy* _vi_psy_copy ( vorbis_info_psy i)
void* _vi_psy_dup ( void source)
void _vi_psy_free ( vorbis_info_psy i)

Definition at line 62 of file psy.c.

References _ogg_free, and memset.

Referenced by vorbis_info_clear().

void _vp_couple_quantize_normalize ( int  blobno,
vorbis_info_psy_global g,
vorbis_look_psy p,
vorbis_info_mapping0 vi,
float **  mdct,
int **  iwork,
int nonzero,
int  sliding_lowpass,
int  ch 
)
void _vp_noisemask ( vorbis_look_psy p,
float *  logmdct,
float *  logmask 
)
void _vp_offset_and_mix ( vorbis_look_psy p,
float *  noise,
float *  tone,
int  offset_select,
float *  logmask,
float *  mdct,
float *  logmdct 
)

@ M1 ** The following codes improve a noise problem. A fundamental idea uses the value of masking and carries out the relative compensation of the MDCT. However, this code is not perfect and all noise problems cannot be solved. by Aoyumi @ 2004/04/18

Definition at line 772 of file psy.c.

References i, vorbis_look_psy::m_val, max, vorbis_look_psy::n, vorbis_info_psy::noisemaxsupp, vorbis_look_psy::noiseoffset, vorbis_info_psy::tone_masteratt, and vorbis_look_psy::vi.

Referenced by mapping0_forward().

void _vp_tonemask ( vorbis_look_psy p,
float *  logfft,
float *  logmask,
float  global_specmax,
float  local_specmax 
)