annotate libaf/af_resample_template.c @ 35467:364387ae95f4

Fix bug with stop button and playlist. Although the current file was stopped and its information still displayed, play would skip to next file in list. Now, the file stopped can be resumed.
author ib
date Sun, 02 Dec 2012 15:56:19 +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 */