static void chs_assemble_msbs_lsbs(DCAXllDecoder *s, DCAXllChSet *c, int band) { DCAXllBand *b = &c->bands[band]; int n, ch, nsamples = s->nframesamples; for (ch = 0; ch < c->nchannels; ch++) { int shift = chs_get_lsb_width(s, c, band, ch); if (shift) { int32_t *msb = b->msb_sample_buffer[ch]; if (b->nscalablelsbs[ch]) { int32_t *lsb = b->lsb_sample_buffer[ch]; int adj = b->bit_width_adjust[ch]; for (n = 0; n < nsamples; n++) msb[n] = msb[n] * (1 << shift) + (lsb[n] << adj); } else { for (n = 0; n < nsamples; n++) msb[n] = msb[n] * (1 << shift); } } } }
static void chs_assemble_msbs_lsbs(DCAXllDecoder *s, DCAXllChSet *c, int band) { DCAXllBand *b = &c->bands[band]; int n, ch, nsamples = s->nframesamples; for (ch = 0; ch < c->nchannels; ch++) { int shift = chs_get_lsb_width(s, c, band, ch); if (shift) { int32_t *msb = b->msb_sample_buffer[ch]; if (b->nscalablelsbs[ch]) { int32_t *lsb = b->lsb_sample_buffer[ch]; int adj = b->bit_width_adjust[ch]; for (n = 0; n < nsamples; n++) msb[n] = msb[n] * (1 << shift) + (lsb[n] << adj); } else { for (n = 0; n < nsamples; n++) msb[n] = msb[n] * (1 << shift); } } } }