diff intercom/ilbc/helpfun.h @ 2:13be24d74cd2

import intercom-0.4.1
author Peter Meerwald <pmeerw@cosy.sbg.ac.at>
date Fri, 25 Jun 2010 09:57:52 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/intercom/ilbc/helpfun.h	Fri Jun 25 09:57:52 2010 +0200
@@ -0,0 +1,92 @@
+
+   /******************************************************************
+
+       iLBC Speech Coder ANSI-C Source Code
+
+       helpfun.h
+
+       Copyright (C) The Internet Society (2004).
+       All Rights Reserved.
+
+   ******************************************************************/
+
+#ifndef __iLBC_HELPFUN_H
+#define __iLBC_HELPFUN_H
+
+void autocorr(float *r,         /* (o) autocorrelation vector */
+  const float *x,               /* (i) data vector */
+  int N,                        /* (i) length of data vector */
+  int order                     /* largest lag for calculated
+                                   autocorrelations */
+  );
+
+void window(float *z,           /* (o) the windowed data */
+  const float *x,               /* (i) the original data vector */
+  const float *y,               /* (i) the window */
+  int N                         /* (i) length of all vectors */
+  );
+
+void levdurb(float *a,          /* (o) lpc coefficient vector starting
+                                   with 1.0 */
+  float *k,                     /* (o) reflection coefficients */
+  float *r,                     /* (i) autocorrelation vector */
+  int order                     /* (i) order of lpc filter */
+  );
+
+void interpolate(float *out,    /* (o) the interpolated vector */
+  float *in1,                   /* (i) the first vector for the
+                                   interpolation */
+  float *in2,                   /* (i) the second vector for the
+                                   interpolation */
+  float coef,                   /* (i) interpolation weights */
+  int length                    /* (i) length of all vectors */
+  );
+
+void bwexpand(float *out,       /* (o) the bandwidth expanded lpc
+                                   coefficients */
+  float *in,                    /* (i) the lpc coefficients before bandwidth
+                                   expansion */
+  float coef,                   /* (i) the bandwidth expansion factor */
+  int length                    /* (i) the length of lpc coefficient vectors */
+  );
+
+void vq(float *Xq,              /* (o) the quantized vector */
+  int *index,                   /* (o) the quantization index */
+  const float *CB,              /* (i) the vector quantization codebook */
+  float *X,                     /* (i) the vector to quantize */
+  int n_cb,                     /* (i) the number of vectors in the codebook */
+  int dim                       /* (i) the dimension of all vectors */
+  );
+
+void SplitVQ(float *qX,         /* (o) the quantized vector */
+  int *index,                   /* (o) a vector of indexes for all vector
+                                   codebooks in the split */
+  float *X,                     /* (i) the vector to quantize */
+  const float *CB,              /* (i) the quantizer codebook */
+  int nsplit,                   /* the number of vector splits */
+  const int *dim,               /* the dimension of X and qX */
+  const int *cbsize             /* the number of vectors in the codebook */
+  );
+
+
+void sort_sq(float *xq,         /* (o) the quantized value */
+  int *index,                   /* (o) the quantization index */
+  float x,                      /* (i) the value to quantize */
+  const float *cb,              /* (i) the quantization codebook */
+  int cb_size                   /* (i) the size of the quantization codebook */
+  );
+
+int LSF_check(                  /* (o) 1 for stable lsf vectors and 0 for
+
+
+
+
+
+                                   nonstable ones */
+  float *lsf,                   /* (i) a table of lsf vectors */
+  int dim,                      /* (i) the dimension of each lsf vector */
+  int NoAn                      /* (i) the number of lsf vectors in the
+                                   table */
+  );
+
+#endif

Repositories maintained by Peter Meerwald, pmeerw@pmeerw.net.