Lines Matching +full:- +full:lp
2 * Use of this source code is governed by a BSD-style license that can be
13 lr4->b0 = q.b0; in lr4_set()
14 lr4->b1 = q.b1; in lr4_set()
15 lr4->b2 = q.b2; in lr4_set()
16 lr4->a1 = q.a1; in lr4_set()
17 lr4->a2 = q.a2; in lr4_set()
18 lr4->x1 = 0; in lr4_set()
19 lr4->x2 = 0; in lr4_set()
20 lr4->y1 = 0; in lr4_set()
21 lr4->y2 = 0; in lr4_set()
22 lr4->z1 = 0; in lr4_set()
23 lr4->z2 = 0; in lr4_set()
29 * data0 --+-- lp --> data0
31 * \-- hp --> data1
33 static void lr4_split(struct lr4 *lp, struct lr4 *hp, int count, float *data0, in lr4_split() argument
36 float lx1 = lp->x1; in lr4_split()
37 float lx2 = lp->x2; in lr4_split()
38 float ly1 = lp->y1; in lr4_split()
39 float ly2 = lp->y2; in lr4_split()
40 float lz1 = lp->z1; in lr4_split()
41 float lz2 = lp->z2; in lr4_split()
42 float lb0 = lp->b0; in lr4_split()
43 float lb1 = lp->b1; in lr4_split()
44 float lb2 = lp->b2; in lr4_split()
45 float la1 = lp->a1; in lr4_split()
46 float la2 = lp->a2; in lr4_split()
48 float hx1 = hp->x1; in lr4_split()
49 float hx2 = hp->x2; in lr4_split()
50 float hy1 = hp->y1; in lr4_split()
51 float hy2 = hp->y2; in lr4_split()
52 float hz1 = hp->z1; in lr4_split()
53 float hz2 = hp->z2; in lr4_split()
54 float hb0 = hp->b0; in lr4_split()
55 float hb1 = hp->b1; in lr4_split()
56 float hb2 = hp->b2; in lr4_split()
57 float ha1 = hp->a1; in lr4_split()
58 float ha2 = hp->a2; in lr4_split()
64 y = lb0 * x + lb1 * lx1 + lb2 * lx2 - la1 * ly1 - la2 * ly2; in lr4_split()
65 z = lb0 * y + lb1 * ly1 + lb2 * ly2 - la1 * lz1 - la2 * lz2; in lr4_split()
74 y = hb0 * x + hb1 * hx1 + hb2 * hx2 - ha1 * hy1 - ha2 * hy2; in lr4_split()
75 z = hb0 * y + hb1 * hy1 + hb2 * hy2 - ha1 * hz1 - ha2 * hz2; in lr4_split()
85 lp->x1 = lx1; in lr4_split()
86 lp->x2 = lx2; in lr4_split()
87 lp->y1 = ly1; in lr4_split()
88 lp->y2 = ly2; in lr4_split()
89 lp->z1 = lz1; in lr4_split()
90 lp->z2 = lz2; in lr4_split()
92 hp->x1 = hx1; in lr4_split()
93 hp->x2 = hx2; in lr4_split()
94 hp->y1 = hy1; in lr4_split()
95 hp->y2 = hy2; in lr4_split()
96 hp->z1 = hz1; in lr4_split()
97 hp->z2 = hz2; in lr4_split()
103 * data --+-- lp --+--> data
105 * \-- hp --/
107 static void lr4_merge(struct lr4 *lp, struct lr4 *hp, int count, float *data) in lr4_merge() argument
109 float lx1 = lp->x1; in lr4_merge()
110 float lx2 = lp->x2; in lr4_merge()
111 float ly1 = lp->y1; in lr4_merge()
112 float ly2 = lp->y2; in lr4_merge()
113 float lz1 = lp->z1; in lr4_merge()
114 float lz2 = lp->z2; in lr4_merge()
115 float lb0 = lp->b0; in lr4_merge()
116 float lb1 = lp->b1; in lr4_merge()
117 float lb2 = lp->b2; in lr4_merge()
118 float la1 = lp->a1; in lr4_merge()
119 float la2 = lp->a2; in lr4_merge()
121 float hx1 = hp->x1; in lr4_merge()
122 float hx2 = hp->x2; in lr4_merge()
123 float hy1 = hp->y1; in lr4_merge()
124 float hy2 = hp->y2; in lr4_merge()
125 float hz1 = hp->z1; in lr4_merge()
126 float hz2 = hp->z2; in lr4_merge()
127 float hb0 = hp->b0; in lr4_merge()
128 float hb1 = hp->b1; in lr4_merge()
129 float hb2 = hp->b2; in lr4_merge()
130 float ha1 = hp->a1; in lr4_merge()
131 float ha2 = hp->a2; in lr4_merge()
137 y = lb0 * x + lb1 * lx1 + lb2 * lx2 - la1 * ly1 - la2 * ly2; in lr4_merge()
138 z = lb0 * y + lb1 * ly1 + lb2 * ly2 - la1 * lz1 - la2 * lz2; in lr4_merge()
146 y = hb0 * x + hb1 * hx1 + hb2 * hx2 - ha1 * hy1 - ha2 * hy2; in lr4_merge()
147 z = hb0 * y + hb1 * hy1 + hb2 * hy2 - ha1 * hz1 - ha2 * hz2; in lr4_merge()
157 lp->x1 = lx1; in lr4_merge()
158 lp->x2 = lx2; in lr4_merge()
159 lp->y1 = ly1; in lr4_merge()
160 lp->y2 = ly2; in lr4_merge()
161 lp->z1 = lz1; in lr4_merge()
162 lp->z2 = lz2; in lr4_merge()
164 hp->x1 = hx1; in lr4_merge()
165 hp->x2 = hx2; in lr4_merge()
166 hp->y1 = hy1; in lr4_merge()
167 hp->y2 = hy2; in lr4_merge()
168 hp->z1 = hz1; in lr4_merge()
169 hp->z2 = hz2; in lr4_merge()
177 lr4_set(&xo->lp[i], BQ_LOWPASS, f); in crossover_init()
178 lr4_set(&xo->hp[i], BQ_HIGHPASS, f); in crossover_init()
185 lr4_split(&xo->lp[0], &xo->hp[0], count, data0, data1); in crossover_process()
186 lr4_merge(&xo->lp[1], &xo->hp[1], count, data0); in crossover_process()
187 lr4_split(&xo->lp[2], &xo->hp[2], count, data1, data2); in crossover_process()