Asterisk - The Open Source Telephony Project  18.5.0
k6opt.h
Go to the documentation of this file.
1 /* k6opt.h vector functions optimized for MMX extensions to x86
2  *
3  * Copyright (C) 1999 by Stanley J. Brooks <[email protected]>
4  *
5  * Any use of this software is permitted provided that this notice is not
6  * removed and that neither the authors nor the Technische Universitaet Berlin
7  * are deemed to have made any representations as to the suitability of this
8  * software for any purpose nor are held responsible for any defects of
9  * this software. THERE IS ABSOLUTELY NO WARRANTY FOR THIS SOFTWARE;
10  * not even the implied warranty of MERCHANTABILITY or FITNESS FOR
11  * A PARTICULAR PURPOSE.
12  *
13  * Chicago, 03.12.1999
14  * Stanley J. Brooks
15  */
16 
17 extern void Weighting_filter P2((e, x),
18  const word * e, /* signal [-5..0.39.44] IN */
19  word * x /* signal [0..39] OUT */
20 )
21 ;
22 
23 extern longword k6maxcc P3((wt,dp,Nc_out),
24  const word *wt,
25  const word *dp,
26  word * Nc_out /* OUT */
27 )
28 ;
29 /*
30  * k6maxmin(p,n,out[])
31  * input p[n] is array of shorts (require n>0)
32  * returns (long) maximum absolute value..
33  * if out!=NULL, also returns out[0] the maximum and out[1] the minimum
34  */
35 extern longword k6maxmin P3((p,n,out),
36  const word *p,
37  int n,
38  word *out /* out[0] is max, out[1] is min */
39 )
40 ;
41 
42 extern longword k6iprod P3((p,q,n),
43  const word *p,
44  const word *q,
45  int n
46 )
47 ;
48 
49 /*
50  * k6vsraw(p,n,bits)
51  * input p[n] is array of shorts (require n>0)
52  * shift/round each to the right by bits>=0 bits.
53  */
54 extern void k6vsraw P3((p,n,bits),
55  const word *p,
56  int n,
57  int bits
58 )
59 ;
60 
61 /*
62  * k6vsllw(p,n,bits)
63  * input p[n] is array of shorts (require n>0)
64  * shift each to the left by bits>=0 bits.
65  */
66 extern void k6vsllw P3((p,n,bits),
67  const word *p,
68  int n,
69  int bits
70 )
71 ;
72 
73 #if 1 /* there isn't any significant speed gain from mmx here: */
74 extern void Short_term_analysis_filteringx P4((u0,rp0,k_n,s),
75  register word * u0,
76  register word * rp0, /* [0..7] IN */
77  register int k_n, /* k_end - k_start */
78  register word * s /* [0..n-1] IN/OUT */
79 )
80 ;
81 /*
82 #define Short_term_analysis_filtering Short_term_analysis_filteringx
83 */
84 #endif
void Weighting_filter P2((e, x), const word *e, word *x)
void Short_term_analysis_filteringx P4((u0, rp0, k_n, s), register word *u0, register word *rp0, register int k_n, register word *s)
FILE * out
Definition: utils/frame.c:33
long longword
longword k6maxcc P3((wt, dp, Nc_out), const word *wt, const word *dp, word *Nc_out)
short word