fixed-point version of the high-pass seems to work now.
[speexdsp.git] / libspeex / cb_search.h
index 85d1df1..ea8816d 100644 (file)
@@ -1,7 +1,9 @@
-/* Copyright (C) 2002 Jean-Marc Valin & David Rowe
-   File: cb_search.c
-   Overlapped codebook search
-
+/* Copyright (C) 2002 Jean-Marc Valin & David Rowe */
+/**
+   @file cb_search.h
+   @brief Overlapped codebook search
+*/
+/*
    Redistribution and use in source and binary forms, with or without
    modification, are permitted provided that the following conditions
    are met:
 #ifndef CB_SEARCH_H
 #define CB_SEARCH_H
 
-#include "speex_bits.h"
+#include <speex/speex_bits.h>
 #include "misc.h"
 
+/** Split codebook parameters. */
 typedef struct split_cb_params {
    int     subvect_size;
    int     nb_subvect;
-   signed char  *shape_cb;
+   const signed char  *shape_cb;
    int     shape_bits;
    int     have_sign;
 } split_cb_params;
 
 
 void split_cb_search_shape_sign(
-spx_sig_t target[],                    /* target vector */
-spx_coef_t ak[],                       /* LPCs for this subframe */
-spx_coef_t awk1[],                     /* Weighted LPCs for this subframe */
-spx_coef_t awk2[],                     /* Weighted LPCs for this subframe */
-void *par,                      /* Codebook/search parameters*/
+spx_word16_t target[],             /* target vector */
+spx_coef_t ak[],                /* LPCs for this subframe */
+spx_coef_t awk1[],              /* Weighted LPCs for this subframe */
+spx_coef_t awk2[],              /* Weighted LPCs for this subframe */
+const void *par,                /* Codebook/search parameters */
 int   p,                        /* number of LPC coeffs */
 int   nsf,                      /* number of samples in subframe */
 spx_sig_t *exc,
-spx_sig_t *r,
+spx_word16_t *r,
 SpeexBits *bits,
 char *stack,
-int   complexity
+int   complexity,
+int   update_target
 );
 
 void split_cb_shape_sign_unquant(
 spx_sig_t *exc,
-void *par,                      /* non-overlapping codebook */
+const void *par,                /* non-overlapping codebook */
 int   nsf,                      /* number of samples in subframe */
 SpeexBits *bits,
 char *stack
@@ -70,24 +74,25 @@ char *stack
 
 
 void noise_codebook_quant(
-spx_sig_t target[],                    /* target vector */
-spx_coef_t ak[],                       /* LPCs for this subframe */
-spx_coef_t awk1[],                     /* Weighted LPCs for this subframe */
-spx_coef_t awk2[],                     /* Weighted LPCs for this subframe */
-void *par,                      /* Codebook/search parameters*/
+spx_word16_t target[],             /* target vector */
+spx_coef_t ak[],                /* LPCs for this subframe */
+spx_coef_t awk1[],              /* Weighted LPCs for this subframe */
+spx_coef_t awk2[],              /* Weighted LPCs for this subframe */
+const void *par,                /* Codebook/search parameters */
 int   p,                        /* number of LPC coeffs */
 int   nsf,                      /* number of samples in subframe */
 spx_sig_t *exc,
-spx_sig_t *r,
+spx_word16_t *r,
 SpeexBits *bits,
 char *stack,
-int   complexity
+int   complexity,
+int   update_target
 );
 
 
 void noise_codebook_unquant(
 spx_sig_t *exc,
-void *par,                      /* non-overlapping codebook */
+const void *par,                /* non-overlapping codebook */
 int   nsf,                      /* number of samples in subframe */
 SpeexBits *bits,
 char *stack