diff options
Diffstat (limited to '1.2-netsec/codecs/ilbc/gainquant.c')
-rw-r--r-- | 1.2-netsec/codecs/ilbc/gainquant.c | 107 |
1 files changed, 0 insertions, 107 deletions
diff --git a/1.2-netsec/codecs/ilbc/gainquant.c b/1.2-netsec/codecs/ilbc/gainquant.c deleted file mode 100644 index 33dc19474..000000000 --- a/1.2-netsec/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; -} - - |