⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 layer3.c

📁 PPC流行的播放软件gsplayer源码2.24版
💻 C
📖 第 1 页 / 共 5 页
字号:
  }  /* middle/side stereo */  if (header->mode_extension & MS_STEREO) {    register mad_fixed_t invsqrt2;    header->flags |= MAD_FLAG_MS_STEREO;    invsqrt2 = root_table[3 + -2];    for (sfbi = l = 0; l < 576; ++sfbi, l += n) {      n = sfbwidth[sfbi];      if (modes[sfbi] != MS_STEREO)	continue;      for (i = 0; i < n; ++i) {	register mad_fixed_t m, s;	m = xr[0][l + i];	s = xr[1][l + i];	xr[0][l + i] = mad_f_mul(m + s, invsqrt2);  /* l = (m + s) / sqrt(2) */	xr[1][l + i] = mad_f_mul(m - s, invsqrt2);  /* r = (m - s) / sqrt(2) */      }    }  }  return MAD_ERROR_NONE;}/* * NAME:	III_aliasreduce() * DESCRIPTION:	perform frequency line alias reduction */staticvoid III_aliasreduce(mad_fixed_t xr[576], int lines){  mad_fixed_t const *bound;  int i;  bound = &xr[lines];  for (xr += 18; xr < bound; xr += 18) {    for (i = 0; i < 8; ++i) {      register mad_fixed_t a, b;      register mad_fixed64hi_t hi;      register mad_fixed64lo_t lo;      a = xr[-1 - i];      b = xr[     i];# if defined(ASO_ZEROCHECK)      if (a | b) {# endif	MAD_F_ML0(hi, lo,  a, cs[i]);	MAD_F_MLA(hi, lo, -b, ca[i]);	xr[-1 - i] = MAD_F_MLZ(hi, lo);	MAD_F_ML0(hi, lo,  b, cs[i]);	MAD_F_MLA(hi, lo,  a, ca[i]);	xr[     i] = MAD_F_MLZ(hi, lo);# if defined(ASO_ZEROCHECK)      }# endif    }  }}# if defined(ASO_IMDCT)void III_imdct_l(mad_fixed_t const [18], mad_fixed_t [36], unsigned int);# else/* * NAME:	imdct36 * DESCRIPTION:	perform X[18]->x[36] IMDCT */static __inlinevoid imdct36(mad_fixed_t const X[18], mad_fixed_t x[36]){  mad_fixed_t t0, t1, t2,  t3,  t4,  t5,  t6,  t7;  mad_fixed_t t8, t9, t10, t11, t12, t13, t14, t15;  register mad_fixed64hi_t hi;  register mad_fixed64lo_t lo;  MAD_F_ML0(hi, lo, X[4],  MAD_F(0x0ec835e8));  MAD_F_MLA(hi, lo, X[13], MAD_F(0x061f78aa));  t6 = MAD_F_MLZ(hi, lo);  MAD_F_MLA(hi, lo, (t14 = X[1] - X[10]), -MAD_F(0x061f78aa));  MAD_F_MLA(hi, lo, (t15 = X[7] + X[16]), -MAD_F(0x0ec835e8));  t0 = MAD_F_MLZ(hi, lo);  MAD_F_MLA(hi, lo, (t8  = X[0] - X[11] - X[12]),  MAD_F(0x0216a2a2));  MAD_F_MLA(hi, lo, (t9  = X[2] - X[9]  - X[14]),  MAD_F(0x09bd7ca0));  MAD_F_MLA(hi, lo, (t10 = X[3] - X[8]  - X[15]), -MAD_F(0x0cb19346));  MAD_F_MLA(hi, lo, (t11 = X[5] - X[6]  - X[17]), -MAD_F(0x0fdcf549));  x[7]  = MAD_F_MLZ(hi, lo);  x[10] = -x[7];  MAD_F_ML0(hi, lo, t8,  -MAD_F(0x0cb19346));  MAD_F_MLA(hi, lo, t9,   MAD_F(0x0fdcf549));  MAD_F_MLA(hi, lo, t10,  MAD_F(0x0216a2a2));  MAD_F_MLA(hi, lo, t11, -MAD_F(0x09bd7ca0));  x[19] = x[34] = MAD_F_MLZ(hi, lo) - t0;  t12 = X[0] - X[3] + X[8] - X[11] - X[12] + X[15];  t13 = X[2] + X[5] - X[6] - X[9]  - X[14] - X[17];  MAD_F_ML0(hi, lo, t12, -MAD_F(0x0ec835e8));  MAD_F_MLA(hi, lo, t13,  MAD_F(0x061f78aa));  x[22] = x[31] = MAD_F_MLZ(hi, lo) + t0;  MAD_F_ML0(hi, lo, X[1],  -MAD_F(0x09bd7ca0));  MAD_F_MLA(hi, lo, X[7],   MAD_F(0x0216a2a2));  MAD_F_MLA(hi, lo, X[10], -MAD_F(0x0fdcf549));  MAD_F_MLA(hi, lo, X[16],  MAD_F(0x0cb19346));  t1 = MAD_F_MLZ(hi, lo) + t6;  MAD_F_ML0(hi, lo, X[0],   MAD_F(0x03768962));  MAD_F_MLA(hi, lo, X[2],   MAD_F(0x0e313245));  MAD_F_MLA(hi, lo, X[3],  -MAD_F(0x0ffc19fd));  MAD_F_MLA(hi, lo, X[5],  -MAD_F(0x0acf37ad));  MAD_F_MLA(hi, lo, X[6],   MAD_F(0x04cfb0e2));  MAD_F_MLA(hi, lo, X[8],  -MAD_F(0x0898c779));  MAD_F_MLA(hi, lo, X[9],   MAD_F(0x0d7e8807));  MAD_F_MLA(hi, lo, X[11],  MAD_F(0x0f426cb5));  MAD_F_MLA(hi, lo, X[12], -MAD_F(0x0bcbe352));  MAD_F_MLA(hi, lo, X[14],  MAD_F(0x00b2aa3e));  MAD_F_MLA(hi, lo, X[15], -MAD_F(0x07635284));  MAD_F_MLA(hi, lo, X[17], -MAD_F(0x0f9ee890));  x[6]  = MAD_F_MLZ(hi, lo) + t1;  x[11] = -x[6];  MAD_F_ML0(hi, lo, X[0],  -MAD_F(0x0f426cb5));  MAD_F_MLA(hi, lo, X[2],  -MAD_F(0x00b2aa3e));  MAD_F_MLA(hi, lo, X[3],   MAD_F(0x0898c779));  MAD_F_MLA(hi, lo, X[5],   MAD_F(0x0f9ee890));  MAD_F_MLA(hi, lo, X[6],   MAD_F(0x0acf37ad));  MAD_F_MLA(hi, lo, X[8],  -MAD_F(0x07635284));  MAD_F_MLA(hi, lo, X[9],  -MAD_F(0x0e313245));  MAD_F_MLA(hi, lo, X[11], -MAD_F(0x0bcbe352));  MAD_F_MLA(hi, lo, X[12], -MAD_F(0x03768962));  MAD_F_MLA(hi, lo, X[14],  MAD_F(0x0d7e8807));  MAD_F_MLA(hi, lo, X[15],  MAD_F(0x0ffc19fd));  MAD_F_MLA(hi, lo, X[17],  MAD_F(0x04cfb0e2));  x[23] = x[30] = MAD_F_MLZ(hi, lo) + t1;  MAD_F_ML0(hi, lo, X[0],  -MAD_F(0x0bcbe352));  MAD_F_MLA(hi, lo, X[2],   MAD_F(0x0d7e8807));  MAD_F_MLA(hi, lo, X[3],  -MAD_F(0x07635284));  MAD_F_MLA(hi, lo, X[5],   MAD_F(0x04cfb0e2));  MAD_F_MLA(hi, lo, X[6],   MAD_F(0x0f9ee890));  MAD_F_MLA(hi, lo, X[8],  -MAD_F(0x0ffc19fd));  MAD_F_MLA(hi, lo, X[9],  -MAD_F(0x00b2aa3e));  MAD_F_MLA(hi, lo, X[11],  MAD_F(0x03768962));  MAD_F_MLA(hi, lo, X[12], -MAD_F(0x0f426cb5));  MAD_F_MLA(hi, lo, X[14],  MAD_F(0x0e313245));  MAD_F_MLA(hi, lo, X[15],  MAD_F(0x0898c779));  MAD_F_MLA(hi, lo, X[17], -MAD_F(0x0acf37ad));  x[18] = x[35] = MAD_F_MLZ(hi, lo) - t1;  MAD_F_ML0(hi, lo, X[4],   MAD_F(0x061f78aa));  MAD_F_MLA(hi, lo, X[13], -MAD_F(0x0ec835e8));  t7 = MAD_F_MLZ(hi, lo);  MAD_F_MLA(hi, lo, X[1],  -MAD_F(0x0cb19346));  MAD_F_MLA(hi, lo, X[7],   MAD_F(0x0fdcf549));  MAD_F_MLA(hi, lo, X[10],  MAD_F(0x0216a2a2));  MAD_F_MLA(hi, lo, X[16], -MAD_F(0x09bd7ca0));  t2 = MAD_F_MLZ(hi, lo);  MAD_F_MLA(hi, lo, X[0],   MAD_F(0x04cfb0e2));  MAD_F_MLA(hi, lo, X[2],   MAD_F(0x0ffc19fd));  MAD_F_MLA(hi, lo, X[3],  -MAD_F(0x0d7e8807));  MAD_F_MLA(hi, lo, X[5],   MAD_F(0x03768962));  MAD_F_MLA(hi, lo, X[6],  -MAD_F(0x0bcbe352));  MAD_F_MLA(hi, lo, X[8],  -MAD_F(0x0e313245));  MAD_F_MLA(hi, lo, X[9],   MAD_F(0x07635284));  MAD_F_MLA(hi, lo, X[11], -MAD_F(0x0acf37ad));  MAD_F_MLA(hi, lo, X[12],  MAD_F(0x0f9ee890));  MAD_F_MLA(hi, lo, X[14],  MAD_F(0x0898c779));  MAD_F_MLA(hi, lo, X[15],  MAD_F(0x00b2aa3e));  MAD_F_MLA(hi, lo, X[17],  MAD_F(0x0f426cb5));  x[5]  = MAD_F_MLZ(hi, lo);  x[12] = -x[5];  MAD_F_ML0(hi, lo, X[0],   MAD_F(0x0acf37ad));  MAD_F_MLA(hi, lo, X[2],  -MAD_F(0x0898c779));  MAD_F_MLA(hi, lo, X[3],   MAD_F(0x0e313245));  MAD_F_MLA(hi, lo, X[5],  -MAD_F(0x0f426cb5));  MAD_F_MLA(hi, lo, X[6],  -MAD_F(0x03768962));  MAD_F_MLA(hi, lo, X[8],   MAD_F(0x00b2aa3e));  MAD_F_MLA(hi, lo, X[9],  -MAD_F(0x0ffc19fd));  MAD_F_MLA(hi, lo, X[11],  MAD_F(0x0f9ee890));  MAD_F_MLA(hi, lo, X[12], -MAD_F(0x04cfb0e2));  MAD_F_MLA(hi, lo, X[14],  MAD_F(0x07635284));  MAD_F_MLA(hi, lo, X[15],  MAD_F(0x0d7e8807));  MAD_F_MLA(hi, lo, X[17], -MAD_F(0x0bcbe352));  x[0]  = MAD_F_MLZ(hi, lo) + t2;  x[17] = -x[0];  MAD_F_ML0(hi, lo, X[0],  -MAD_F(0x0f9ee890));  MAD_F_MLA(hi, lo, X[2],  -MAD_F(0x07635284));  MAD_F_MLA(hi, lo, X[3],  -MAD_F(0x00b2aa3e));  MAD_F_MLA(hi, lo, X[5],   MAD_F(0x0bcbe352));  MAD_F_MLA(hi, lo, X[6],   MAD_F(0x0f426cb5));  MAD_F_MLA(hi, lo, X[8],   MAD_F(0x0d7e8807));  MAD_F_MLA(hi, lo, X[9],   MAD_F(0x0898c779));  MAD_F_MLA(hi, lo, X[11], -MAD_F(0x04cfb0e2));  MAD_F_MLA(hi, lo, X[12], -MAD_F(0x0acf37ad));  MAD_F_MLA(hi, lo, X[14], -MAD_F(0x0ffc19fd));  MAD_F_MLA(hi, lo, X[15], -MAD_F(0x0e313245));  MAD_F_MLA(hi, lo, X[17], -MAD_F(0x03768962));  x[24] = x[29] = MAD_F_MLZ(hi, lo) + t2;  MAD_F_ML0(hi, lo, X[1],  -MAD_F(0x0216a2a2));  MAD_F_MLA(hi, lo, X[7],  -MAD_F(0x09bd7ca0));  MAD_F_MLA(hi, lo, X[10],  MAD_F(0x0cb19346));  MAD_F_MLA(hi, lo, X[16],  MAD_F(0x0fdcf549));  t3 = MAD_F_MLZ(hi, lo) + t7;  MAD_F_ML0(hi, lo, X[0],   MAD_F(0x00b2aa3e));  MAD_F_MLA(hi, lo, X[2],   MAD_F(0x03768962));  MAD_F_MLA(hi, lo, X[3],  -MAD_F(0x04cfb0e2));  MAD_F_MLA(hi, lo, X[5],  -MAD_F(0x07635284));  MAD_F_MLA(hi, lo, X[6],   MAD_F(0x0898c779));  MAD_F_MLA(hi, lo, X[8],   MAD_F(0x0acf37ad));  MAD_F_MLA(hi, lo, X[9],  -MAD_F(0x0bcbe352));  MAD_F_MLA(hi, lo, X[11], -MAD_F(0x0d7e8807));  MAD_F_MLA(hi, lo, X[12],  MAD_F(0x0e313245));  MAD_F_MLA(hi, lo, X[14],  MAD_F(0x0f426cb5));  MAD_F_MLA(hi, lo, X[15], -MAD_F(0x0f9ee890));  MAD_F_MLA(hi, lo, X[17], -MAD_F(0x0ffc19fd));  x[8] = MAD_F_MLZ(hi, lo) + t3;  x[9] = -x[8];  MAD_F_ML0(hi, lo, X[0],  -MAD_F(0x0e313245));  MAD_F_MLA(hi, lo, X[2],   MAD_F(0x0bcbe352));  MAD_F_MLA(hi, lo, X[3],   MAD_F(0x0f9ee890));  MAD_F_MLA(hi, lo, X[5],  -MAD_F(0x0898c779));  MAD_F_MLA(hi, lo, X[6],  -MAD_F(0x0ffc19fd));  MAD_F_MLA(hi, lo, X[8],   MAD_F(0x04cfb0e2));  MAD_F_MLA(hi, lo, X[9],   MAD_F(0x0f426cb5));  MAD_F_MLA(hi, lo, X[11], -MAD_F(0x00b2aa3e));  MAD_F_MLA(hi, lo, X[12], -MAD_F(0x0d7e8807));  MAD_F_MLA(hi, lo, X[14], -MAD_F(0x03768962));  MAD_F_MLA(hi, lo, X[15],  MAD_F(0x0acf37ad));  MAD_F_MLA(hi, lo, X[17],  MAD_F(0x07635284));  x[21] = x[32] = MAD_F_MLZ(hi, lo) + t3;  MAD_F_ML0(hi, lo, X[0],  -MAD_F(0x0d7e8807));  MAD_F_MLA(hi, lo, X[2],   MAD_F(0x0f426cb5));  MAD_F_MLA(hi, lo, X[3],   MAD_F(0x0acf37ad));  MAD_F_MLA(hi, lo, X[5],  -MAD_F(0x0ffc19fd));  MAD_F_MLA(hi, lo, X[6],  -MAD_F(0x07635284));  MAD_F_MLA(hi, lo, X[8],   MAD_F(0x0f9ee890));  MAD_F_MLA(hi, lo, X[9],   MAD_F(0x03768962));  MAD_F_MLA(hi, lo, X[11], -MAD_F(0x0e313245));  MAD_F_MLA(hi, lo, X[12],  MAD_F(0x00b2aa3e));  MAD_F_MLA(hi, lo, X[14],  MAD_F(0x0bcbe352));  MAD_F_MLA(hi, lo, X[15], -MAD_F(0x04cfb0e2));  MAD_F_MLA(hi, lo, X[17], -MAD_F(0x0898c779));  x[20] = x[33] = MAD_F_MLZ(hi, lo) - t3;  MAD_F_ML0(hi, lo, t14, -MAD_F(0x0ec835e8));  MAD_F_MLA(hi, lo, t15,  MAD_F(0x061f78aa));  t4 = MAD_F_MLZ(hi, lo) - t7;  MAD_F_ML0(hi, lo, t12, MAD_F(0x061f78aa));  MAD_F_MLA(hi, lo, t13, MAD_F(0x0ec835e8));  x[4]  = MAD_F_MLZ(hi, lo) + t4;  x[13] = -x[4];  MAD_F_ML0(hi, lo, t8,   MAD_F(0x09bd7ca0));  MAD_F_MLA(hi, lo, t9,  -MAD_F(0x0216a2a2));  MAD_F_MLA(hi, lo, t10,  MAD_F(0x0fdcf549));  MAD_F_MLA(hi, lo, t11, -MAD_F(0x0cb19346));  x[1]  = MAD_F_MLZ(hi, lo) + t4;  x[16] = -x[1];  MAD_F_ML0(hi, lo, t8,  -MAD_F(0x0fdcf549));  MAD_F_MLA(hi, lo, t9,  -MAD_F(0x0cb19346));  MAD_F_MLA(hi, lo, t10, -MAD_F(0x09bd7ca0));  MAD_F_MLA(hi, lo, t11, -MAD_F(0x0216a2a2));  x[25] = x[28] = MAD_F_MLZ(hi, lo) + t4;  MAD_F_ML0(hi, lo, X[1],  -MAD_F(0x0fdcf549));  MAD_F_MLA(hi, lo, X[7],  -MAD_F(0x0cb19346));  MAD_F_MLA(hi, lo, X[10], -MAD_F(0x09bd7ca0));  MAD_F_MLA(hi, lo, X[16], -MAD_F(0x0216a2a2));  t5 = MAD_F_MLZ(hi, lo) - t6;  MAD_F_ML0(hi, lo, X[0],   MAD_F(0x0898c779));  MAD_F_MLA(hi, lo, X[2],   MAD_F(0x04cfb0e2));  MAD_F_MLA(hi, lo, X[3],   MAD_F(0x0bcbe352));  MAD_F_MLA(hi, lo, X[5],   MAD_F(0x00b2aa3e));  MAD_F_MLA(hi, lo, X[6],   MAD_F(0x0e313245));  MAD_F_MLA(hi, lo, X[8],  -MAD_F(0x03768962));  MAD_F_MLA(hi, lo, X[9],   MAD_F(0x0f9ee890));  MAD_F_MLA(hi, lo, X[11], -MAD_F(0x07635284));  MAD_F_MLA(hi, lo, X[12],  MAD_F(0x0ffc19fd));  MAD_F_MLA(hi, lo, X[14], -MAD_F(0x0acf37ad));  MAD_F_MLA(hi, lo, X[15],  MAD_F(0x0f426cb5));  MAD_F_MLA(hi, lo, X[17], -MAD_F(0x0d7e8807));  x[2]  = MAD_F_MLZ(hi, lo) + t5;  x[15] = -x[2];  MAD_F_ML0(hi, lo, X[0],   MAD_F(0x07635284));  MAD_F_MLA(hi, lo, X[2],   MAD_F(0x0acf37ad));  MAD_F_MLA(hi, lo, X[3],   MAD_F(0x03768962));  MAD_F_MLA(hi, lo, X[5],   MAD_F(0x0d7e8807));  MAD_F_MLA(hi, lo, X[6],  -MAD_F(0x00b2aa3e));  MAD_F_MLA(hi, lo, X[8],   MAD_F(0x0f426cb5));  MAD_F_MLA(hi, lo, X[9],  -MAD_F(0x04cfb0e2));  MAD_F_MLA(hi, lo, X[11],  MAD_F(0x0ffc19fd));  MAD_F_MLA(hi, lo, X[12], -MAD_F(0x0898c779));  MAD_F_MLA(hi, lo, X[14],  MAD_F(0x0f9ee890));  MAD_F_MLA(hi, lo, X[15], -MAD_F(0x0bcbe352));  MAD_F_MLA(hi, lo, X[17],  MAD_F(0x0e313245));  x[3]  = MAD_F_MLZ(hi, lo) + t5;  x[14] = -x[3];  MAD_F_ML0(hi, lo, X[0],  -MAD_F(0x0ffc19fd));  MAD_F_MLA(hi, lo, X[2],  -MAD_F(0x0f9ee890));  MAD_F_MLA(hi, lo, X[3],  -MAD_F(0x0f426cb5));  MAD_F_MLA(hi, lo, X[5],  -MAD_F(0x0e313245));  MAD_F_MLA(hi, lo, X[6],  -MAD_F(0x0d7e8807));  MAD_F_MLA(hi, lo, X[8],  -MAD_F(0x0bcbe352));  MAD_F_MLA(hi, lo, X[9],  -MAD_F(0x0acf37ad));  MAD_F_MLA(hi, lo, X[11], -MAD_F(0x0898c779));  MAD_F_MLA(hi, lo, X[12], -MAD_F(0x07635284));  MAD_F_MLA(hi, lo, X[14], -MAD_F(0x04cfb0e2));  MAD_F_MLA(hi, lo, X[15], -MAD_F(0x03768962));  MAD_F_MLA(hi, lo, X[17], -MAD_F(0x00b2aa3e));  x[26] = x[27] = MAD_F_MLZ(hi, lo) + t5;}/* * NAME:	III_imdct_l() * DESCRIPTION:	perform IMDCT and windowing for long blocks */staticvoid III_imdct_l(mad_fixed_t const X[18], mad_fixed_t z[36],		 unsigned int block_type){  unsigned int i;  /* IMDCT */  imdct36(X, z);  /* windowing */  switch (block_type) {  case 0:  /* normal window */# if defined(ASO_INTERLEAVE1)    {      register mad_fixed_t tmp1, tmp2;      tmp1 = window_l[0];      tmp2 = window_l[1];      for (i = 0; i < 34; i += 2) {	z[i + 0] = mad_f_mul(z[i + 0], tmp1);	tmp1 = window_l[i + 2];	z[i + 1] = mad_f_mul(z[i + 1], tmp2);	tmp2 = window_l[i + 3];      }      z[34] = mad_f_mul(z[34], tmp1);      z[35] = mad_f_mul(z[35], tmp2);    }# elif defined(ASO_INTERLEAVE2)    {      register mad_fixed_t tmp1, tmp2;      tmp1 = z[0];      tmp2 = window_l[0];      for (i = 0; i < 35; ++i) {	z[i] = mad_f_mul(tmp1, tmp2);	tmp1 = z[i + 1];	tmp2 = window_l[i + 1];      }      z[35] = mad_f_mul(tmp1, tmp2);    }# elif 1    for (i = 0; i < 36; i += 4) {      z[i + 0] = mad_f_mul(z[i + 0], window_l[i + 0]);      z[i + 1] = mad_f_mul(z[i + 1], window_l[i + 1]);      z[i + 2] = mad_f_mul(z[i + 2], window_l[i + 2]);      z[i + 3] = mad_f_mul(z[i + 3], window_l[i + 3]);    }# else    for (i =  0; i < 36; ++i) z[i] = mad_f_mul(z[i], window_l[i]);# endif    break;  case 1:  /* start block */    for (i =  0; i < 18; ++i) z[i] = mad_f_mul(z[i], window_l[i]);    /*  (i = 18; i < 24; ++i) z[i] unchanged */    for (i = 24; i < 30; ++i) z[i] = mad_f_mul(z[i], window_s[i - 18]);    for (i = 30; i < 36; ++i) z[i] = 0;    break;  case 3:  /* stop block */    for (i =  0; i <  6; ++i) z[i] = 0;    for (i =  6; i < 12; ++i) z[i] = mad_f_mul(z[i], window_s[i - 6]);    /*  (i = 12; i < 18; ++i) z[i] unchanged */    for (i = 18; i < 36; ++i) z[i] = mad_f_mul(z[i], window_l[i]);    break;  }}# endif  /* ASO_IMDCT *//* * NAME:	III_imdct_s() * DESCRIPTION:	perform IMDCT and windowing for short blocks */staticvoid III_imdct_s(mad_fixed_t const X[18], mad_fixed_t z[36]){  mad_fixed_t y[36], *yptr;  mad_fixed_t const *wptr;  int w, i;  register mad_fixed64hi_t hi;  register mad_fixed64lo_t lo;  /* IMDCT */  yptr = &y[0];  for (w = 0; w < 3; ++w) {    register mad_fixed_t const (*s)[6];    s = imdct_s;    for (i = 0; i < 3; ++i) {      MAD_F_ML0(hi, lo, X[0], (*s)[0]);      MAD_F_MLA(hi, lo, X[1], (*s)[1]);      MAD_F_MLA(hi, lo, X[2], (*s)[2]);      MAD_F_MLA(hi, lo, X[3], (*s)[3]);      MAD_F_MLA(hi, lo, X[4], (*s)[4]);      MAD_F_MLA(hi, lo, X[5], (*s)[5]);      yptr[i + 0] = MAD_F_MLZ(hi, lo);      yptr[5 - i] = -yptr[i + 0];      ++s;      MAD_F_ML0(hi, lo, X[0], (*s)[0]);      MAD_F_MLA(hi, lo, X[1], (*s)[1]);      MAD_F_MLA(hi, lo, X[2], (*s)[2]);      MAD_F_MLA(hi, lo, X[3], (*s)[3]);      MAD_F_MLA(hi, lo, X[4], (*s)[4]);      MAD_F_MLA(hi, lo, X[5], (*s)[5]);      yptr[ i + 6] = MAD_F_MLZ(hi, lo);      yptr[11 - i] = yptr[i + 6];      ++s;    }    yptr += 12;    X    += 6;  }  /* windowing, overlapping and concatenation */  yptr = &y[0];  wptr = &window_s[0];

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -