-static inline void dequantize(int32_t *output, const int32_t *input,
- int32_t step_size, int32_t scale, int residual)
-{
- // Account for quantizer step size
- int64_t step_scale = (int64_t)step_size * scale;
- int n, shift = 0;
-
- // Limit scale factor resolution to 22 bits
- if (step_scale > (1 << 23)) {
- shift = av_log2(step_scale >> 23) + 1;
- step_scale >>= shift;
- }
-
- // Scale the samples
- if (residual) {
- for (n = 0; n < DCA_SUBBAND_SAMPLES; n++)
- output[n] += clip23(norm__(input[n] * step_scale, 22 - shift));
- } else {
- for (n = 0; n < DCA_SUBBAND_SAMPLES; n++)
- output[n] = clip23(norm__(input[n] * step_scale, 22 - shift));
- }
-}
-