|
libg722_1
0.0.1
|
00001 /* 00002 * broadvoice - a library for the BroadVoice 16 and 32 codecs 00003 * 00004 * bv32strct.h - 00005 * 00006 * Adapted by Steve Underwood <steveu@coppice.org> from code which is 00007 * Copyright 2000-2009 Broadcom Corporation 00008 * 00009 * All rights reserved. 00010 * 00011 * This program is free software; you can redistribute it and/or modify 00012 * it under the terms of the GNU Lesser General Public License version 2.1, 00013 * as published by the Free Software Foundation. 00014 * 00015 * This program is distributed in the hope that it will be useful, 00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00018 * GNU Lesser General Public License for more details. 00019 * 00020 * You should have received a copy of the GNU Lesser General Public 00021 * License along with this program; if not, write to the Free Software 00022 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00023 * 00024 * $Id: bv32strct.h,v 1.1.1.1 2009/11/19 12:10:48 steveu Exp $ 00025 */ 00026 00027 #include "typedef.h" 00028 #include "bv32cnst.h" 00029 #include "bvcommon.h" 00030 00031 #if !defined(_BV32STRCT_H_) 00032 #define _BV32STRCT_H_ 00033 00034 struct bv32_decode_state_s 00035 { 00036 Float stsym[LPCO]; 00037 Float ltsym[LTMOFF]; 00038 Float lsppm[LPCO*LSPPORDER]; 00039 Float lgpm[LGPORDER]; 00040 Float lsplast[LPCO]; 00041 Float dezfm[PFO]; 00042 Float depfm[PFO]; 00043 int16_t cfecount; 00044 uint32_t idum; 00045 Float E; 00046 Float scplcg; 00047 Float per; 00048 Float atplc[LPCO + 1]; 00049 int16_t pp_last; 00050 Float prevlg[2]; 00051 Float lgq_last; 00052 Float bq_last[3]; 00053 Float lmax; /* level-adaptation */ 00054 Float lmin; 00055 Float lmean; 00056 Float x1; 00057 Float level; 00058 int16_t nclglim; 00059 int16_t lctimer; 00060 }; 00061 00062 struct bv32_encode_state_s 00063 { 00064 Float x[XOFF]; 00065 Float xwd[XDOFF]; /* memory of DECF:1 decimated version of xw() */ 00066 Float dq[XOFF]; /* quantized short-term pred error */ 00067 Float dfm[DFO]; /* decimated xwd() filter memory */ 00068 Float stpem[LPCO]; /* ST Pred. Error filter memory, low-band */ 00069 Float stwpm[LPCO]; /* ST Weighting all-Pole Memory, low-band */ 00070 Float stnfm[LPCO]; /* ST Noise Feedback filter Memory, Lowband */ 00071 Float stsym[LPCO]; /* ST Synthesis filter Memory, Lowband */ 00072 Float ltsym[MAXPP1 + FRSZ]; /* long-term synthesis filter memory */ 00073 Float ltnfm[MAXPP1 + FRSZ]; /* long-term noise feedback filter memory */ 00074 Float lsplast[LPCO]; 00075 Float lsppm[LPCO*LSPPORDER]; /* LSP Predictor Memory */ 00076 Float lgpm[LGPORDER]; 00077 Float hpfzm[HPO]; 00078 Float hpfpm[HPO]; 00079 Float prevlg[2]; 00080 Float lmax; /* level-adaptation */ 00081 Float lmin; 00082 Float lmean; 00083 Float x1; 00084 Float level; 00085 int cpplast; /* pitch period pf the previous frame */ 00086 Float allast[LPCO + 1]; 00087 }; 00088 00089 struct BV32_Bit_Stream 00090 { 00091 int16_t lspidx[3]; 00092 int16_t ppidx; 00093 int16_t bqidx; 00094 int16_t gidx[2]; 00095 int16_t qvidx[NVPSF]; 00096 }; 00097 00098 #endif