예제 #1
0
파일: csbtl3.c 프로젝트: Daggolin/jk2mv
/*------------------------------------------------------------*/
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;
		}
	}
}
예제 #2
0
파일: csbtb.c 프로젝트: pcercuei/dcplaya
/*------------------------------------------------------------*/
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;
   }
}
예제 #3
0
/*------------------------------------------------------------*/
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;
   }
}
예제 #4
0
파일: sbtb.c 프로젝트: vemod-/Object-Studio
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;
   }
}
예제 #5
0
파일: sbtb.c 프로젝트: muromec/qtopia-ezx
/*------------------------------------------------------------*/
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;
}