More simplifications to N=2 stereo
authorJean-Marc Valin <jean-marc.valin@usherbrooke.ca>
Fri, 6 Aug 2010 01:14:49 +0000 (21:14 -0400)
committerJean-Marc Valin <jean-marc.valin@usherbrooke.ca>
Fri, 6 Aug 2010 01:14:49 +0000 (21:14 -0400)
libcelt/bands.c

index bf62649..1962037 100644 (file)
@@ -670,24 +670,19 @@ static void quant_band(int encode, const CELTMode *m, int i, celt_norm *X, celt_
 
          x2 = c ? Y : X;
          y2 = c ? X : Y;
-         if (encode)
-         {
-            /* Here we only need to encode a sign for the side */
-            sign = x2[0]*y2[1] - x2[1]*y2[0] > 0;
-         }
-         quant_band(encode, m, i, x2, NULL, N, mbits, spread, B, tf_change, lowband, resynth, ec, remaining_bits, LM, lowband_out, NULL, level+1, seed);
          if (sbits)
          {
             if (encode)
             {
+               /* Here we only need to encode a sign for the side */
+               sign = x2[0]*y2[1] - x2[1]*y2[0] > 0;
                ec_enc_bits((ec_enc*)ec, sign, 1);
             } else {
                sign = ec_dec_bits((ec_dec*)ec, 1);
             }
-            sign = 2*sign - 1;
-         } else {
-            sign = 1;
          }
+         sign = 2*sign - 1;
+         quant_band(encode, m, i, x2, NULL, N, mbits, spread, B, tf_change, lowband, resynth, ec, remaining_bits, LM, lowband_out, NULL, level+1, seed);
          y2[0] = -sign*x2[1];
          y2[1] = sign*x2[0];
       } else {