Refactor ec_enc_patch_initial_bits().
[opus.git] / libcelt / modes.h
index 842a0a4..8ea39e9 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
 #include "entenc.h"
 #include "entdec.h"
 
-#define MAX_CONFIG_SIZES 5
-
-#define CELT_BITSTREAM_VERSION 0x8000000d
-
-#ifdef STATIC_MODES
-#include "static_modes.h"
-#endif
+#define CELT_BITSTREAM_VERSION 0x80000010
 
 #define MAX_PERIOD 1024
 
@@ -71,13 +61,13 @@ typedef struct {
    int size;
    const celt_int16 *index;
    const unsigned char *bits;
+   const unsigned char *caps;
 } PulseCache;
 
 /** Mode definition (opaque)
  @brief Mode definition 
  */
 struct CELTMode {
-   celt_uint32 marker_start;
    celt_int32 Fs;
    int          overlap;
 
@@ -98,18 +88,23 @@ struct CELTMode {
    int         nbShortMdcts;
    int         shortMdctSize;
 
-   const celt_int16 *prob;
    const celt_int16 *logN;
 
    PulseCache cache;
-   celt_uint32 marker_end;
 };
 
-int check_mode(const CELTMode *mode);
+#ifndef OPUS_BUILD
+#define CELT_STATIC static
+#else
+#define CELT_STATIC
+#endif
 
+#ifdef OPUS_BUILD
 /* Prototypes for _ec versions of the encoder/decoder calls (not public) */
-int celt_encode_with_ec(CELTEncoder * restrict st, const celt_int16 * pcm, celt_int16 * optional_resynthesis, int frame_size, unsigned char *compressed, int nbCompressedBytes, ec_enc *enc);
-int celt_encode_with_ec_float(CELTEncoder * restrict st, const float * pcm, float * optional_resynthesis, int frame_size, unsigned char *compressed, int nbCompressedBytes, ec_enc *enc);
+int celt_encode_with_ec(CELTEncoder * restrict st, const celt_int16 * pcm, int frame_size, unsigned char *compressed, int nbCompressedBytes, ec_enc *enc);
+int celt_encode_with_ec_float(CELTEncoder * restrict st, const float * pcm, int frame_size, unsigned char *compressed, int nbCompressedBytes, ec_enc *enc);
 int celt_decode_with_ec(CELTDecoder * restrict st, const unsigned char *data, int len, celt_int16 * restrict pcm, int frame_size, ec_dec *dec);
 int celt_decode_with_ec_float(CELTDecoder * restrict st, const unsigned char *data, int len, float * restrict pcm, int frame_size, ec_dec *dec);
+#endif /* OPUS_BUILD */
+
 #endif