Minor tuning
[opus.git] / libcelt / rate.c
index 9763b6f..bd28399 100644 (file)
@@ -236,12 +236,13 @@ static inline int interp_bits2pulses(const CELTMode *m, int start, int end, int
       /* If we rounded down, make it a candidate for final fine energy pass */
       fine_priority[j] = ebits[j]*(den<<BITRES) >= bits[j]+offset;
 
-      /* For N=1, all bits go to fine energy except for a single sign bit */
-      if (N==1)
-         ebits[j] = (bits[j]/C >> BITRES)-1;
       /* Make sure the first bit is spent on fine energy */
       if (ebits[j] < 1)
          ebits[j] = 1;
+      /* For N=1, all bits go to fine energy except for a single sign bit
+         This takes precedence over giving the first bit to fine energy */
+      if (N==1)
+         ebits[j] = (bits[j]/C >> BITRES)-1;
 
       /* Make sure not to bust */
       if (C*ebits[j] > (bits[j]>>BITRES))