The code is getting horribly messy, but there's too much stuff that needs
[speexdsp.git] / libspeex / cb_search.h
1 /* Copyright (C) 2002 Jean-Marc Valin & David Rowe
2    File: cb_search.c
3    Overlapped codebook search
4
5    This library is free software; you can redistribute it and/or
6    modify it under the terms of the GNU Lesser General Public
7    License as published by the Free Software Foundation; either
8    version 2.1 of the License, or (at your option) any later version.
9    
10    This library is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13    Lesser General Public License for more details.
14    
15    You should have received a copy of the GNU Lesser General Public
16    License along with this library; if not, write to the Free Software
17    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18 */
19
20 #ifndef CB_SEARCH_H
21 #define CB_SEARCH_H
22
23 float overlap_cb_search(
24 float target[],                 /* target vector */
25 float ak[],                     /* LPCs for this subframe */
26 float awk1[],                   /* Weighted LPCs for this subframe */
27 float awk2[],                   /* Weighted LPCs for this subframe */
28 float codebook[],               /* overlapping codebook */
29 int   entries,                  /* number of overlapping entries to search */
30 float *gain,                    /* gain of optimum entry */
31 int   *index,                   /* index of optimum entry */
32 int   p,                        /* number of LPC coeffs */
33 int   nsf                       /* number of samples in subframe */
34 );
35
36
37 float split_cb_search(
38 float target[],                 /* target vector */
39 float ak[],                     /* LPCs for this subframe */
40 float awk1[],                   /* Weighted LPCs for this subframe */
41 float awk2[],                   /* Weighted LPCs for this subframe */
42 float codebook[][8],            /* overlapping codebook */
43 int   entries,                  /* number of entries to search */
44 float *gain,                    /* gain of optimum entries */
45 int   *index,                   /* index of optimum entries */
46 int   p,                        /* number of LPC coeffs */
47 int   nsf,                      /* number of samples in subframe */
48 float *exc
49 );
50
51 #endif