Smart Remote 3 nRF52 v1.2
bv32strct.h
1 /*****************************************************************************/
2 /* BroadVoice(R)32 (BV32) Floating-Point ANSI-C Source Code */
3 /* Revision Date: October 5, 2012 */
4 /* Version 1.2 */
5 /*****************************************************************************/
6 
7 /*****************************************************************************/
8 /* Copyright 2000-2012 Broadcom Corporation */
9 /* */
10 /* This software is provided under the GNU Lesser General Public License, */
11 /* version 2.1, as published by the Free Software Foundation ("LGPL"). */
12 /* This program is distributed in the hope that it will be useful, but */
13 /* WITHOUT ANY SUPPORT OR WARRANTY; without even the implied warranty of */
14 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the LGPL for */
15 /* more details. A copy of the LGPL is available at */
16 /* http://www.broadcom.com/licenses/LGPLv2.1.php, */
17 /* or by writing to the Free Software Foundation, Inc., */
18 /* 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
19 /*****************************************************************************/
20 
21 
22 /*****************************************************************************
23  bv32strct.h : BV32 data structures
24 
25  $Log$
26 ******************************************************************************/
27 
28 #ifndef BV32STRCT_H
29 #define BV32STRCT_H
30 
31 struct BV32_Decoder_State {
32 Float stsym[LPCO];
33 Float ltsym[LTMOFF];
34 Float lsppm[LPCO*LSPPORDER];
35 Float lgpm[LGPORDER];
36 Float lsplast[LPCO];
37 Float dezfm[PFO];
38 Float depfm[PFO];
39 short cfecount;
40 UWord32 idum;
41 Float scplcg;
42 Float per;
43 Float E;
44 Float atplc[LPCO+1];
45 short pp_last;
46 Float prevlg[2];
47 Float lgq_last;
48 Float bq_last[3];
49 Float lmax; /* level-adaptation */
50 Float lmin;
51 Float lmean;
52 Float x1;
53 Float level;
54 short nclglim;
55 short lctimer;
56 };
57 
58 struct BV32_Encoder_State {
59 Float x[XOFF];
60 Float xwd[XDOFF]; /* memory of DECF:1 decimated version of xw() */
61 Float dq[XOFF]; /* quantized short-term pred error */
62 Float dfm[DFO]; /* decimated xwd() filter memory */
63 Float stpem[LPCO]; /* ST Pred. Error filter memory, low-band */
64 Float stwpm[LPCO]; /* ST Weighting all-Pole Memory, low-band */
65 Float stnfm[LPCO]; /* ST Noise Feedback filter Memory, Lowband */
66 Float stsym[LPCO]; /* ST SYnthesis filter Memory, Lowband */
67 Float ltsym[MAXPP1+FRSZ]; /* long-term synthesis filter memory */
68 Float ltnfm[MAXPP1+FRSZ]; /* long-term noise feedback filter memory */
69 Float lsppm[LPCO*LSPPORDER]; /* LSP Predictor Memory */
70 Float allast[LPCO+1];
71 Float lsplast[LPCO];
72 Float lgpm[LGPORDER];
73 Float hpfzm[HPO];
74 Float hpfpm[HPO];
75 Float prevlg[2];
76 Float lmax; /* level-adaptation */
77 Float lmin;
78 Float lmean;
79 Float x1;
80 Float level;
81 int cpplast; /* pitch period pf the previous frame */
82 };
83 
84 struct BV32_Bit_Stream {
85 short lspidx[3];
86 short ppidx; /* 9 bit */
87 short bqidx;
88 short gidx[2];
89 short qvidx[NVPSF];
90 };
91 
92 #endif /* BV32STRCT_H */

Documentation feedback | Developer Zone | Subscribe | Updated