aboutsummaryrefslogtreecommitdiffstats
path: root/codecs/ilbc/gainquant.c
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2008-03-26 17:10:28 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2008-03-26 17:10:28 +0000
commitadfd7f5f1374a6b0d8b60a43684d5ec4dff51874 (patch)
treeed528d6e40b53ec5f3c552e8397f98e471c489db /codecs/ilbc/gainquant.c
parent97619eccb1ddd6771755f632ace40f4119743c60 (diff)
Merged revisions 110880 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r110880 | kpfleming | 2008-03-26 09:42:35 -0700 (Wed, 26 Mar 2008) | 10 lines Merged revisions 110869 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r110869 | kpfleming | 2008-03-26 08:53:46 -0700 (Wed, 26 Mar 2008) | 2 lines due to licensing restrictions, we cannot distribute the source code for iLBC encoding and decoding... so remove it, and add instructions on how the user can obtain it themselves ........ ................ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@110881 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'codecs/ilbc/gainquant.c')
-rw-r--r--codecs/ilbc/gainquant.c107
1 files changed, 0 insertions, 107 deletions
diff --git a/codecs/ilbc/gainquant.c b/codecs/ilbc/gainquant.c
deleted file mode 100644
index 33dc19474..000000000
--- a/codecs/ilbc/gainquant.c
+++ /dev/null
@@ -1,107 +0,0 @@
-
-/******************************************************************
-
- iLBC Speech Coder ANSI-C Source Code
-
- gainquant.c
-
- Copyright (C) The Internet Society (2004).
- All Rights Reserved.
-
-
-
-******************************************************************/
-
-#include <string.h>
-#include <math.h>
-#include "constants.h"
-#include "gainquant.h"
-#include "filter.h"
-
-/*----------------------------------------------------------------*
- * quantizer for the gain in the gain-shape coding of residual
- *---------------------------------------------------------------*/
-
-float gainquant(/* (o) quantized gain value */
- float in, /* (i) gain value */
- float maxIn,/* (i) maximum of gain value */
- int cblen, /* (i) number of quantization indices */
- int *index /* (o) quantization index */
-){
- int i, tindex;
- float minmeasure,measure, *cb, scale;
-
- /* ensure a lower bound on the scaling factor */
-
- scale=maxIn;
-
- if (scale<0.1) {
- scale=(float)0.1;
- }
-
- /* select the quantization table */
-
- if (cblen == 8) {
- cb = gain_sq3Tbl;
- } else if (cblen == 16) {
- cb = gain_sq4Tbl;
- } else {
- cb = gain_sq5Tbl;
- }
-
- /* select the best index in the quantization table */
-
- minmeasure=10000000.0;
- tindex=0;
- for (i=0; i<cblen; i++) {
- measure=(in-scale*cb[i])*(in-scale*cb[i]);
-
- if (measure<minmeasure) {
- tindex=i;
- minmeasure=measure;
- }
- }
- *index=tindex;
-
- /* return the quantized value */
-
-
-
- return scale*cb[tindex];
-}
-
-/*----------------------------------------------------------------*
- * decoder for quantized gains in the gain-shape coding of
- * residual
- *---------------------------------------------------------------*/
-
-float gaindequant( /* (o) quantized gain value */
- int index, /* (i) quantization index */
- float maxIn,/* (i) maximum of unquantized gain */
- int cblen /* (i) number of quantization indices */
-){
- float scale;
-
- /* obtain correct scale factor */
-
- scale=(float)fabs(maxIn);
-
- if (scale<0.1) {
- scale=(float)0.1;
- }
-
- /* select the quantization table and return the decoded value */
-
- if (cblen==8) {
- return scale*gain_sq3Tbl[index];
- } else if (cblen==16) {
- return scale*gain_sq4Tbl[index];
- }
- else if (cblen==32) {
- return scale*gain_sq5Tbl[index];
- }
-
- return 0.0;
-}
-
-