117 int32_t i=0, j=0, n=0, cb=0, w=0;
118 int32_t sampsLeft, isf, mOutL, mOutR, xl, xr;
120 int32_t cbStartL=0, cbStartS=0, cbEndL=0, cbEndS=0;
129 if (cbi[1].cbType == 0) {
131 cbStartL = cbi[1].cbEndL + 1;
132 cbEndL = cbi[0].cbEndL + 1;
133 cbStartS = cbEndS = 0;
134 i = fh->sfBand->l[cbStartL];
135 }
else if (cbi[1].cbType == 1 || cbi[1].cbType == 2) {
137 cbStartS = cbi[1].cbEndSMax + 1;
138 cbEndS = cbi[0].cbEndSMax + 1;
139 cbStartL = cbEndL = 0;
140 i = 3 * fh->sfBand->s[cbStartS];
143 sampsLeft = nSamps - i;
148 for (cb = cbStartL; cb < cbEndL && sampsLeft > 0; cb++) {
152 fr =
ISFIIP[midSideFlag][1];
155 fr = isfTab[6] - isfTab[isf];
158 n = fh->sfBand->l[cb + 1] - fh->sfBand->l[cb];
159 for (j = 0; j < n && sampsLeft > 0; j++, i++) {
167 for (cb = cbStartS; cb < cbEndS && sampsLeft >= 3; cb++) {
168 for (w = 0; w < 3; w++) {
169 isf = sfis->s[cb][w];
171 fls[w] =
ISFIIP[midSideFlag][0];
172 frs[w] =
ISFIIP[midSideFlag][1];
174 fls[w] = isfTab[isf];
175 frs[w] = isfTab[6] - isfTab[isf];
179 n = fh->sfBand->s[cb + 1] - fh->sfBand->s[cb];
180 for (j = 0; j < n && sampsLeft >= 3; j++, i+=3) {
227 int32_t isf, sfIdx, tmp, il[23];
229 int32_t cbStartL, cbStartS, cbEndL, cbEndS;
235 for (k = r = 0; r < 4; r++) {
236 tmp = (1 << sfjs->slen[r]) - 1;
237 for (j = 0; j < sfjs->nr[r]; j++, k++)
241 if (cbi[1].cbType == 0) {
244 cbStartL = cbi[1].cbEndL + 1;
245 cbEndL = cbi[0].cbEndL + 1;
246 i = fh->sfBand->l[cbStartL];
247 sampsLeft = nSamps - i;
249 for(cb = cbStartL; cb < cbEndL; cb++) {
251 if (sfIdx == il[cb]) {
253 fr =
ISFIIP[midSideFlag][1];
255 isf = (sfis->l[cb] + 1) >> 1;
256 fl = isfTab[(sfIdx & 0x01 ? isf : 0)];
257 fr = isfTab[(sfIdx & 0x01 ? 0 : isf)];
259 n =
MIN(fh->sfBand->l[cb + 1] - fh->sfBand->l[cb], sampsLeft);
261 for(j = 0; j < n; j++, i++) {
275 for(w = 0; w < 3; w++) {
276 cbStartS = cbi[1].cbEndS[w] + 1;
277 cbEndS = cbi[0].cbEndS[w] + 1;
278 i = 3 * fh->sfBand->s[cbStartS] + w;
281 for(cb = cbStartS; cb < cbEndS; cb++) {
282 sfIdx = sfis->s[cb][w];
283 if (sfIdx == il[cb]) {
285 fr =
ISFIIP[midSideFlag][1];
287 isf = (sfis->s[cb][w] + 1) >> 1;
288 fl = isfTab[(sfIdx & 0x01 ? isf : 0)];
289 fr = isfTab[(sfIdx & 0x01 ? 0 : isf)];
291 n = fh->sfBand->s[cb + 1] - fh->sfBand->s[cb];
293 for(j = 0; j < n; j++, i+=3) {
void IntensityProcMPEG1(int32_t x[MAX_NCHAN][MAX_NSAMP], int32_t nSamps, FrameHeader *fh, ScaleFactorInfoSub *sfis, CriticalBandInfo *cbi, int32_t midSideFlag, int32_t mixFlag, int32_t mOut[2]) FL_NOEXCEPT
void IntensityProcMPEG2(int32_t x[MAX_NCHAN][MAX_NSAMP], int32_t nSamps, FrameHeader *fh, ScaleFactorInfoSub *sfis, CriticalBandInfo *cbi, ScaleFactorJS *sfjs, int32_t midSideFlag, int32_t mixFlag, int32_t mOut[2]) FL_NOEXCEPT