Lines Matching refs:up
35 * Then the input signal is up-sampled to fm by inserting (L -1) zero valued
93 * convolution of coef[order + 1] and data[length] up-sampled by a factor
101 int inc_coef, // 1-to-L up-sample for data[length]
131 if (up <= 1)
151 up = rate_out / commonfactor;
154 int fold = (up > down)? up : down; // take the bigger rate change
159 if (up > 1) { // need (order/up) states
160 num_state = (order + up - 1) / up;
245 // 1-to-up interpolation
255 else if (up <= 1) // regular filter
262 int coef_offset = up + up_offset;
264 *out_ptr++ = double2short(up * poly_conv(coef + coef_offset,
265 order - coef_offset, up, state, num_state));
268 // for each of the rest input samples, generate up output samples
270 for (j = 0; j < up; j++) {
271 *out_ptr++ = double2short(up * (poly_conv(coef + j,
272 order - j, up, in_buf, i) + poly_conv(
273 coef + coef_offset, order - coef_offset, up, state,
279 // for the last input samples, generate "up_offset + up" output samples
280 for (j = 0; j < (up_offset + up); j++) {
281 *out_ptr++ = double2short(up * (poly_conv(coef + j,
282 order - j, up, in_buf, size) + poly_conv(
283 coef + coef_offset, order - coef_offset, up, state,
296 int num = (Fir::getFlushSize() + up - 1) / up;
301 delay += num * up;
317 int delay_in = (delay + up - 1) / up;
324 delay -= delay_in * up;
340 else if (up <= 1)
348 int coef_offset = up_offset + down_offset + up;
352 * start from "up_offset + down_offset"th up-sampled sample
355 *out++ = double2short(up * poly_conv(coef + coef_offset,
356 order - coef_offset, up, state, num_state));
362 for (; j < up; j += down) {
363 *out++ = double2short(up * (poly_conv(coef + j,
364 order - j, up, in_buf, i) + poly_conv(
365 coef + coef_offset, order - coef_offset, up, state,
369 j -= up;
372 // for the last input sample, end at the "up + up_offset"th
373 for (; j < (up + up_offset); j += down) {
374 *out++ = double2short(up * (poly_conv(coef + j, order - j, up,
376 order - coef_offset, up, state, num_state)));
379 down_offset = j - (up + up_offset);
389 int num_in = (Fir::getFlushSize() + up - 1) / up;
390 return ((num_in * up + down - 1 - down_offset) / down);
399 else if (up <= 1)
402 int num = (Fir::getFlushSize() + up - 1) / up;
408 delay += num * up;
423 else if (up <= 1)
430 int delay_in = (delay + up - 1) / up;
437 delay -= up * delay_in;