Home | Info | Community | Development | myReactOS | Contact Us
Definition at line 58 of file layer1.c.
Referenced by do_layer1().
{ int i,n; int smpb[2*SBLIMIT]; /* values: 0-65535 */ int *sample; register unsigned int *ba; register unsigned int *sca = (unsigned int *) scale_index; if(fr->stereo == 2) { int jsbound = fr->jsbound; register real *f0 = fraction[0]; register real *f1 = fraction[1]; ba = balloc; for(sample=smpb,i=0;i<jsbound;i++) { if((n = *ba++)) *sample++ = getbits(fr, n+1); if((n = *ba++)) *sample++ = getbits(fr, n+1); } for(i=jsbound;i<SBLIMIT;i++) if((n = *ba++)) *sample++ = getbits(fr, n+1); ba = balloc; for(sample=smpb,i=0;i<jsbound;i++) { if((n=*ba++)) *f0++ = REAL_MUL_SCALE_LAYER12(DOUBLE_TO_REAL_15( ((-1)<<n) + (*sample++) + 1), fr->muls[n+1][*sca++]); else *f0++ = DOUBLE_TO_REAL(0.0); if((n=*ba++)) *f1++ = REAL_MUL_SCALE_LAYER12(DOUBLE_TO_REAL_15( ((-1)<<n) + (*sample++) + 1), fr->muls[n+1][*sca++]); else *f1++ = DOUBLE_TO_REAL(0.0); } for(i=jsbound;i<SBLIMIT;i++) { if((n=*ba++)) { real samp = DOUBLE_TO_REAL_15( ((-1)<<n) + (*sample++) + 1); *f0++ = REAL_MUL_SCALE_LAYER12(samp, fr->muls[n+1][*sca++]); *f1++ = REAL_MUL_SCALE_LAYER12(samp, fr->muls[n+1][*sca++]); } else *f0++ = *f1++ = DOUBLE_TO_REAL(0.0); } for(i=fr->down_sample_sblimit;i<32;i++) fraction[0][i] = fraction[1][i] = 0.0; } else { register real *f0 = fraction[0]; ba = balloc; for(sample=smpb,i=0;i<SBLIMIT;i++) if ((n = *ba++)) *sample++ = getbits(fr, n+1); ba = balloc; for(sample=smpb,i=0;i<SBLIMIT;i++) { if((n=*ba++)) *f0++ = REAL_MUL_SCALE_LAYER12(DOUBLE_TO_REAL_15( ((-1)<<n) + (*sample++) + 1), fr->muls[n+1][*sca++]); else *f0++ = DOUBLE_TO_REAL(0.0); } for(i=fr->down_sample_sblimit;i<32;i++) fraction[0][i] = DOUBLE_TO_REAL(0.0); } }