From c4da749362b2842ba0478dcdb309c29dd353c795 Mon Sep 17 00:00:00 2001 From: Mark Spencer Date: Tue, 15 Apr 2003 04:36:52 +0000 Subject: Add iLBC codec git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@852 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- codecs/ilbc/filter.h | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100755 codecs/ilbc/filter.h (limited to 'codecs/ilbc/filter.h') diff --git a/codecs/ilbc/filter.h b/codecs/ilbc/filter.h new file mode 100755 index 000000000..1883560ba --- /dev/null +++ b/codecs/ilbc/filter.h @@ -0,0 +1,72 @@ + +/****************************************************************** + + iLBC Speech Coder ANSI-C Source Code + + filter.h + + Copyright (c) 2001, + Global IP Sound AB. + All rights reserved. + +******************************************************************/ + +#ifndef __iLBC_FILTER_H +#define __iLBC_FILTER_H + +void AllPoleFilter( + float *InOut, /* (i/o) on entrance InOut[-orderCoef] to + InOut[-1] contain the state of the filter + (delayed samples). InOut[0] to + InOut[lengthInOut-1] contain the filter + input, on en exit InOut[-orderCoef] to + InOut[-1] is unchanged and InOut[0] to + InOut[lengthInOut-1] contain filtered + samples */ + float *Coef,/* (i) filter coefficients, Coef[0] is assumed to + be 1.0 */ + int lengthInOut,/* (i) number of input/output samples */ + int orderCoef /* (i) number of filter coefficients */ +); + +void AllZeroFilter( + float *In, /* (i) In[0] to In[lengthInOut-1] contain filter + input samples */ + float *Coef,/* (i) filter coefficients (Coef[0] is assumed + to be 1.0) */ + int lengthInOut,/* (i) number of input/output samples */ + int orderCoef, /* (i) number of filter coefficients */ + float *Out /* (i/o) on entrance Out[-orderCoef] to Out[-1] + contain the filter state, on exit Out[0] + to Out[lengthInOut-1] contain filtered + samples */ +); + +void ZeroPoleFilter( + float *In, /* (i) In[0] to In[lengthInOut-1] contain filter + input samples In[-orderCoef] to In[-1] + contain state of all-zero section */ + float *ZeroCoef,/* (i) filter coefficients for all-zero + section (ZeroCoef[0] is assumed to + be 1.0) */ + float *PoleCoef,/* (i) filter coefficients for all-pole section + (ZeroCoef[0] is assumed to be 1.0) */ + int lengthInOut,/* (i) number of input/output samples */ + int orderCoef, /* (i) number of filter coefficients */ + float *Out /* (i/o) on entrance Out[-orderCoef] to Out[-1] + contain state of all-pole section. On exit + Out[0] to Out[lengthInOut-1] contain + filtered samples */ +); + +void DownSample ( + float *In, /* (i) input samples */ + float *Coef, /* (i) filter coefficients */ + int lengthIn, /* (i) number of input samples */ + float *state, /* (i) filter state */ + float *Out /* (o) downsampled output */ +); + +#endif + + -- cgit v1.2.3