Asterisk - The Open Source Telephony Project GIT-master-1f1c5bb
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 <stabro@megsinet.net>
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
17extern 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
23extern 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 */
35extern 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
42extern 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 */
54extern 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 */
66extern 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: */
74extern 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
short word
long longword
void Weighting_filter P2((e, x), const word *e, word *x)
longword k6maxcc P3((wt, dp, Nc_out), const word *wt, const word *dp, word *Nc_out)
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