diff options
author | Jean-Marc Valin <Jean-Marc.Valin@csiro.au> | 2007-12-06 07:39:38 +0300 |
---|---|---|
committer | Jean-Marc Valin <Jean-Marc.Valin@csiro.au> | 2007-12-06 07:39:38 +0300 |
commit | 29ccab8aacdd3a0bb3d8c5b74fc54ece925384fd (patch) | |
tree | aa782495de8f5a909fdf8b51141c06de49d5a641 /libcelt/bands.c | |
parent | bc5cedf26ff213b6d35ca892f79c20ecf100c825 (diff) |
Some work on index packing
Diffstat (limited to 'libcelt/bands.c')
-rw-r--r-- | libcelt/bands.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/libcelt/bands.c b/libcelt/bands.c index 2eeff44..c06efce 100644 --- a/libcelt/bands.c +++ b/libcelt/bands.c @@ -146,7 +146,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) +void quant_bands(const CELTMode *m, float *X, float *P, ec_enc *enc) { int i, j, B; const int *eBands = m->eBands; @@ -156,11 +156,12 @@ void quant_bands(const CELTMode *m, float *X, float *P) for (i=0;i<m->nbEBands;i++) { - int q; + int q, id; q = m->nbPulses[i]; if (q>0) { float n = sqrt(B*(eBands[i+1]-eBands[i])); - alg_quant2(X+B*eBands[i], B*(eBands[i+1]-eBands[i]), q, P+B*eBands[i]); + id = alg_quant2(X+B*eBands[i], B*(eBands[i+1]-eBands[i]), q, P+B*eBands[i]); + ec_enc_uint(enc,id,ncwrs(B*(eBands[i+1]-eBands[i]), q)); for (j=B*eBands[i];j<B*eBands[i+1];j++) norm[j] = X[j] * n; //bits += log2(ncwrs(B*(eBands[i+1]-eBands[i]), q)); |