annotate libaf/af_resample_template.c @ 33010:fafbc46915db

Change MP_IMGFLAG_ACCEPT_STRIDE to MP_IMGFLAG_ACCEPT_ALIGNED_STRIDE as various FFmpeg assembly routines assume aligned input.
author zuxy
date Wed, 23 Mar 2011 14:52:13 +0000
parents 0f1b5b68af32
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
28229
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 28201
diff changeset
1 /*
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 28201
diff changeset
2 * Copyright (C) 2002 Anders Johansson ajh@atri.curtin.edu.au
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 28201
diff changeset
3 *
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 28201
diff changeset
4 * This file is part of MPlayer.
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 28201
diff changeset
5 *
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 28201
diff changeset
6 * MPlayer is free software; you can redistribute it and/or modify
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 28201
diff changeset
7 * it under the terms of the GNU General Public License as published by
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 28201
diff changeset
8 * the Free Software Foundation; either version 2 of the License, or
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 28201
diff changeset
9 * (at your option) any later version.
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 28201
diff changeset
10 *
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 28201
diff changeset
11 * MPlayer is distributed in the hope that it will be useful,
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 28201
diff changeset
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 28201
diff changeset
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 28201
diff changeset
14 * GNU General Public License for more details.
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 28201
diff changeset
15 *
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 28201
diff changeset
16 * You should have received a copy of the GNU General Public License along
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 28201
diff changeset
17 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 28201
diff changeset
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
72d0b1444141 Replace informal license notices by standard license header
diego
parents: 28201
diff changeset
19 */
28201
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
20
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
21 /* This file contains the resampling engine, the sample format is
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
22 controlled by the FORMAT parameter, the filter length by the L
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
23 parameter and the resampling type by UP and DN. This file should
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28230
diff changeset
24 only be included by af_resample.c
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28230
diff changeset
25 */
28201
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
26
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
27 #undef L
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
28 #undef SHIFT
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
29 #undef FORMAT
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
30 #undef FIR
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
31 #undef ADDQUE
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
32
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
33 /* The length Lxx definition selects the length of each poly phase
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
34 component. Valid definitions are L8 and L16 where the number
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
35 defines the nuber of taps. This definition affects the
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
36 computational complexity, the performance and the memory usage.
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
37 */
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
38
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
39 /* The FORMAT_x parameter selects the sample format type currently
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
40 float and int16 are supported. Thes two formats are selected by
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
41 defining eiter FORMAT_F or FORMAT_I. The advantage of using float
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
42 is that the amplitude and therefore the SNR isn't affected by the
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
43 filtering, the disadvantage is that it is a lot slower.
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
44 */
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
45
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
46 #if defined(FORMAT_I)
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
47 #define SHIFT >>16
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
48 #define FORMAT int16_t
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28230
diff changeset
49 #else
28201
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
50 #define SHIFT
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
51 #define FORMAT float
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
52 #endif
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
53
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
54 // Short filter
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28230
diff changeset
55 #if defined(L8)
28201
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
56
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
57 #define L 8 // Filter length
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28230
diff changeset
58 // Unrolled loop to speed up execution
28201
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
59 #define FIR(x,w,y) \
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
60 (y[0]) = ( w[0]*x[0]+w[1]*x[1]+w[2]*x[2]+w[3]*x[3] \
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
61 + w[4]*x[4]+w[5]*x[5]+w[6]*x[6]+w[7]*x[7] ) SHIFT
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
62
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
63
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
64
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
65 #else /* L8/L16 */
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
66
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
67 #define L 16
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28230
diff changeset
68 // Unrolled loop to speed up execution
28201
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
69 #define FIR(x,w,y) \
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
70 y[0] = ( w[0] *x[0] +w[1] *x[1] +w[2] *x[2] +w[3] *x[3] \
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
71 + w[4] *x[4] +w[5] *x[5] +w[6] *x[6] +w[7] *x[7] \
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
72 + w[8] *x[8] +w[9] *x[9] +w[10]*x[10]+w[11]*x[11] \
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
73 + w[12]*x[12]+w[13]*x[13]+w[14]*x[14]+w[15]*x[15] ) SHIFT
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
74
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
75 #endif /* L8/L16 */
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
76
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28230
diff changeset
77 // Macro to add data to circular que
28201
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
78 #define ADDQUE(xi,xq,in)\
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
79 xq[xi]=xq[(xi)+L]=*(in);\
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
80 xi=((xi)-1)&(L-1);
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
81
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
82 #if defined(UP)
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
83
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
84 uint32_t ci = l->nch; // Index for channels
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
85 uint32_t nch = l->nch; // Number of channels
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28230
diff changeset
86 uint32_t inc = s->up/s->dn;
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28230
diff changeset
87 uint32_t level = s->up%s->dn;
28201
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
88 uint32_t up = s->up;
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
89 uint32_t dn = s->dn;
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
90 uint32_t ns = c->len/l->bps;
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
91 register FORMAT* w = s->w;
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
92
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
93 register uint32_t wi = 0;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28230
diff changeset
94 register uint32_t xi = 0;
28201
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
95
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
96 // Index current channel
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
97 while(ci--){
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
98 // Temporary pointers
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
99 register FORMAT* x = s->xq[ci];
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
100 register FORMAT* in = ((FORMAT*)c->audio)+ci;
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
101 register FORMAT* out = ((FORMAT*)l->audio)+ci;
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
102 FORMAT* end = in+ns; // Block loop end
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
103 wi = s->wi; xi = s->xi;
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
104
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
105 while(in < end){
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
106 register uint32_t i = inc;
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
107 if(wi<level) i++;
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
108
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
109 ADDQUE(xi,x,in);
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
110 in+=nch;
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
111 while(i--){
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
112 // Run the FIR filter
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
113 FIR((&x[xi]),(&w[wi*L]),out);
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
114 len++; out+=nch;
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
115 // Update wi to point at the correct polyphase component
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
116 wi=(wi+dn)%up;
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
117 }
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
118 }
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
119
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
120 }
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
121 // Save values that needs to be kept for next time
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
122 s->wi = wi;
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
123 s->xi = xi;
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
124 #endif /* UP */
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
125
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
126 #if defined(DN) /* DN */
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
127 uint32_t ci = l->nch; // Index for channels
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
128 uint32_t nch = l->nch; // Number of channels
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28230
diff changeset
129 uint32_t inc = s->dn/s->up;
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28230
diff changeset
130 uint32_t level = s->dn%s->up;
28201
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
131 uint32_t up = s->up;
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
132 uint32_t dn = s->dn;
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
133 uint32_t ns = c->len/l->bps;
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
134 FORMAT* w = s->w;
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
135
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
136 register int32_t i = 0;
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
137 register uint32_t wi = 0;
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
138 register uint32_t xi = 0;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28230
diff changeset
139
28201
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
140 // Index current channel
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
141 while(ci--){
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
142 // Temporary pointers
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
143 register FORMAT* x = s->xq[ci];
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
144 register FORMAT* in = ((FORMAT*)c->audio)+ci;
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
145 register FORMAT* out = ((FORMAT*)l->audio)+ci;
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
146 register FORMAT* end = in+ns; // Block loop end
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
147 i = s->i; wi = s->wi; xi = s->xi;
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
148
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
149 while(in < end){
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
150
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
151 ADDQUE(xi,x,in);
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
152 in+=nch;
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
153 if((--i)<=0){
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
154 // Run the FIR filter
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
155 FIR((&x[xi]),(&w[wi*L]),out);
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
156 len++; out+=nch;
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
157
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
158 // Update wi to point at the correct polyphase component
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 28230
diff changeset
159 wi=(wi+dn)%up;
28201
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
160
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
161 // Insert i number of new samples in queue
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
162 i = inc;
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
163 if(wi<level) i++;
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
164 }
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
165 }
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
166 }
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
167 // Save values that needs to be kept for next time
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
168 s->wi = wi;
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
169 s->xi = xi;
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
170 s->i = i;
4ff973912251 Rename libaf/af_resample.h to libaf/af_resample_template.c, it is used as
diego
parents:
diff changeset
171 #endif /* DN */