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