8 uint32_t *
p = (uint32_t *)data;
9 const uint32_t *end = (uint32_t *)(data + AUDIO_BLOCK_SAMPLES);
13 int32_t val1 = signed_multiply_32x16b(mult, tmp32);
14 int32_t val2 = signed_multiply_32x16t(mult, tmp32);
15 val1 = signed_saturate_rshift(val1, 16, 0);
16 val2 = signed_saturate_rshift(val2, 16, 0);
17 *
p++ = pack_16b_16b(val2, val1);
23 uint32_t *dst = (uint32_t *)data;
24 const uint32_t *src = (uint32_t *)in;
25 const uint32_t *end = (uint32_t *)(data + AUDIO_BLOCK_SAMPLES);
29 uint32_t tmp32 = *dst;
30 *dst++ = signed_add_16_and_16(tmp32, *src++);
32 *dst++ = signed_add_16_and_16(tmp32, *src++);
36 uint32_t tmp32 = *src++;
37 int32_t val1 = signed_multiply_32x16b(mult, tmp32);
38 int32_t val2 = signed_multiply_32x16t(mult, tmp32);
39 val1 = signed_saturate_rshift(val1, 16, 0);
40 val2 = signed_saturate_rshift(val2, 16, 0);
41 tmp32 = pack_16b_16b(val2, val1);
42 uint32_t tmp32b = *dst;
43 *dst++ = signed_add_16_and_16(tmp32, tmp32b);
54 for (channel=0; channel < 8; channel++) {
const char PROGMEM p[][16]
virtual void update(void)
static void release(audio_block_t *block)
audio_block_t * receiveReadOnly(unsigned int index=0)
void transmit(audio_block_t *block, unsigned char index=0)
audio_block_t * receiveWritable(unsigned int index=0)
static void applyGainThenAdd2(int16_t *data, const int16_t *in, int32_t mult)
static void applyGain2(int16_t *data, int32_t mult)
int16_t data[AUDIO_BLOCK_SAMPLES]