aboutsummaryrefslogtreecommitdiffstats
path: root/trunk/codecs/lpc10/f2c.h
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/codecs/lpc10/f2c.h')
-rw-r--r--trunk/codecs/lpc10/f2c.h325
1 files changed, 325 insertions, 0 deletions
diff --git a/trunk/codecs/lpc10/f2c.h b/trunk/codecs/lpc10/f2c.h
new file mode 100644
index 000000000..e50d642e0
--- /dev/null
+++ b/trunk/codecs/lpc10/f2c.h
@@ -0,0 +1,325 @@
+/*
+
+$Log$
+Revision 1.15 2004/06/26 03:50:14 markster
+Merge source cleanups (bug #1911)
+
+Revision 1.14 2003/02/12 13:59:15 matteo
+mer feb 12 14:56:57 CET 2003
+
+Revision 1.1.1.1 2003/02/12 13:59:15 matteo
+mer feb 12 14:56:57 CET 2003
+
+Revision 1.2 2000/01/05 08:20:39 markster
+Some OSS fixes and a few lpc changes to make it actually work
+
+ * Revision 1.2 1996/08/20 20:26:28 jaf
+ * Any typedef defining a type that was used in lpc10_encoder_state or
+ * lpc10_decoder_state struct's was commented out here and added to
+ * lpc10.h.
+ *
+ * Revision 1.1 1996/08/19 22:32:13 jaf
+ * Initial revision
+ *
+
+*/
+
+/*
+ * f2c.h
+ *
+ * SCCS ID: @(#)f2c.h 1.2 96/05/19
+ */
+
+/* f2c.h -- Standard Fortran to C header file */
+
+/** barf [ba:rf] 2. "He suggested using FORTRAN, and everybody barfed."
+
+ - From The Shogakukan DICTIONARY OF NEW ENGLISH (Second edition) */
+
+#ifndef F2C_INCLUDE
+#define F2C_INCLUDE
+
+#include "lpc10.h"
+
+/*typedef long int integer;*/
+/*typedef INT32 integer;*/
+/*typedef short int shortint;*/
+/*typedef INT16 shortint;*/
+/*typedef float real;*/
+/* doublereal only used for function arguments to sqrt, exp, etc. */
+typedef double doublereal;
+/* 32 bits seems wasteful, but there really aren't that many logical
+ * variables around, and making them 32 bits could avoid word
+ * alignment problems, perhaps. */
+/*typedef long int logical;*/
+/*typedef INT32 logical;*/
+/* The following types are not used in the translated C code for the
+ * LPC-10 coder, but they might be needed by the definitions down
+ * below, so they don't cause compilation errors. */
+typedef char *address;
+typedef struct { real r, i; } complex;
+typedef struct { doublereal r, i; } doublecomplex;
+typedef short int shortlogical;
+typedef char logical1;
+typedef char integer1;
+/* typedef long long longint; */ /* system-dependent */
+
+#define TRUE_ (1)
+#define FALSE_ (0)
+
+/* Extern is for use with -E */
+#ifndef Extern
+#define Extern extern
+#endif
+
+/* I/O stuff */
+
+#ifdef f2c_i2
+/* for -i2 */
+typedef short flag;
+typedef short ftnlen;
+typedef short ftnint;
+#else
+typedef long int flag;
+typedef long int ftnlen;
+typedef long int ftnint;
+#endif
+
+/*external read, write*/
+typedef struct
+{ flag cierr;
+ ftnint ciunit;
+ flag ciend;
+ char *cifmt;
+ ftnint cirec;
+} cilist;
+
+/*internal read, write*/
+typedef struct
+{ flag icierr;
+ char *iciunit;
+ flag iciend;
+ char *icifmt;
+ ftnint icirlen;
+ ftnint icirnum;
+} icilist;
+
+/*open*/
+typedef struct
+{ flag oerr;
+ ftnint ounit;
+ char *ofnm;
+ ftnlen ofnmlen;
+ char *osta;
+ char *oacc;
+ char *ofm;
+ ftnint orl;
+ char *oblnk;
+} olist;
+
+/*close*/
+typedef struct
+{ flag cerr;
+ ftnint cunit;
+ char *csta;
+} cllist;
+
+/*rewind, backspace, endfile*/
+typedef struct
+{ flag aerr;
+ ftnint aunit;
+} alist;
+
+/* inquire */
+typedef struct
+{ flag inerr;
+ ftnint inunit;
+ char *infile;
+ ftnlen infilen;
+ ftnint *inex; /*parameters in standard's order*/
+ ftnint *inopen;
+ ftnint *innum;
+ ftnint *innamed;
+ char *inname;
+ ftnlen innamlen;
+ char *inacc;
+ ftnlen inacclen;
+ char *inseq;
+ ftnlen inseqlen;
+ char *indir;
+ ftnlen indirlen;
+ char *infmt;
+ ftnlen infmtlen;
+ char *inform;
+ ftnint informlen;
+ char *inunf;
+ ftnlen inunflen;
+ ftnint *inrecl;
+ ftnint *innrec;
+ char *inblank;
+ ftnlen inblanklen;
+} inlist;
+
+#define VOID void
+
+union Multitype { /* for multiple entry points */
+ integer1 g;
+ shortint h;
+ integer i;
+ /* longint j; */
+ real r;
+ doublereal d;
+ complex c;
+ doublecomplex z;
+ };
+
+typedef union Multitype Multitype;
+
+/*typedef long int Long;*/ /* No longer used; formerly in Namelist */
+
+struct Vardesc { /* for Namelist */
+ char *name;
+ char *addr;
+ ftnlen *dims;
+ int type;
+ };
+typedef struct Vardesc Vardesc;
+
+struct Namelist {
+ char *name;
+ Vardesc **vars;
+ int nvars;
+ };
+typedef struct Namelist Namelist;
+
+#define abs(x) ((x) >= 0 ? (x) : -(x))
+#define dabs(x) (doublereal)abs(x)
+#define min(a,b) ((a) <= (b) ? (a) : (b))
+#define max(a,b) ((a) >= (b) ? (a) : (b))
+#define dmin(a,b) (doublereal)min(a,b)
+#define dmax(a,b) (doublereal)max(a,b)
+
+/* procedure parameter types for -A and -C++ */
+
+#define F2C_proc_par_types 1
+#ifdef __cplusplus
+typedef int /* Unknown procedure type */ (*U_fp)(...);
+typedef shortint (*J_fp)(...);
+typedef integer (*I_fp)(...);
+typedef real (*R_fp)(...);
+typedef doublereal (*D_fp)(...), (*E_fp)(...);
+typedef /* Complex */ VOID (*C_fp)(...);
+typedef /* Double Complex */ VOID (*Z_fp)(...);
+typedef logical (*L_fp)(...);
+typedef shortlogical (*K_fp)(...);
+typedef /* Character */ VOID (*H_fp)(...);
+typedef /* Subroutine */ int (*S_fp)(...);
+#else
+typedef int /* Unknown procedure type */ (*U_fp)(VOID);
+typedef shortint (*J_fp)(VOID);
+typedef integer (*I_fp)(VOID);
+typedef real (*R_fp)(VOID);
+typedef doublereal (*D_fp)(VOID), (*E_fp)(VOID);
+typedef /* Complex */ VOID (*C_fp)(VOID);
+typedef /* Double Complex */ VOID (*Z_fp)(VOID);
+typedef logical (*L_fp)(VOID);
+typedef shortlogical (*K_fp)(VOID);
+typedef /* Character */ VOID (*H_fp)(VOID);
+typedef /* Subroutine */ int (*S_fp)(VOID);
+#endif
+/* E_fp is for real functions when -R is not specified */
+typedef VOID C_f; /* complex function */
+typedef VOID H_f; /* character function */
+typedef VOID Z_f; /* double complex function */
+typedef doublereal E_f; /* real function with -R not specified */
+
+/* undef any lower-case symbols that your C compiler predefines, e.g.: */
+
+#ifndef Skip_f2c_Undefs
+#undef cray
+#undef gcos
+#undef mc68010
+#undef mc68020
+#undef mips
+#undef pdp11
+#undef sgi
+#undef sparc
+#undef sun
+#undef sun2
+#undef sun3
+#undef sun4
+#undef u370
+#undef u3b
+#undef u3b2
+#undef u3b5
+#undef unix
+#undef vax
+#endif
+
+#ifdef KR_headers
+extern integer pow_ii(ap, bp);
+extern double r_sign(a,b);
+extern integer i_nint(x);
+#else
+extern integer pow_ii(integer *ap, integer *bp);
+extern double r_sign(real *a, real *b);
+extern integer i_nint(real *x);
+
+#endif
+#ifdef P_R_O_T_O_T_Y_P_E_S
+extern int bsynz_(real *coef, integer *ip, integer *iv,
+ real *sout, real *rms, real *ratio, real *g2pass,
+ struct lpc10_decoder_state *st);
+extern int chanwr_(integer *order, integer *ipitv, integer *irms,
+ integer *irc, integer *ibits, struct lpc10_encoder_state *st);
+extern int chanrd_(integer *order, integer *ipitv, integer *irms,
+ integer *irc, integer *ibits);
+extern int chanwr_0_(int n__, integer *order, integer *ipitv,
+ integer *irms, integer *irc, integer *ibits,
+ struct lpc10_encoder_state *st);
+extern int dcbias_(integer *len, real *speech, real *sigout);
+extern int decode_(integer *ipitv, integer *irms, integer *irc,
+ integer *voice, integer *pitch, real *rms,
+ real *rc, struct lpc10_decoder_state *st);
+extern int deemp_(real *x, integer *n, struct lpc10_decoder_state *st);
+extern int difmag_(real *speech, integer *lpita, integer *tau, integer *ltau,
+ integer *maxlag, real *amdf, integer *minptr, integer *maxptr);
+extern int dyptrk_(real *amdf, integer *ltau, integer *
+ minptr, integer *voice, integer *pitch, integer *midx,
+ struct lpc10_encoder_state *st);
+extern int encode_(integer *voice, integer *pitch, real *rms, real *rc,
+ integer *ipitch, integer *irms, integer *irc);
+extern int energy_(integer *len, real *speech, real *rms);
+extern int ham84_(integer *input, integer *output, integer *errcnt);
+extern int hp100_(real *speech, integer *start, integer *end,
+ struct lpc10_encoder_state *st);
+extern int inithp100_(void);
+extern int invert_(integer *order, real *phi, real *psi, real *rc);
+extern int irc2pc_(real *rc, real *pc, integer *order, real *gprime, real *g2pass);
+extern int ivfilt_(real *lpbuf, real *ivbuf, integer *len, integer *nsamp, real *ivrc);
+extern int lpcdec_(integer *bits, real *speech);
+extern int initlpcdec_(void);
+extern int lpcenc_(real *speech, integer *bits);
+extern int initlpcenc_(void);
+extern int lpfilt_(real *inbuf, real *lpbuf, integer *len, integer *nsamp);
+extern integer median_(integer *d1, integer *d2, integer *d3);
+extern int mload_(integer *order, integer *awins, integer *awinf, real *speech, real *phi, real *psi);
+extern int onset_(real *pebuf, integer *osbuf, integer *osptr, integer *oslen, integer *sbufl, integer *sbufh, integer *lframe, struct lpc10_encoder_state *st);
+extern int pitsyn_(integer *order, integer *voice, integer *pitch, real *rms, real *rc, integer *lframe, integer *ivuv, integer *ipiti, real *rmsi, real *rci, integer *nout, real *ratio, struct lpc10_decoder_state *st);
+extern int placea_(integer *ipitch, integer *voibuf, integer *obound, integer *af, integer *vwin, integer *awin, integer *ewin, integer *lframe, integer *maxwin);
+extern int placev_(integer *osbuf, integer *osptr, integer *oslen, integer *obound, integer *vwin, integer *af, integer *lframe, integer *minwin, integer *maxwin, integer *dvwinl, integer *dvwinh);
+extern int preemp_(real *inbuf, real *pebuf, integer *nsamp, real *coef, real *z__);
+extern int prepro_(real *speech, integer *length,
+ struct lpc10_encoder_state *st);
+extern int decode_(integer *ipitv, integer *irms, integer *irc, integer *voice, integer *pitch, real *rms, real *rc, struct lpc10_decoder_state *st);
+extern integer random_(struct lpc10_decoder_state *st);
+extern int rcchk_(integer *order, real *rc1f, real *rc2f);
+extern int synths_(integer *voice, integer *pitch, real *rms, real *rc, real *speech, integer *k, struct lpc10_decoder_state *st);
+extern int tbdm_(real *speech, integer *lpita, integer *tau, integer *ltau, real *amdf, integer *minptr, integer *maxptr, integer *mintau);
+extern int voicin_(integer *vwin, real *inbuf, real *lpbuf, integer *buflim, integer *half, real *minamd, real *maxamd, integer *mintau, real *ivrc, integer *obound, integer *voibuf, integer *af, struct lpc10_encoder_state *st);
+extern int vparms_(integer *vwin, real *inbuf, real *lpbuf, integer *buflim, integer *half, real *dither, integer *mintau, integer *zc, integer *lbe, integer *fbe, real *qs, real *rc1, real *ar_b__, real *ar_f__);
+
+#endif
+
+
+#endif /* ! defined F2C_INCLUDE */