spandsp  0.0.6
private/gsm0610.h
00001 /*
00002  * SpanDSP - a series of DSP components for telephony
00003  *
00004  * private/gsm0610.h - GSM 06.10 full rate speech codec.
00005  *
00006  * Written by Steve Underwood <steveu@coppice.org>
00007  *
00008  * Copyright (C) 2006 Steve Underwood
00009  *
00010  * All rights reserved.
00011  *
00012  * This program is free software; you can redistribute it and/or modify
00013  * it under the terms of the GNU Lesser General Public License version 2.1,
00014  * as published by the Free Software Foundation.
00015  *
00016  * This program is distributed in the hope that it will be useful,
00017  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00018  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00019  * GNU Lesser General Public License for more details.
00020  *
00021  * You should have received a copy of the GNU Lesser General Public
00022  * License along with this program; if not, write to the Free Software
00023  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00024  */
00025 
00026 #if !defined(_SPANDSP_PRIVATE_GSM0610_H_)
00027 #define _SPANDSP_PRIVATE_GSM0610_H_
00028 
00029 /*!
00030     GSM 06.10 FR codec state descriptor. This defines the state of
00031     a single working instance of the GSM 06.10 FR encoder or decoder.
00032 */
00033 struct gsm0610_state_s
00034 {
00035     /*! \brief One of the packing modes */
00036     int packing;
00037 
00038     int16_t dp0[280];
00039 
00040     /*! Preprocessing */
00041     int16_t z1;
00042     int32_t L_z2;
00043     /*! Pre-emphasis */
00044     int16_t mp;
00045 
00046     /*! Short term delay filter */
00047     int16_t u[8];
00048     int16_t LARpp[2][8];
00049     int16_t j;
00050 
00051     /*! Long term synthesis */
00052     int16_t nrp;
00053     /*! Short term synthesis */
00054     int16_t v[9];
00055     /*! Decoder postprocessing */
00056     int16_t msr;
00057     
00058     /*! Encoder data */
00059     int16_t e[50];
00060 };
00061 
00062 #endif
00063 /*- End of include ---------------------------------------------------------*/