blob: cdfc66c041d3a7988fca7e778c6796949a2056ef
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 */ |
93 | |
94 |