
/******************************************************************



    iLBC Speech Coder ANSI-C Source Code

    createCB.h

    Copyright (C) The Internet Society (2004). 
    All Rights Reserved.

******************************************************************/

#ifndef __iLBC_CREATECB_H
#define __iLBC_CREATECB_H

void filteredCBvecs(
    float *cbvectors,   /* (o) Codebook vector for the 
                               higher section */
    float *mem,         /* (i) Buffer to create codebook 
                               vectors from */
    int lMem        /* (i) Length of buffer */
);

void searchAugmentedCB(
    int low,        /* (i) Start index for the search */
    int high,           /* (i) End index for the search */
    int stage,          /* (i) Current stage */
    int startIndex,     /* (i) CB index for the first 
                               augmented vector */
    float *target,      /* (i) Target vector for encoding */
    float *buffer,      /* (i) Pointer to the end of the 
                               buffer for augmented codebook 
                               construction */
    float *max_measure, /* (i/o) Currently maximum measure */
    int *best_index,/* (o) Currently the best index */
    float *gain,    /* (o) Currently the best gain */
    float *energy,      /* (o) Energy of augmented 
                               codebook vectors */
    float *invenergy/* (o) Inv energy of aug codebook 
                               vectors */
);

void createAugmentedVec(
    int index,          /* (i) Index for the aug vector 
                               to be created */
    float *buffer,      /* (i) Pointer to the end of the 
                               buffer for augmented codebook 
                               construction */
    float *cbVec    /* (o) The construced codebook vector */
);

#endif


