From 8835a4df2526f832b6f4b474c250bce529f7dc0e Mon Sep 17 00:00:00 2001 From: Jean-Marc Valin <Jean-Marc.Valin@csiro.au> Date: Tue, 26 Feb 2008 16:35:19 +1100 Subject: [PATCH] Removed useless masking curve for current frame and ignored Fs argument to masking computation functions. --- libcelt/celt.c | 7 +------ libcelt/pitch.c | 2 +- libcelt/psy.c | 10 +++++----- libcelt/psy.h | 4 ++-- 4 files changed, 9 insertions(+), 14 deletions(-) diff --git a/libcelt/celt.c b/libcelt/celt.c index 8c83b5ea8..62cef6eb7 100644 --- a/libcelt/celt.c +++ b/libcelt/celt.c @@ -229,7 +229,6 @@ int celt_encode(CELTEncoder *st, celt_int16_t *pcm, unsigned char *compressed, i VARDECL(celt_sig_t *freq); VARDECL(celt_norm_t *X); VARDECL(celt_norm_t *P); - VARDECL(float *mask); VARDECL(celt_ener_t *bandE); VARDECL(celt_pgain_t *gains); @@ -243,7 +242,6 @@ int celt_encode(CELTEncoder *st, celt_int16_t *pcm, unsigned char *compressed, i ALLOC(freq, B*C*N, celt_sig_t); /**< Interleaved signal MDCTs */ ALLOC(X, B*C*N, celt_norm_t); /**< Interleaved normalised MDCTs */ ALLOC(P, B*C*N, celt_norm_t); /**< Interleaved normalised pitch MDCTs*/ - ALLOC(mask, B*C*N, float); /**< Masking curve */ ALLOC(bandE,st->mode->nbEBands*C, celt_ener_t); ALLOC(gains,st->mode->nbPBands, celt_pgain_t); @@ -278,9 +276,6 @@ int celt_encode(CELTEncoder *st, celt_int16_t *pcm, unsigned char *compressed, i although there's no valid reason to. Must investigate further */ for (i=0;i<B*C*N;i++) mask[i] = 1/(.1+mask[i]); -#else - for (i=0;i<B*C*N;i++) - mask[i] = 1; #endif /* Pitch analysis */ for (c=0;c<C;c++) @@ -360,7 +355,7 @@ int celt_encode(CELTEncoder *st, celt_int16_t *pcm, unsigned char *compressed, i sum += X[i]*X[i]; printf ("%f\n", sum);*/ /* Residual quantisation */ - quant_bands(st->mode, X, P, mask, nbCompressedBytes*8, &st->enc); + quant_bands(st->mode, X, P, NULL, nbCompressedBytes*8, &st->enc); if (C==2) { diff --git a/libcelt/pitch.c b/libcelt/pitch.c index 80bceb699..81c4e754e 100644 --- a/libcelt/pitch.c +++ b/libcelt/pitch.c @@ -74,7 +74,7 @@ void find_spectral_pitch(kiss_fftr_cfg fft, struct PsyDecay *decay, celt_sig_t * kiss_fftr(fft, xx, X); kiss_fftr(fft, yy, Y); - compute_masking(decay, X, curve, lag*C, 44100); + compute_masking(decay, X, curve, lag*C); for (i=1;i<C*n2;i++) { diff --git a/libcelt/psy.c b/libcelt/psy.c index d518a0e28..b6e568740 100644 --- a/libcelt/psy.c +++ b/libcelt/psy.c @@ -76,7 +76,7 @@ void psydecay_clear(struct PsyDecay *decay) celt_free(decay->decayL); } -static void spreading_func(struct PsyDecay *d, float *psd, float *mask, int len, celt_int32_t Fs) +static void spreading_func(struct PsyDecay *d, float *psd, float *mask, int len) { int i; float mem; @@ -122,7 +122,7 @@ static void spreading_func(struct PsyDecay *d, float *psd, float *mask, int len, } /* Compute a marking threshold from the spectrum X. */ -void compute_masking(struct PsyDecay *decay, celt_word32_t *X, float *mask, int len, celt_int32_t Fs) +void compute_masking(struct PsyDecay *decay, celt_word32_t *X, float *mask, int len) { int i; VARDECL(float *psd); @@ -133,11 +133,11 @@ void compute_masking(struct PsyDecay *decay, celt_word32_t *X, float *mask, int psd[i] = X[i*2]*1.f*X[i*2] + X[i*2+1]*1.f*X[i*2+1]; /* TODO: Do tone masking */ /* Noise masking */ - spreading_func(decay, psd, mask, N, Fs); + spreading_func(decay, psd, mask, N); } -void compute_mdct_masking(struct PsyDecay *decay, celt_word32_t *X, float *mask, int len, celt_int32_t Fs) +void compute_mdct_masking(struct PsyDecay *decay, celt_word32_t *X, float *mask, int len) { int i; VARDECL(float *psd); @@ -151,6 +151,6 @@ void compute_mdct_masking(struct PsyDecay *decay, celt_word32_t *X, float *mask, psd[len-1] = .5*(mask[len-1]+mask[len-2]); /* TODO: Do tone masking */ /* Noise masking */ - spreading_func(decay, psd, mask, len, Fs); + spreading_func(decay, psd, mask, len); } diff --git a/libcelt/psy.h b/libcelt/psy.h index 1bdfad523..3ebd9f519 100644 --- a/libcelt/psy.h +++ b/libcelt/psy.h @@ -45,9 +45,9 @@ void psydecay_init(struct PsyDecay *decay, int len, celt_int32_t Fs); void psydecay_clear(struct PsyDecay *decay); /** Compute the masking curve for an input (DFT) spectrum X */ -void compute_masking(struct PsyDecay *decay, celt_word32_t *X, float *mask, int len, celt_int32_t Fs); +void compute_masking(struct PsyDecay *decay, celt_word32_t *X, float *mask, int len); /** Compute the masking curve for an input (MDCT) spectrum X */ -void compute_mdct_masking(struct PsyDecay *decay, celt_word32_t *X, float *mask, int len, celt_int32_t Fs); +void compute_mdct_masking(struct PsyDecay *decay, celt_word32_t *X, float *mask, int len); #endif /* PSY_H */ -- GitLab