summaryrefslogtreecommitdiffstats
path: root/thirdparties/win32/include/BroadVoice16
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparties/win32/include/BroadVoice16')
-rw-r--r--thirdparties/win32/include/BroadVoice16/bv16/bitpack.h35
-rw-r--r--thirdparties/win32/include/BroadVoice16/bv16/bv16.h47
-rw-r--r--thirdparties/win32/include/BroadVoice16/bv16/bv16cnst.h132
-rw-r--r--thirdparties/win32/include/BroadVoice16/bv16/bv16externs.h157
-rw-r--r--thirdparties/win32/include/BroadVoice16/bv16/bv16strct.h96
-rw-r--r--thirdparties/win32/include/BroadVoice16/bv16/g192.h30
-rw-r--r--thirdparties/win32/include/BroadVoice16/bv16/postfilt.h34
-rw-r--r--thirdparties/win32/include/BroadVoice16/bvcommon/basop32.h22
-rw-r--r--thirdparties/win32/include/BroadVoice16/bvcommon/bvcommon.h130
-rw-r--r--thirdparties/win32/include/BroadVoice16/bvcommon/mathutil.h47
-rw-r--r--thirdparties/win32/include/BroadVoice16/bvcommon/memutil.h31
-rw-r--r--thirdparties/win32/include/BroadVoice16/bvcommon/typedef.h36
-rw-r--r--thirdparties/win32/include/BroadVoice16/bvcommon/utility.h31
13 files changed, 828 insertions, 0 deletions
diff --git a/thirdparties/win32/include/BroadVoice16/bv16/bitpack.h b/thirdparties/win32/include/BroadVoice16/bv16/bitpack.h
new file mode 100644
index 0000000..032cf42
--- /dev/null
+++ b/thirdparties/win32/include/BroadVoice16/bv16/bitpack.h
@@ -0,0 +1,35 @@
+/*****************************************************************************/
+/* BroadVoice(R)16 (BV16) Fixed-Point ANSI-C Source Code */
+/* Revision Date: November 13, 2009 */
+/* Version 1.1 */
+/*****************************************************************************/
+
+/*****************************************************************************/
+/* Copyright 2000-2009 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. */
+/*****************************************************************************/
+
+
+
+/*****************************************************************************
+ bitpack.h: BV16 bit packing routines
+
+ $Log$
+******************************************************************************/
+
+#ifndef BITPACK_H
+#define BITPACK_H
+
+void BV16_BitPack(UWord8 * PackedStream, struct BV16_Bit_Stream * BitStruct );
+void BV16_BitUnPack(UWord8 * PackedStream, struct BV16_Bit_Stream * BitStruct );
+
+#endif
diff --git a/thirdparties/win32/include/BroadVoice16/bv16/bv16.h b/thirdparties/win32/include/BroadVoice16/bv16/bv16.h
new file mode 100644
index 0000000..df9e5ce
--- /dev/null
+++ b/thirdparties/win32/include/BroadVoice16/bv16/bv16.h
@@ -0,0 +1,47 @@
+/*****************************************************************************/
+/* BroadVoice(R)16 (BV16) Fixed-Point ANSI-C Source Code */
+/* Revision Date: November 13, 2009 */
+/* Version 1.1 */
+/*****************************************************************************/
+
+/*****************************************************************************/
+/* Copyright 2000-2009 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. */
+/*****************************************************************************/
+
+
+/*****************************************************************************
+ bv16.h :
+
+ $Log$
+******************************************************************************/
+
+void Reset_BV16_Encoder(
+struct BV16_Encoder_State *cs);
+
+void BV16_Encode(
+struct BV16_Bit_Stream *bs,
+struct BV16_Encoder_State *cs,
+Word16 *inx);
+
+void Reset_BV16_Decoder(
+struct BV16_Decoder_State *ds);
+
+void BV16_Decode(
+struct BV16_Bit_Stream *bs,
+struct BV16_Decoder_State *ds,
+Word16 *xq);
+
+void BV16_PLC(
+struct BV16_Decoder_State *ds,
+Word16 *x);
+
diff --git a/thirdparties/win32/include/BroadVoice16/bv16/bv16cnst.h b/thirdparties/win32/include/BroadVoice16/bv16/bv16cnst.h
new file mode 100644
index 0000000..f6b42b5
--- /dev/null
+++ b/thirdparties/win32/include/BroadVoice16/bv16/bv16cnst.h
@@ -0,0 +1,132 @@
+/*****************************************************************************/
+/* BroadVoice(R)16 (BV16) Fixed-Point ANSI-C Source Code */
+/* Revision Date: November 13, 2009 */
+/* Version 1.1 */
+/*****************************************************************************/
+
+/*****************************************************************************/
+/* Copyright 2000-2009 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. */
+/*****************************************************************************/
+
+
+/*****************************************************************************
+ bv16cnst.h : BV16 constants
+
+ $Log$
+******************************************************************************/
+
+#ifndef BV16CNST_H
+#define BV16CNST_H
+
+/* ----- Basic Codec Parameters ----- */
+#define FRSZ 40 /* frame size */
+#define WINSZ 160 /* lpc analysis WINdow SiZe */
+#define MAXPP 137 /* MAXimum Pitch Period */
+#define MINPP 10 /* MINimum Pitch Period */
+#define PWSZ 120 /* Pitch analysis Window SiZe */
+#define MAXPP1 (MAXPP+1)/* MAXimum Pitch Period + 1 */
+
+/* Quantization parameters */
+#define VDIM 4 /* excitation vector dimension */
+#define CBSZ 16 /* excitation codebook size */
+#define PPCBSZ 32 /* pitch predictor codebook size */
+#define LGPORDER 8 /* Log-Gain Predictor OODER */
+#define LGPECBSZ 16 /* Log-Gain Prediction Error CodeBook SiZe */
+#define LSPPORDER 8 /* LSP MA Predictor ORDER */
+#define LSPECBSZ1 128 /* codebook size of 1st-stage LSP VQ */
+#define LSPECBSZ2 64 /* codebook size of 2nd-stage LSP VQ; 1-bit for sign */
+
+/* Excitation gain quantization */
+#define GPO 8 /* order of MA prediction */
+#define NG 18 /* number of relative gain bins */
+#define GLB -24. /* lower relative gain bound */
+#define NGC 12 /* number of gain change bins */
+#define GCLB -8. /* lower gain change bound */
+#define Minlg 0. /* minimum log-gain */
+#define TMinlg 1. /* minimum linear gain */
+#define LGCBSZ 16 /* size of codebook */
+
+/* Definitions for periodicity to gain scaling mapping */
+#define ScPLCGmin 1639 /* 0.1 Q14 */
+#define ScPLCGmax 14746 /* 0.9 Q14 */
+#define ScPLCG_b -32768 /* -2.0 in Q14 */
+#define ScPLCG_a 31129 /* 1.9 in Q14 */
+#define HoldPLCG 8
+#define AttnPLCG 50
+#define AttnFacPLCG 20971
+
+/* Level Estimation */
+#define estl_alpha 32760
+#define estl_alpha1 32640
+#define estl_beta 32704
+#define estl_beta1 64
+#define estl_a 32640
+#define estl_a1 128
+#define estl_TH 6554
+#define Nfdm 100 /* Max number of frames with fast decay of Lmin */
+
+/* Log-Gain Limitation */
+#define LGLB -24 /* Log-Gain Lower Bound */
+#define LGCLB -8 /* Log-Gain Change Lower Bound */
+#define NGB 18 /* Number of Gain Bins */
+#define NGCB 12 /* Number of Gain Change Bins */
+
+/* Buffer offsets and sizes */
+#define XOFF MAXPP1 /* offset for x() frame */
+#define LX (XOFF+FRSZ) /* Length of x() buffer */
+#define XQOFF (MAXPP1) /* xq() offset before current subframe */
+#define LXQ (XQOFF+FRSZ) /* Length of xq() buffer */
+#define LTMOFF (MAXPP1) /* Long-Term filter Memory OFFset */
+
+/* Long-term postfilter */
+#define DPPQNS 4 /* Delta pitch period for search */
+#define NINT 20 /* length of filter interpolation */
+#define ATHLD1 18022 /* 0.55 Q15 threshold on normalized pitch correlation */
+#define ATHLD2 26214 /* 0.80 Q15 threshold on normalized pitch correlation */
+#define ScLTPF 9830 /* 0.3 Q15 scaling of LTPF coefficient */
+
+/* Coarse pitch search */
+#define MAX_NPEAKS 7
+#define TH1 23921 /* first threshold for cor*cor/energy */
+#define TH2 13107 /* second threshold for cor*cor/energy */
+#define LPTH1 25887 /* Last Pitch cor*cor/energy THreshold 1 */
+#define LPTH2 14090 /* Last Pitch cor*cor/energy THreshold 2 */
+#define MPDTH 2130 /* Multiple Pitch Deviation THreshold */
+#define SMDTH 3113 /* Sub-Multiple pitch Deviation THreshold 0.125 */
+#define MPTH4 9830
+
+/* Decimation parameters */
+#define DECF 4 /* DECimation Factor for coarse pitch period search */
+#define FRSZD (FRSZ/DECF) /* FRame SiZe in DECF:1 lowband domain */
+#define MAXPPD (MAXPP/DECF) /* MAX Pitch in DECF:1, */
+#define MINPPD ((int)(MINPP/DECF)) /* MINimum Pitch Period in DECF:1 */
+#define PWSZD (PWSZ/DECF) /* Pitch ana Window SiZe in DECF:1 domain */
+#define DFO 4
+#define MAXPPD1 (MAXPPD+1)
+#define LXD (MAXPPD1+PWSZD)
+#define XDOFF (LXD-FRSZD)
+#define HMAXPPD (MAXPPD/2)
+#define M1 (MINPPD-1)
+#define M2 MAXPPD1
+#define HDECF (DECF/2)
+
+/* Front-end 150 Hz highpass filter */
+#define HPO 2 /* High-pass filter order */
+
+/* LPC weighting filter */
+#define LTWF 4096 /* 0.5 in Q13 perceptual Weighting Factor Lowband */
+
+/* pole-zero NFC shaping filter */
+#define NSTORDER 8
+
+#endif /* BV16CNST_H */
diff --git a/thirdparties/win32/include/BroadVoice16/bv16/bv16externs.h b/thirdparties/win32/include/BroadVoice16/bv16/bv16externs.h
new file mode 100644
index 0000000..dc61fb5
--- /dev/null
+++ b/thirdparties/win32/include/BroadVoice16/bv16/bv16externs.h
@@ -0,0 +1,157 @@
+/*****************************************************************************/
+/* BroadVoice(R)16 (BV16) Fixed-Point ANSI-C Source Code */
+/* Revision Date: November 13, 2009 */
+/* Version 1.1 */
+/*****************************************************************************/
+
+/*****************************************************************************/
+/* Copyright 2000-2009 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. */
+/*****************************************************************************/
+
+
+/*****************************************************************************
+ bv16externs.c : BV16 Fixed-Point externs
+
+ $Log$
+******************************************************************************/
+
+/* POINTERS */
+extern Word16 winl[WINSZ];
+extern Word16 sstwinl_h[];
+extern Word16 sstwinl_l[];
+extern Word16 gfsz[];
+extern Word16 gfsp[];
+extern Word16 idxord[];
+extern Word16 hpfa[];
+extern Word16 hpfb[];
+extern Word16 adf_h[];
+extern Word16 adf_l[];
+extern Word16 bdf[];
+extern Word16 x[];
+extern Word16 x2[];
+extern Word16 MPTH[];
+
+/* LSP Quantization */
+extern Word16 lspecb1[];
+extern Word16 lspecb2[];
+extern Word16 lspmean[];
+extern Word16 lspp[];
+
+/* Log-Gain Quantization */
+extern Word16 lgpecb[];
+extern Word16 lgp[];
+extern Word16 lgmean;
+
+/* Log-Gain Limitation */
+extern Word16 lgclimit[];
+
+/* Excitation Codebook */
+extern Word16 cccb[];
+
+/* Function Prototypes */
+Word32 estlevel(
+Word32 lg,
+Word32 *level,
+Word32 *lmax,
+Word32 *lmin,
+Word32 *lmean,
+Word32 *x1,
+Word16 ngfae,
+Word16 nggalgc,
+Word16 *estl_alpha_min); /* Q15 */
+
+void excdec_w_synth(
+Word16 *xq, /* (o) Q0 quantized signal vector */
+Word16 *ltsym, /* (i/o) Q16 quantized excitation signal vector */
+Word16 *stsym, /* (i/o) Q0 short-term predictor memory */
+Word16 *idx, /* (o) quantizer codebook index for uq[] vector */
+Word16 *b, /* (i) Q15 coefficient of 3-tap pitch predictor */
+Word16 *cb, /* (i) Q0 codebook */
+Word16 pp, /* pitch period (# of 8 kHz samples) */
+Word16 *aq, /* (i) Q12 short-term predictor coefficients */
+Word16 gain_exp, /* gain_exp of current sub-frame */
+Word32 *EE
+);
+
+Word32 gaindec(
+Word32 *lgq, /* Q25 */
+Word16 gidx,
+Word16 *lgpm, /* Q11 */
+Word32 *prevlg, /* Q25 */
+Word32 level, /* Q25 */
+Word16 *nggalgc,
+Word32 *lg_el);
+
+void gainplc(Word32 E, Word16 *lgeqm, Word32 *lgqm);
+
+void lspdec(
+Word16 *lspq, /* Q15 */
+Word16 *lspidx,
+Word16 *lsppm, /* Q15 */
+Word16 *lspqlast);
+
+void lspdecplc(
+Word16 *lspq, /* Q15 */
+Word16 *lsppm); /* Q15 */
+
+Word16 coarsepitch(
+Word16 *xw, /* (i) Q1 weighted low-band signal frame */
+struct BV16_Encoder_State *c); /* (i/o) coder state */
+
+Word16 refinepitch(
+Word16 *x,
+Word16 cpp,
+Word16 *ppt);
+
+Word16 pitchtapquan(
+Word16 *x,
+Word16 pp,
+Word16 *b,
+Word32 *re);
+
+void excquan(
+Word16 *idx, /* quantizer codebook index for uq[] vector */
+Word16 *s, /* (i) Q0 input signal vector */
+Word16 *aq, /* (i) Q12 noise feedback filter coefficient array */
+Word16 *fsz, /* (i) Q12 short-term noise feedback filter - numerator */
+Word16 *fsp, /* (i) Q12 short-term noise feedback filter - denominator */
+Word16 *b, /* (i) Q15 coefficient of 3-tap pitch predictor */
+Word16 beta, /* (i) Q13 coefficient of pitch feedback filter */
+Word16 *stsym, /* (i/o) Q0 filter memory */
+Word16 *ltsym, /* (i/0) Q0 long-term synthesis filter memory */
+Word16 *ltnfm, /* (i/o) Q0 long-term noise feedback filter memory */
+Word16 *stnfz, /* (i/o) Q0 filter memory */
+Word16 *stnfp, /* (i/o) Q0 filter memory */
+Word16 *cb, /* (i) scalar quantizer codebook - normalized by gain_exp */
+Word16 pp, /* pitch period (# of 8 kHz samples) */
+Word16 gain_exp
+);
+
+Word16 gainquan(
+Word32 *gainq, /* Q18 */
+Word32 *ee, /* Q3 */
+Word16 *lgpm, /* Q11 */
+Word32 *prevlg, /* Q25 */
+Word32 level); /* Q25 */
+
+void lspquan(
+Word16 *lspq,
+Word16 *lspidx,
+Word16 *lsp,
+Word16 *lsppm);
+
+void preprocess(
+struct BV16_Encoder_State *cs,
+Word16 *output, /* (o) Q0 output signal, less factor 1.5 */
+Word16 *input, /* (i) Q0 input signal */
+Word16 N); /* length of signal */
diff --git a/thirdparties/win32/include/BroadVoice16/bv16/bv16strct.h b/thirdparties/win32/include/BroadVoice16/bv16/bv16strct.h
new file mode 100644
index 0000000..ee6895f
--- /dev/null
+++ b/thirdparties/win32/include/BroadVoice16/bv16/bv16strct.h
@@ -0,0 +1,96 @@
+/*****************************************************************************/
+/* BroadVoice(R)16 (BV16) Fixed-Point ANSI-C Source Code */
+/* Revision Date: November 13, 2009 */
+/* Version 1.1 */
+/*****************************************************************************/
+
+/*****************************************************************************/
+/* Copyright 2000-2009 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 {
+Word16 stsym[LPCO];
+Word16 ltsym[LTMOFF];
+Word16 xq[XQOFF];
+Word16 lsppm[LPCO*LSPPORDER];
+Word16 lgpm[LGPORDER];
+Word16 lsplast[LPCO];
+Word32 prevlg[2];
+Word32 lmax;
+Word32 lmin;
+Word32 lmean;
+Word32 x1;
+Word32 level;
+Word16 pp_last;
+Word16 cfecount;
+Word16 ngfae;
+Word16 bq_last[3];
+Word16 nggalgc;
+Word16 estl_alpha_min;
+UWord32 idum;
+Word16 per; /* Q15 */
+Word32 E;
+Word16 atplc[LPCO+1];
+Word16 ma_a;
+Word16 b_prv[2];
+Word16 pp_prv;
+};
+
+struct BV16_Encoder_State {
+Word32 prevlg[2];
+Word32 lmax;
+Word32 lmin;
+Word32 lmean;
+Word32 x1;
+Word32 level;
+Word16 x[XOFF]; /* Signal memory */
+Word16 xwd[XDOFF]; /* Memory of DECF:1 decimated version of xw() */
+Word16 xwd_exp; /* or block floating-point in coarptch.c */
+Word16 dq[XOFF]; /* Q0 - Quantized short-term pred error */
+Word16 dfm_h[DFO]; /* Decimated xwd() filter memory */
+Word16 dfm_l[DFO];
+Word16 stwpm[LPCO]; /* Q0 - Short-term weighting all-pole filter memory */
+Word16 stsym[LPCO]; /* Q0 - Short-term synthesis filter memory */
+Word16 stnfz[NSTORDER]; /* Q0 - Short-term noise feedback filter memory - zero section */
+Word16 stnfp[NSTORDER]; /* Q0 - Short-term noise feedback filter memory - pole section */
+Word16 ltnfm[MAXPP1]; /* Q0 - Long-term noise feedback filter memory */
+Word16 lsplast[LPCO];
+Word16 lsppm[LPCO*LSPPORDER]; /* Q15 - LSP Predictor Memory */
+Word16 lgpm[LGPORDER]; /* Q11 - Log-Gain Predictor Memory */
+Word16 cpplast; /* Pitch period pf the previous frame */
+Word16 hpfzm[HPO];
+Word16 hpfpm[2*HPO];
+Word16 old_A[1+LPCO]; /* Q12 - LPC of previous frame */
+};
+
+struct BV16_Bit_Stream {
+Word16 lspidx[2];
+Word16 ppidx;
+Word16 bqidx;
+Word16 gidx;
+Word16 qvidx[FRSZ/VDIM];
+};
+
+#endif /* BV16STRCT_H */
+
+
diff --git a/thirdparties/win32/include/BroadVoice16/bv16/g192.h b/thirdparties/win32/include/BroadVoice16/bv16/g192.h
new file mode 100644
index 0000000..26e3c8e
--- /dev/null
+++ b/thirdparties/win32/include/BroadVoice16/bv16/g192.h
@@ -0,0 +1,30 @@
+/*****************************************************************************/
+/* BroadVoice(R)16 (BV16) Fixed-Point ANSI-C Source Code */
+/* Revision Date: November 13, 2009 */
+/* Version 1.1 */
+/*****************************************************************************/
+
+/*****************************************************************************/
+/* Copyright 2000-2009 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. */
+/*****************************************************************************/
+
+
+/*****************************************************************************
+ g192.h : BV16 G.192
+
+ $Log$
+******************************************************************************/
+
+/* prototypes for G.192 bit-stream functions */
+void bv16_fwrite_g192bitstrm(struct BV16_Bit_Stream *bs, FILE *fo);
+short bv16_fread_g192bitstrm(struct BV16_Bit_Stream *bs, FILE *fi);
diff --git a/thirdparties/win32/include/BroadVoice16/bv16/postfilt.h b/thirdparties/win32/include/BroadVoice16/bv16/postfilt.h
new file mode 100644
index 0000000..76db5e0
--- /dev/null
+++ b/thirdparties/win32/include/BroadVoice16/bv16/postfilt.h
@@ -0,0 +1,34 @@
+/*****************************************************************************/
+/* BroadVoice(R)16 (BV16) Fixed-Point ANSI-C Source Code */
+/* Revision Date: November 13, 2009 */
+/* Version 1.1 */
+/*****************************************************************************/
+
+/*****************************************************************************/
+/* Copyright 2000-2009 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. */
+/*****************************************************************************/
+
+
+/*****************************************************************************
+ postfilt.h : BV16 Post Filter
+
+ $Log$
+******************************************************************************/
+
+void postfilter(
+Word16 *s, /* input : quantized speech signal */
+Word16 pp, /* input : pitch period */
+Word16 *ma_a,
+Word16 *b_prv,
+Word16 *pp_prv,
+Word16 *e); /* output: enhanced speech signal */
diff --git a/thirdparties/win32/include/BroadVoice16/bvcommon/basop32.h b/thirdparties/win32/include/BroadVoice16/bvcommon/basop32.h
new file mode 100644
index 0000000..f3c47d8
--- /dev/null
+++ b/thirdparties/win32/include/BroadVoice16/bvcommon/basop32.h
@@ -0,0 +1,22 @@
+/*****************************************************************************/
+/* BroadVoice(R)16 (BV16) Fixed-Point ANSI-C Source Code */
+/* Revision Date: November 13, 2009 */
+/* Version 1.1 */
+/*****************************************************************************/
+
+/*****************************************************************************/
+/* Copyright 2000-2009 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. */
+/*****************************************************************************/
+
+#include "../itug191lib/basop32.h"
+#include "../itug729ilib/oper_32b.h"
diff --git a/thirdparties/win32/include/BroadVoice16/bvcommon/bvcommon.h b/thirdparties/win32/include/BroadVoice16/bvcommon/bvcommon.h
new file mode 100644
index 0000000..b8accf1
--- /dev/null
+++ b/thirdparties/win32/include/BroadVoice16/bvcommon/bvcommon.h
@@ -0,0 +1,130 @@
+/*****************************************************************************/
+/* BroadVoice(R)16 (BV16) Fixed-Point ANSI-C Source Code */
+/* Revision Date: November 13, 2009 */
+/* Version 1.1 */
+/*****************************************************************************/
+
+/*****************************************************************************/
+/* Copyright 2000-2009 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. */
+/*****************************************************************************/
+
+
+/*****************************************************************************
+ bvcommon.h : Common Fixed-Point Library: common #defines and prototypes
+
+ $Log$
+******************************************************************************/
+
+#ifndef BVCOMMON_H
+#define BVCOMMON_H
+
+/* ----- Basic Codec Parameters ----- */
+
+#define LPCO 8 /* LPC Order for 8 kHz sampled lowband signal */
+#define Ngrd 60
+
+#define LSPMIN 49 /* 0.00150 minimum lsp frequency */
+#define LSPMAX 32694 /* 0.99775 maximum lsp frequency */
+#define DLSPMIN 410 /* 0.01250 minimum lsp spacing */
+#define STBLDIM 3 /* dimension of stability enforcement */
+
+/* LPC bandwidth expansion */
+extern Word16 bwel[];
+
+/* LPC to lsp Conversion */
+extern Word16 grid[];
+
+/* LPC WEIGHTING FILTER */
+extern Word16 STWAL[];
+
+/* Coarse Pitch Search */
+extern Word16 invk[];
+
+/* Pitch tap codebook - actually content different for BV16 and BV32 */
+extern Word16 pp9cb[];
+
+/* Function prototypes */
+
+void azfilter(
+ Word16 a[], /* (i) Q12 : prediction coefficients */
+ Word16 m, /* (i) : LPC order */
+ Word16 x[], /* (i) Q0 : input signal samples, incl. past */
+ Word16 y[], /* (o) Q0 : filtered output signal */
+ Word16 lg /* (i) : size of filtering */
+ );
+
+void apfilter(
+ Word16 a[], /* (i) Q12 : prediction coefficients */
+ Word16 m, /* (i) : LPC order */
+ Word16 x[], /* (i) Q0 : input signal */
+ Word16 y[], /* (o) Q0 : output signal */
+ Word16 lg, /* (i) : size of filtering */
+ Word16 mem[], /* (i/o) Q0: filter memory */
+ Word16 update /* (i) : memory update flag */
+ );
+
+void lsp2a(
+Word16 lsp[], /* (i) Q15 : line spectral frequencies */
+Word16 a[]); /* (o) Q12 : predictor coefficients (order = 10) */
+
+void stblz_lsp(
+Word16 *lsp, /* Q15 */
+Word16 order);
+
+Word16 stblchck(
+Word16 *x,
+Word16 vdim);
+
+void a2lsp(
+Word16 a[], /* (i) Q12 : predictor coefficients */
+Word16 lsp[], /* (o) Q15 : line spectral frequencies */
+Word16 old_lsp[]); /* (i) : old lsp[] (in case not found 10 roots) */
+
+void Autocorr(
+ Word32 r[], /* (o) : Autocorrelations */
+ Word16 x[], /* (i) : Input signal */
+ Word16 window[],/* (i) : LPC Analysis window */
+ Word16 l_window,/* (i) : window length */
+ Word16 m); /* (i) : LPC order */
+
+void Spectral_Smoothing(
+Word16 m, /* (i) : LPC order */
+Word32 rl[], /* (i/o) : Autocorrelations lags */
+Word16 lag_h[], /* (i) : SST coefficients (msb) */
+Word16 lag_l[]); /* (i) : SST coefficients (lsb) */
+
+void Levinson(
+ Word32 r32[], /* (i) : r32[] double precision vector of autocorrelation coefficients */
+ Word16 a[], /* (o) : a[] in Q12 - LPC coefficients */
+ Word16 old_a[], /* (i/o): old_a[] in Q12 - previous LPC coefficients */
+ Word16 m); /* (i) : LPC order */
+
+void pp3dec(
+Word16 idx,
+Word16 *b);
+
+void vqdec(
+Word16 *xq,
+Word16 idx,
+Word16 *cb,
+Word16 vdim);
+
+#ifdef _MSC_VER
+#include "math.h"
+static __inline double round(double val)
+{
+ return floor(val + 0.5);
+}
+#endif
+
+#endif /* BVCOMMON_H */
diff --git a/thirdparties/win32/include/BroadVoice16/bvcommon/mathutil.h b/thirdparties/win32/include/BroadVoice16/bvcommon/mathutil.h
new file mode 100644
index 0000000..e54a74c
--- /dev/null
+++ b/thirdparties/win32/include/BroadVoice16/bvcommon/mathutil.h
@@ -0,0 +1,47 @@
+/*****************************************************************************/
+/* BroadVoice(R)16 (BV16) Fixed-Point ANSI-C Source Code */
+/* Revision Date: November 13, 2009 */
+/* Version 1.1 */
+/*****************************************************************************/
+
+/*****************************************************************************/
+/* Copyright 2000-2009 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. */
+/*****************************************************************************/
+
+
+/*****************************************************************************
+ fixmath.h : Common Fixed-Point Library:
+
+ $Log$
+******************************************************************************/
+
+Word32 Pow2( /* Q0 output */
+ Word16 int_comp, /* Q0 Integer part */
+ Word16 frac_comp /* Q15 frac_compal part */
+ );
+
+void Log2(
+ Word32 x, /* (i) input */
+ Word16 *int_comp, /* Q0 integer part */
+ Word16 *frac_comp /* Q15 fractional part */
+ );
+
+void sqrt_i(Word16 x_man, Word16 x_exp, Word16 *y_man, Word16 *y_exp);
+Word16 sqrts(Word16 x);
+
+extern Word16 tabsqrt[];
+extern Word16 tablog[];
+extern Word16 tabpow[];
+extern Word16 costable[];
+extern Word16 acosslope[];
+
diff --git a/thirdparties/win32/include/BroadVoice16/bvcommon/memutil.h b/thirdparties/win32/include/BroadVoice16/bvcommon/memutil.h
new file mode 100644
index 0000000..4c67f5f
--- /dev/null
+++ b/thirdparties/win32/include/BroadVoice16/bvcommon/memutil.h
@@ -0,0 +1,31 @@
+/*****************************************************************************/
+/* BroadVoice(R)16 (BV16) Fixed-Point ANSI-C Source Code */
+/* Revision Date: November 13, 2009 */
+/* Version 1.1 */
+/*****************************************************************************/
+
+/*****************************************************************************/
+/* Copyright 2000-2009 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. */
+/*****************************************************************************/
+
+
+/*****************************************************************************
+ memutil.h : Common Fixed-Point Library: memory utilities
+
+ $Log$
+******************************************************************************/
+
+Word16 *allocWord16(long nl, long nh);
+void deallocWord16(Word16 *v, long nl, long nh);
+Word32 *allocWord32(long nl, long nh);
+void deallocWord32(Word32 *v, long nl, long nh);
diff --git a/thirdparties/win32/include/BroadVoice16/bvcommon/typedef.h b/thirdparties/win32/include/BroadVoice16/bvcommon/typedef.h
new file mode 100644
index 0000000..68f5e17
--- /dev/null
+++ b/thirdparties/win32/include/BroadVoice16/bvcommon/typedef.h
@@ -0,0 +1,36 @@
+/*****************************************************************************/
+/* BroadVoice(R)16 (BV16) Fixed-Point ANSI-C Source Code */
+/* Revision Date: November 13, 2009 */
+/* Version 1.1 */
+/*****************************************************************************/
+
+/*****************************************************************************/
+/* Copyright 2000-2009 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. */
+/*****************************************************************************/
+
+
+/*****************************************************************************
+ typedef.h : Common Fixed-Point Library:
+
+ $Log$
+******************************************************************************/
+
+#ifndef __TYPEDEF__
+#define __TYPEDEF__
+typedef unsigned char UWord8;
+typedef short Word16;
+typedef int Word32;
+typedef unsigned int UWord32;
+typedef int Flag;
+#endif
+
diff --git a/thirdparties/win32/include/BroadVoice16/bvcommon/utility.h b/thirdparties/win32/include/BroadVoice16/bvcommon/utility.h
new file mode 100644
index 0000000..ea4202e
--- /dev/null
+++ b/thirdparties/win32/include/BroadVoice16/bvcommon/utility.h
@@ -0,0 +1,31 @@
+/*****************************************************************************/
+/* BroadVoice(R)16 (BV16) Fixed-Point ANSI-C Source Code */
+/* Revision Date: November 13, 2009 */
+/* Version 1.1 */
+/*****************************************************************************/
+
+/*****************************************************************************/
+/* Copyright 2000-2009 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. */
+/*****************************************************************************/
+
+
+/*****************************************************************************
+ utility.h : Common Fixed-Point Library:
+
+ $Log$
+******************************************************************************/
+
+void W16copy(Word16 *y, Word16 *x, int size);
+void W16zero(Word16 *x, int size);
+void W32copy(Word32 *y, Word32 *x, int size);
+
OpenPOWER on IntegriCloud