The encoder would crash in the PVQ search if fed NaNs via the float interface. This...
[opus.git] / libcelt / vq.h
index 9f2e9a0..56a31b6 100644 (file)
    notice, this list of conditions and the following disclaimer in the
    documentation and/or other materials provided with the distribution.
    
-   - Neither the name of the Xiph.org Foundation nor the names of its
-   contributors may be used to endorse or promote products derived from
-   this software without specific prior written permission.
-   
    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  * @param K Number of pulses to use
  * @param p Pitch vector (it is assumed that p+x is a unit vector)
  * @param enc Entropy encoder state
+ * @ret A mask indicating which blocks in the band received pulses
 */
-void alg_quant(celt_norm *X, int N, int K, int spread, int B, celt_norm *lowband,
-      int resynth, ec_enc *enc, celt_int32 *seed, celt_word16 gain);
+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
  * @param x Decoded normalised spectrum (returned)
@@ -60,9 +57,10 @@ void alg_quant(celt_norm *X, int N, int K, int spread, int B, celt_norm *lowband
  * @param K Number of pulses to use
  * @param p Pitch vector (automatically added to x)
  * @param dec Entropy decoder state
+ * @ret A mask indicating which blocks in the band received pulses
  */
-void alg_unquant(celt_norm *X, int N, int K, int spread, int B,
-      celt_norm *lowband, ec_dec *dec, celt_int32 *seed, celt_word16 gain);
+unsigned alg_unquant(celt_norm *X, int N, int K, int spread, int B,
+      ec_dec *dec, celt_word16 gain);
 
 void renormalise_vector(celt_norm *X, int N, celt_word16 gain);