broadvoice/private/broadvoice.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #if !defined(_BROADVOICE_PRIVATE_BROADVOICE_H_)
00030 #define _BROADVOICE_PRIVATE_BROADVOICE_H_
00031
00032 typedef double Float;
00033
00034 #define LPCO 8
00035 #define HPO 2
00036 #define DFO 4
00037
00038 #define BV16_FRSZ 40
00039 #define BV16_MAXPP 137
00040 #define BV16_PWSZ 120
00041 #define BV16_XQOFF (BV16_MAXPP + 1)
00042 #define BV16_XOFF (BV16_MAXPP + 1)
00043 #define BV16_LTMOFF (BV16_MAXPP + 1)
00044 #define BV16_LSPPORDER 8
00045 #define BV16_NSTORDER 8
00046 #define BV16_LGPORDER 8
00047 #define BV16_DECF 4
00048 #define BV16_XDOFF (BV16_LXD - BV16_FRSZD)
00049
00050 #define BV16_FRSZD (BV16_FRSZ/BV16_DECF)
00051 #define BV16_PWSZD (BV16_PWSZ/BV16_DECF)
00052 #define BV16_MAXPPD (BV16_MAXPP/BV16_DECF)
00053 #define BV16_LXD (BV16_MAXPPD + 1 + BV16_PWSZD)
00054
00055 #define BV32_FRSZ 80
00056 #define BV32_MAXPP 265
00057 #define BV32_PWSZ 240
00058 #define BV32_XOFF (BV32_MAXPP + 1)
00059 #define BV32_LTMOFF (BV32_MAXPP + 1)
00060 #define BV32_LSPPORDER 8
00061 #define BV32_PFO 1
00062 #define BV32_LGPORDER 16
00063 #define BV32_DECF 8
00064 #define BV32_XDOFF (BV32_LXD - BV32_FRSZD)
00065
00066 #define BV32_FRSZD (BV32_FRSZ/BV32_DECF)
00067 #define BV32_PWSZD (BV32_PWSZ/BV32_DECF)
00068 #define BV32_MAXPPD (BV32_MAXPP/BV32_DECF)
00069 #define BV32_LXD (BV32_MAXPPD + 1 + BV32_PWSZD)
00070
00071 struct bv16_decode_state_s
00072 {
00073 Float stsym[LPCO];
00074 Float ltsym[BV16_LTMOFF];
00075 Float lsppm[LPCO*BV16_LSPPORDER];
00076 Float lgpm[BV16_LGPORDER];
00077 Float lsplast[LPCO];
00078 Float prevlg[2];
00079 Float lmax;
00080 Float lmin;
00081 Float lmean;
00082 Float x1;
00083 Float level;
00084 int16_t pp_last;
00085 int16_t ngfae;
00086 Float bq_last[3];
00087 int16_t nggalgc;
00088 Float estl_alpha_min;
00089 int16_t cfecount;
00090 uint32_t idum;
00091 Float E;
00092 Float per;
00093 Float atplc[LPCO + 1];
00094 Float ma_a;
00095 Float b_prv[2];
00096 Float xq[BV16_XQOFF];
00097 int pp_prv;
00098 };
00099
00100 struct bv16_encode_state_s
00101 {
00102 Float x[BV16_XOFF];
00103 Float xwd[BV16_XDOFF];
00104 Float dq[BV16_XOFF];
00105 Float dfm[DFO];
00106 Float stpem[LPCO];
00107 Float stwpm[LPCO];
00108 Float stsym[LPCO];
00109 Float ltsym[BV16_MAXPP + 1 + BV16_FRSZ];
00110 Float ltnfm[BV16_MAXPP + 1 + BV16_FRSZ];
00111 Float lsplast[LPCO];
00112 Float lsppm[LPCO*BV16_LSPPORDER];
00113 Float lgpm[BV16_LGPORDER];
00114 Float hpfzm[HPO];
00115 Float hpfpm[HPO];
00116 Float prevlg[2];
00117 Float lmax;
00118 Float lmin;
00119 Float lmean;
00120 Float x1;
00121 Float level;
00122 int cpplast;
00123 Float old_A[LPCO + 1];
00124 Float stnfz[BV16_NSTORDER];
00125 Float stnfp[BV16_NSTORDER];
00126 };
00127
00128 struct bv32_decode_state_s
00129 {
00130 Float stsym[LPCO];
00131 Float ltsym[BV32_LTMOFF];
00132 Float lsppm[LPCO*BV32_LSPPORDER];
00133 Float lgpm[BV32_LGPORDER];
00134 Float lsplast[LPCO];
00135 Float dezfm[BV32_PFO];
00136 Float depfm[BV32_PFO];
00137 int16_t cfecount;
00138 uint32_t idum;
00139 Float E;
00140 Float scplcg;
00141 Float per;
00142 Float atplc[LPCO + 1];
00143 int16_t pp_last;
00144 Float prevlg[2];
00145 Float lgq_last;
00146 Float bq_last[3];
00147 Float lmax;
00148 Float lmin;
00149 Float lmean;
00150 Float x1;
00151 Float level;
00152 int16_t nclglim;
00153 int16_t lctimer;
00154 };
00155
00156 struct bv32_encode_state_s
00157 {
00158 Float x[BV32_XOFF];
00159 Float xwd[BV32_XDOFF];
00160 Float dq[BV32_XOFF];
00161 Float dfm[DFO];
00162 Float stpem[LPCO];
00163 Float stwpm[LPCO];
00164 Float stnfm[LPCO];
00165 Float stsym[LPCO];
00166 Float ltsym[BV32_MAXPP + 1 + BV32_FRSZ];
00167 Float ltnfm[BV32_MAXPP + 1 + BV32_FRSZ];
00168 Float lsplast[LPCO];
00169 Float lsppm[LPCO*BV32_LSPPORDER];
00170 Float lgpm[BV32_LGPORDER];
00171 Float hpfzm[HPO];
00172 Float hpfpm[HPO];
00173 Float prevlg[2];
00174 Float lmax;
00175 Float lmin;
00176 Float lmean;
00177 Float x1;
00178 Float level;
00179 int cpplast;
00180 Float allast[LPCO + 1];
00181 };
00182
00183 #endif
00184