diff options
Diffstat (limited to 'lib/psy.h')
-rw-r--r-- | lib/psy.h | 27 |
1 files changed, 21 insertions, 6 deletions
@@ -15,6 +15,8 @@ ********************************************************************/ +#define OPT_SORT + #ifndef _V_PSY_H_ #define _V_PSY_H_ #include "smallft.h" @@ -54,6 +56,9 @@ typedef struct vorbis_info_psy{ int noisewindowfixed; float noiseoff[P_NOISECURVES][P_BANDS]; float noisecompand[NOISE_COMPAND_LEVELS]; + float noisecompand_high[NOISE_COMPAND_LEVELS]; + + float flacint; float max_curve_dB; @@ -110,6 +115,7 @@ typedef struct { int total_octave_lines; long rate; /* cache it */ + int m3n[4]; /* number for M3 */ float m_val; /* Masking compensation value */ } vorbis_look_psy; @@ -129,6 +135,7 @@ extern void _vp_remove_floor(vorbis_look_psy *p, int sliding_lowpass); extern void _vp_noisemask(vorbis_look_psy *p, + float noise_compand_level, float *logmdct, float *logmask); @@ -144,7 +151,11 @@ extern void _vp_offset_and_mix(vorbis_look_psy *p, int offset_select, float *logmask, float *mdct, - float *logmdct); + float *logmdct, + float *lastmdct, float *tempmdct, + int blocktype, int modenumber, + int nW_modenumber, + int lW_blocktype, int lW_modenumber, int lW_no); extern float _vp_ampmax_decay(float amp,vorbis_dsp_state *vd); @@ -163,7 +174,10 @@ extern void _vp_couple(int blobno, int **mag_sort, int **ifloor, int *nonzero, - int sliding_lowpass); + int sliding_lowpass, + int blocktype, int modenumber, + int lW_blocktype, int lW_modenumber, + float **mdct, float **res_org); extern void _vp_noise_normalize(vorbis_look_psy *p, float *in,float *out,int *sortedindex); @@ -176,10 +190,11 @@ extern int **_vp_quantize_couple_sort(vorbis_block *vb, vorbis_info_mapping0 *vi, float **mags); -extern void hf_reduction(vorbis_info_psy_global *g, - vorbis_look_psy *p, - vorbis_info_mapping0 *vi, - float **mdct); +extern float lb_loudnoise_fix(vorbis_look_psy *p, + float noise_compand_level, + float *logmdct, + int lW_modenumber, + int blocktype, int modenumber); #endif |