diff --git a/libcelt/bands.c b/libcelt/bands.c index 210f9302..1be1b298 100644 --- a/libcelt/bands.c +++ b/libcelt/bands.c @@ -1003,9 +1003,9 @@ static unsigned quant_band(int encode, const CELTMode *m, int i, celt_norm *X, c /* Finally do the actual quantization */ if (encode) - cm = alg_quant(X, N, K, spread, B, lowband, resynth, (ec_enc*)ec, gain); + cm = alg_quant(X, N, K, spread, B, resynth, (ec_enc*)ec, gain); else - cm = alg_unquant(X, N, K, spread, B, lowband, (ec_dec*)ec, gain); + cm = alg_unquant(X, N, K, spread, B, (ec_dec*)ec, gain); } else { /* If there's no pulse, fill the band anyway */ int j; @@ -1157,7 +1157,7 @@ void quant_all_bands(int encode, const CELTMode *m, int start, int end, b = 0; } - if (M*eBands[i]-N >= M*eBands[start] && (update_lowband || lowband_offset==0)) + if (resynth && M*eBands[i]-N >= M*eBands[start] && (update_lowband || lowband_offset==0)) lowband_offset = i; tf_change = tf_res[i]; diff --git a/libcelt/vq.c b/libcelt/vq.c index d1f1d792..02feafa8 100644 --- a/libcelt/vq.c +++ b/libcelt/vq.c @@ -175,7 +175,7 @@ static unsigned extract_collapse_mask(int *iy, int N, int B) return collapse_mask; } -unsigned alg_quant(celt_norm *X, int N, int K, int spread, int B, celt_norm *lowband, +unsigned alg_quant(celt_norm *X, int N, int K, int spread, int B, int resynth, ec_enc *enc, celt_word16 gain) { VARDECL(celt_norm, y); @@ -340,7 +340,7 @@ unsigned alg_quant(celt_norm *X, int N, int K, int spread, int B, celt_norm *low /** Decode pulse vector and combine the result with the pitch vector to produce the final normalised signal in the current band. */ unsigned alg_unquant(celt_norm *X, int N, int K, int spread, int B, - celt_norm *lowband, ec_dec *dec, celt_word16 gain) + ec_dec *dec, celt_word16 gain) { int i; celt_word32 Ryy; diff --git a/libcelt/vq.h b/libcelt/vq.h index ee5b647d..67fe6043 100644 --- a/libcelt/vq.h +++ b/libcelt/vq.h @@ -52,7 +52,7 @@ * @param enc Entropy encoder state * @ret A mask indicating which blocks in the band received pulses */ -unsigned alg_quant(celt_norm *X, int N, int K, int spread, int B, celt_norm *lowband, +unsigned alg_quant(celt_norm *X, int N, int K, int spread, int B, int resynth, ec_enc *enc, celt_word16 gain); /** Algebraic pulse decoder @@ -64,7 +64,7 @@ unsigned alg_quant(celt_norm *X, int N, int K, int spread, int B, celt_norm *low * @ret A mask indicating which blocks in the band received pulses */ unsigned alg_unquant(celt_norm *X, int N, int K, int spread, int B, - celt_norm *lowband, ec_dec *dec, celt_word16 gain); + ec_dec *dec, celt_word16 gain); void renormalise_vector(celt_norm *X, int N, celt_word16 gain);