Fixed stereo regression introduced in 05686a5d6e366d3a067c39f1b8567def7baa450d
authorJean-Marc Valin <jean-marc.valin@usherbrooke.ca>
Tue, 12 Feb 2008 13:08:29 +0000 (00:08 +1100)
committerJean-Marc Valin <jean-marc.valin@usherbrooke.ca>
Tue, 12 Feb 2008 13:08:29 +0000 (00:08 +1100)
also another stereo bug fixed for static-array ncwrs64().

libcelt/celt.c
libcelt/cwrs.c

index 6faa608..ddb3da1 100644 (file)
@@ -285,6 +285,11 @@ int celt_encode(CELTEncoder *st, celt_int16_t *pcm, unsigned char *compressed, i
 
    quant_energy(st->mode, bandE, st->oldBandE, &st->enc);
 
+   if (C==2)
+   {
+      stereo_mix(st->mode, X, bandE, 1);
+   }
+
    /* Check if we can safely use the pitch (i.e. effective gain isn't too high) */
    if (curr_power + 1e5f < 10.f*pitch_power)
    {
@@ -294,10 +299,7 @@ int celt_encode(CELTEncoder *st, celt_int16_t *pcm, unsigned char *compressed, i
       normalise_bands(st->mode, P, bandEp);
 
       if (C==2)
-      {
-         stereo_mix(st->mode, X, bandE, 1);
          stereo_mix(st->mode, P, bandE, 1);
-      }
       /* Simulates intensity stereo */
       //for (i=30;i<N*B;i++)
       //   X[i*C+1] = P[i*C+1] = 0;
index cc743ad..5c1fe6d 100644 (file)
@@ -65,7 +65,7 @@ celt_uint32_t ncwrs(int _n,int _m){
 
 #if 0
 celt_uint64_t ncwrs64(int _n,int _m){
-  static celt_uint64_t c[100][100];
+  static celt_uint64_t c[101][101];
   if(_n<0||_m<0)return 0;
   if(!c[_n][_m]){
     if(_m<=0)c[_n][_m]=1;