/*------------------------------------------------------------*/ void sbtB16_dual_L3(float *sample, unsigned char *pcm, int ch) { int i; if (ch == 0) { for (i = 0; i < 18; i++) { fdct16(sample, pMP3Stream->vbuf + pMP3Stream->vb_ptr); windowB16_dual(pMP3Stream->vbuf, pMP3Stream->vb_ptr, pcm); sample += 32; pMP3Stream->vb_ptr = (pMP3Stream->vb_ptr - 16) & 255; pcm += 32; } } else { for (i = 0; i < 18; i++) { fdct16(sample, pMP3Stream->vbuf2 + pMP3Stream->vb2_ptr); windowB16_dual(pMP3Stream->vbuf2, pMP3Stream->vb2_ptr, pcm + 1); sample += 32; pMP3Stream->vb2_ptr = (pMP3Stream->vb2_ptr - 16) & 255; pcm += 32; } } }
/*------------------------------------------------------------*/ void sbtB16_dual(MPEG *m, float *sample, unsigned char *pcm, int n) { int i; for (i = 0; i < n; i++) { fdct16_dual(m,sample, m->csbt.vbuf + m->csbt.vb_ptr); fdct16_dual(m,sample + 1, m->csbt.vbuf2 + m->csbt.vb_ptr); windowB16_dual(m,m->csbt.vbuf, m->csbt.vb_ptr, pcm); windowB16_dual(m,m->csbt.vbuf2, m->csbt.vb_ptr, pcm + 1); sample += 64; m->csbt.vb_ptr = (m->csbt.vb_ptr - 16) & 255; pcm += 32; } }
/*------------------------------------------------------------*/ void sbtB16_dual(float *sample, unsigned char *pcm, int n) { int i; for (i = 0; i < n; i++) { fdct16_dual(sample, pMP3Stream->vbuf + pMP3Stream->vb_ptr); fdct16_dual(sample + 1, pMP3Stream->vbuf2 + pMP3Stream->vb_ptr); windowB16_dual(pMP3Stream->vbuf, pMP3Stream->vb_ptr, pcm); windowB16_dual(pMP3Stream->vbuf2, pMP3Stream->vb_ptr, pcm + 1); sample += 64; pMP3Stream->vb_ptr = (pMP3Stream->vb_ptr - 16) & 255; pcm += 32; } }
void sbtB16_dual(float *sample, unsigned char *pcm, int n) { int i; for (i = 0; i < n; i++) { fdct16_dual(sample, vbuf + vb_ptr); fdct16_dual(sample + 1, vbuf2 + vb_ptr); windowB16_dual(vbuf, vb_ptr, pcm); windowB16_dual(vbuf2, vb_ptr, pcm + 1); sample += 64; vb_ptr = (vb_ptr - 16) & 255; pcm += 32; } }
/*------------------------------------------------------------*/ void sbtB16_dual(float *sample, unsigned char *pcm, int n, float vbuf[][512], int vb_ptr_arg[]) { int i; vb_ptr = vb_ptr_arg[0]; for(i=0;i<n;i++) { fdct16_dual(sample, vbuf[0]+vb_ptr); fdct16_dual(sample+1, vbuf[1]+vb_ptr); windowB16_dual(vbuf[0], vb_ptr, pcm); windowB16_dual(vbuf[1], vb_ptr, pcm+1); sample += 64; vb_ptr = (vb_ptr-16) & 255; pcm += 32; } vb_ptr_arg[0] = vb_ptr; }