Smart Remote 3 nRF52 v1.2
Copy URL
Source
Libraries
bv32fp-1.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 */