From d4ff9abc610add56b6c9e0ec193519f48689c0bd Mon Sep 17 00:00:00 2001 From: Mark Spencer Date: Thu, 14 Oct 2004 05:15:48 +0000 Subject: Update to new iLBC codec git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3997 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- codecs/ilbc/gainquant.c | 208 ++++++++++++++++++++++++------------------------ 1 file changed, 105 insertions(+), 103 deletions(-) (limited to 'codecs/ilbc/gainquant.c') diff --git a/codecs/ilbc/gainquant.c b/codecs/ilbc/gainquant.c index e0085c688..a23ce05b4 100755 --- a/codecs/ilbc/gainquant.c +++ b/codecs/ilbc/gainquant.c @@ -1,104 +1,106 @@ - -/****************************************************************** - - iLBC Speech Coder ANSI-C Source Code - - gainquant.c - - Copyright (c) 2001, - Global IP Sound AB. - All rights reserved. - -******************************************************************/ - -#include -#include -#include "constants.h" -#include "filter.h" -#include "gainquant.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 +#include +#include "constants.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