diff options
author | Jean-Marc Valin <Jean-Marc.Valin@csiro.au> | 2007-12-14 05:47:04 +0300 |
---|---|---|
committer | Jean-Marc Valin <Jean-Marc.Valin@csiro.au> | 2007-12-14 05:47:04 +0300 |
commit | 46014ca49a91e345cd4d3a9d70a67a1cbe73c2ac (patch) | |
tree | 4a16ae8981f37363220a3751024ad84d95e445ee /libcelt/bands.c | |
parent | 36d78e6f74a85cda823083d6b07235d474bda527 (diff) |
Propagating perceptual weighting around (not used yet).
Diffstat (limited to 'libcelt/bands.c')
-rw-r--r-- | libcelt/bands.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libcelt/bands.c b/libcelt/bands.c index b1a7580..f6b460e 100644 --- a/libcelt/bands.c +++ b/libcelt/bands.c @@ -214,7 +214,7 @@ void pitch_quant_bands(const CELTMode *m, float *X, float *P, float *gains) P[i] = 0; } -void quant_bands(const CELTMode *m, float *X, float *P, ec_enc *enc) +void quant_bands(const CELTMode *m, float *X, float *P, float *W, ec_enc *enc) { int i, j, B; const int *eBands = m->eBands; @@ -227,14 +227,14 @@ void quant_bands(const CELTMode *m, float *X, float *P, ec_enc *enc) q = m->nbPulses[i]; if (q>0) { float n = sqrt(B*(eBands[i+1]-eBands[i])); - alg_quant(X+B*eBands[i], B*(eBands[i+1]-eBands[i]), q, P+B*eBands[i], 0.7, enc); + alg_quant(X+B*eBands[i], W+B*eBands[i], B*(eBands[i+1]-eBands[i]), q, P+B*eBands[i], 0.7, enc); for (j=B*eBands[i];j<B*eBands[i+1];j++) norm[j] = X[j] * n; //printf ("%f ", log2(ncwrs64(B*(eBands[i+1]-eBands[i]), q))/(B*(eBands[i+1]-eBands[i]))); //printf ("%f ", log2(ncwrs64(B*(eBands[i+1]-eBands[i]), q))); } else { float n = sqrt(B*(eBands[i+1]-eBands[i])); - copy_quant(X+B*eBands[i], B*(eBands[i+1]-eBands[i]), -q, norm, B, eBands[i], enc); + copy_quant(X+B*eBands[i], W+B*eBands[i], B*(eBands[i+1]-eBands[i]), -q, norm, B, eBands[i], enc); for (j=B*eBands[i];j<B*eBands[i+1];j++) norm[j] = X[j] * n; //printf ("%f ", (1+log2(eBands[i]-(eBands[i+1]-eBands[i]))+log2(ncwrs64(B*(eBands[i+1]-eBands[i]), -q)))/(B*(eBands[i+1]-eBands[i]))); |