bv32strct.h

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

Generated on 15 Mar 2017 for libg722_1 by  doxygen 1.6.1