- for (i = 0; i < s->num_channels; i++)
- for (j = 0; j < subframe_len; j++)
- s->channel_residues[i][j] *= quant_stepsize;
+ if (s->quant_stepsize != 1)
+ for (i = 0; i < s->num_channels; i++)
+ for (j = 0; j < subframe_len; j++)
+ s->channel_residues[i][j] *= s->quant_stepsize;
+
+ // Write to proper output buffer depending on bit-depth
+ for (i = 0; i < subframe_len; i++)
+ for (j = 0; j < s->num_channels; j++) {
+ if (s->bits_per_sample == 16)
+ *s->samples_16++ = (int16_t) s->channel_residues[j][i];
+ else
+ *s->samples_32++ = s->channel_residues[j][i];
+ }