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

📄 mpegsub.i

📁 mp3解码源代码
💻 I
📖 第 1 页 / 共 5 页
字号:
		*d++ = *x1++ + *--x2;		*d++ = *x1++ + *--x2;		*d++ = *x1++ + *--x2;		*d++ = *x1++ + *--x2;		*d = *x1 + *--x2;	}	sub_dct(p);	 	s0 = p[13] + p[15];	sy0[ 0 *16]  = p[1];	sy1[ 0 *16]  = -p[1];	s = p[9] + s0;	sy0[ 2 *16]  = s;	sy0[ 30 *16]  = -s;	s = p[5] + p[7];	sy0[ 4 *16]  = s;	sy0[ 28 *16]  = -s;	s = p[11] + s0;	sy0[ 6 *16]  = s;	sy0[ 26 *16]  = -s;	sy0[ 8 *16]  = p[3];	sy0[ 24 *16]  = -p[3];	s = p[11] + p[15];	sy0[ 10 *16]  = s;	sy0[ 22 *16]  = -s;	sy0[ 12 *16]  = p[7];	sy0[ 20 *16]  = -p[7];	sy0[ 14 *16]  = p[15];	sy0[ 18 *16]  = -p[15];	sy0[ 16 *16]  = (INT32 ) 0;	 	 	s0 += p[14];	s1 = p[12] + p[14] + p[15];	s2 = p[10] + p[11];	s3 = p[6] + p[7];	sy1[ 2 *16]  = sy1[ 30 *16]  = -(p[9] + s0);	sy1[ 4 *16]  = sy1[ 28 *16]  = -(p[5] + s3);	sy1[ 6 *16]  = sy1[ 26 *16]  = -(s0 + s2);	sy1[ 8 *16]  = sy1[ 24 *16]  = -(p[2] + p[3]);	sy1[ 10 *16]  = sy1[ 22 *16]  = -(s1 + s2);	sy1[ 12 *16]  = sy1[ 20 *16]  = -(p[4] + s3);	sy1[ 14 *16]  = sy1[ 18 *16]  = -(p[8] + s1);	sy1[ 16 *16]  = -p[0];	if (freq_div > 1)		return;	x1 = samples;	x2 = samples + 31;	d = p;	*d++ = ((( (32808>> 1 )  ) * (  (*x1++ - *x2) ))>>((16- 1 ) )) ;	*d++ = ((( (33127>> 1 )  ) * (  (*x1++ - *--x2) ))>>((16- 1 ) )) ;	*d++ = ((( (33780>> 1 )  ) * (  (*x1++ - *--x2) ))>>((16- 1 ) )) ;	*d++ = ((( (34802>> 1 )  ) * (  (*x1++ - *--x2) ))>>((16- 1 ) )) ;	*d++ = ((( (36248>> 1 )  ) * (  (*x1++ - *--x2) ))>>((16- 1 ) )) ;	*d++ = ((( (38203>> 1 )  ) * (  (*x1++ - *--x2) ))>>((16- 1 ) )) ;	*d++ = ((( (40796>> 1 )  ) * (  (*x1++ - *--x2) ))>>((16- 1 ) )) ;	*d++ = ((( (44224>> 1 )  ) * (  (*x1++ - *--x2) ))>>((16- 1 ) )) ;	*d++ = ((( (48794>> 1 )  ) * (  (*x1++ - *--x2) ))>>((16- 1 ) )) ;	*d++ = ((( (55008>> 1 )  ) * (  (*x1++ - *--x2) ))>>((16- 1 ) )) ;	*d++ = ((( (63738>> 1 )  ) * (  (*x1++ - *--x2) ))>>((16- 1 ) )) ;	*d++ = ((( (76640>> 1 )  ) * (  (*x1++ - *--x2) ))>>((16- 1 ) )) ;	*d++ = ((( (97266>> 1 )  ) * (  (*x1++ - *--x2) ))>>((16- 1 ) )) ;	*d++ = ((( (134859>> 1 )  ) * (  (*x1++ - *--x2) ))>>((16- 1 ) )) ;	*d++ = ((( (223321>> 1 )  ) * (  (*x1++ - *--x2) ))>>((16- 1 ) )) ;	*d = ((( (667812>> 1 )  ) * (  (*x1 - *--x2) ))>>((16- 1 ) )) ;	sub_dct(p);	 	s0 = p[13] + p[15];	s1 = p[11] + p[15];	s2 = p[5] + p[7];	tmp = p[9] + s0;	s = p[1] + tmp;	sy0[ 1 *16]  = s;	sy0[ 31 *16]  = -s;	s = s2 + tmp;	sy0[ 3 *16]  = s;	sy0[ 29 *16]  = -s;	tmp = p[11] + s0;	s = s2 + tmp;	sy0[ 5 *16]  = s;	sy0[ 27 *16]  = -s;	s = p[3] + tmp;	sy0[ 7 *16]  = s;	sy0[ 25 *16]  = -s;	s = p[3] + s1;	sy0[ 9 *16]  = s;	sy0[ 23 *16]  = -s;	s = p[7] + s1;	sy0[ 11 *16]  = s;	sy0[ 21 *16]  = -s;	s = p[7] + p[15];	sy0[ 13 *16]  = s;	sy0[ 19 *16]  = -s;	sy0[ 15 *16]  = p[15];	sy0[ 17 *16]  = -p[15];	 	 	s0 += p[14];	s1 = p[12] + p[14] + p[15];	s2 = p[10] + p[11];	s3 = p[6] + p[7];	sy1[ 1 *16]  = sy1[ 31 *16]  = -(p[1] + p[9] + s0);	tmp = p[5] + s3 + s0;	sy1[ 3 *16]  = sy1[ 29 *16]  = -(tmp + p[9]);	sy1[ 5 *16]  = sy1[ 27 *16]  = -(tmp + s2);	tmp = p[2] + p[3] + s2;	sy1[ 7 *16]  = sy1[ 25 *16]  = -(tmp + s0);	sy1[ 9 *16]  = sy1[ 23 *16]  = -(tmp + s1);	tmp = p[4] + s3 + s1;	sy1[ 11 *16]  = sy1[ 21 *16]  = -(tmp + s2);	sy1[ 13 *16]  = sy1[ 19 *16]  = -(tmp + p[8]);	sy1[ 15 *16]  = sy1[ 17 *16]  = -(p[0] + p[8] + s1);}  INT16 MPEGSUB_synthesis(MPEGSUB *mpegsub, INT16  *bandPtr,	INT16 channel, INT16 *samples){	INT16   *buf0, *buf1;	INT16   *buf_ptr;	INT16 b_offset = mpegsub->b_offset[channel];	INT16  *bb = &mpegsub->bb[channel][0];	if (b_offset & 1) {		 		buf0 = &bb[512  + b_offset];		buf1 = &bb[b_offset];		buf_ptr = &bb[512 ];	} else {		 		buf0 = &bb[b_offset];		buf1 = &bb[512  + b_offset];		buf_ptr = &bb[0];	}	fast_dct(bandPtr, buf0, buf1, mpegsub->freq_div);	{		INT16 start, top, cnt0, cnt1, off0, off1, offd;		INT16 *samp;		INT32  sum;		const INT16   *dewindow;		INT16 j;		INT32 dew_shift = mpegsub->scaled_shift + 14   - 16 +			16  - 15;		samp = samples;		start = (mpegsub->w_begin + b_offset) & 15;		top = start + mpegsub->w_width;		if (top > 16)			top = 16;		cnt1 = top - start;		 		cnt0 = mpegsub->w_width - cnt1;	 		off1 = mpegsub->freq_div * 16 - cnt1;		off0 = mpegsub->freq_div * 16 - cnt0;		offd = mpegsub->freq_div * 16 - mpegsub->w_width;		buf1 = &buf_ptr[start];		buf0 = &buf_ptr[0];		dewindow = &(mpegsub->scaled_dewindow[mpegsub->w_begin]);		j = mpegsub->pcm_count;		if (mpegsub->w_width <= 4) {			switch (cnt0) {			case 0:				while (j--) {					sum = (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					buf1 += off1; buf0 += off0; dewindow += offd; sum = ((  sum  )>>(dew_shift)) ; if (sum > (INT16  )32767) sum = (INT16  )32767; else if (sum < (INT16  )-32768) sum = (INT16  )-32768;	*samp++ = (INT16)sum; ;				}				break;			case 1:				while (j--) {					sum = (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					buf1 += off1; buf0 += off0; dewindow += offd; sum = ((  sum  )>>(dew_shift)) ; if (sum > (INT16  )32767) sum = (INT16  )32767; else if (sum < (INT16  )-32768) sum = (INT16  )-32768;	*samp++ = (INT16)sum; ;				}				break;			case 2:				while (j--) {					sum = (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					buf1 += off1; buf0 += off0; dewindow += offd; sum = ((  sum  )>>(dew_shift)) ; if (sum > (INT16  )32767) sum = (INT16  )32767; else if (sum < (INT16  )-32768) sum = (INT16  )-32768;	*samp++ = (INT16)sum; ;				}				break;			case 3:				while (j--) {					sum = (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					buf1 += off1; buf0 += off0; dewindow += offd; sum = ((  sum  )>>(dew_shift)) ; if (sum > (INT16  )32767) sum = (INT16  )32767; else if (sum < (INT16  )-32768) sum = (INT16  )-32768;	*samp++ = (INT16)sum; ;				}				break;			}		} else if (mpegsub->w_width <= 8) {			switch (cnt0) {			case 0:				while (j--) {					sum = (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					buf1 += off1; buf0 += off0; dewindow += offd; sum = ((  sum  )>>(dew_shift)) ; if (sum > (INT16  )32767) sum = (INT16  )32767; else if (sum < (INT16  )-32768) sum = (INT16  )-32768;	*samp++ = (INT16)sum; ;				}				break;			case 1:				while (j--) {					sum = (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					buf1 += off1; buf0 += off0; dewindow += offd; sum = ((  sum  )>>(dew_shift)) ; if (sum > (INT16  )32767) sum = (INT16  )32767; else if (sum < (INT16  )-32768) sum = (INT16  )-32768;	*samp++ = (INT16)sum; ;				}				break;			case 2:				while (j--) {					sum = (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					buf1 += off1; buf0 += off0; dewindow += offd; sum = ((  sum  )>>(dew_shift)) ; if (sum > (INT16  )32767) sum = (INT16  )32767; else if (sum < (INT16  )-32768) sum = (INT16  )-32768;	*samp++ = (INT16)sum; ;				}				break;			case 3:				while (j--) {					sum = (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					buf1 += off1; buf0 += off0; dewindow += offd; sum = ((  sum  )>>(dew_shift)) ; if (sum > (INT16  )32767) sum = (INT16  )32767; else if (sum < (INT16  )-32768) sum = (INT16  )-32768;	*samp++ = (INT16)sum; ;				}				break;			case 4:				while (j--) {					sum = (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					buf1 += off1; buf0 += off0; dewindow += offd; sum = ((  sum  )>>(dew_shift)) ; if (sum > (INT16  )32767) sum = (INT16  )32767; else if (sum < (INT16  )-32768) sum = (INT16  )-32768;	*samp++ = (INT16)sum; ;				}				break;			case 5:				while (j--) {					sum = (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					buf1 += off1; buf0 += off0; dewindow += offd; sum = ((  sum  )>>(dew_shift)) ; if (sum > (INT16  )32767) sum = (INT16  )32767; else if (sum < (INT16  )-32768) sum = (INT16  )-32768;	*samp++ = (INT16)sum; ;				}				break;			case 6:				while (j--) {					sum = (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					buf1 += off1; buf0 += off0; dewindow += offd; sum = ((  sum  )>>(dew_shift)) ; if (sum > (INT16  )32767) sum = (INT16  )32767; else if (sum < (INT16  )-32768) sum = (INT16  )-32768;	*samp++ = (INT16)sum; ;				}				break;			case 7:				while (j--) {					sum = (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					buf1 += off1; buf0 += off0; dewindow += offd; sum = ((  sum  )>>(dew_shift)) ; if (sum > (INT16  )32767) sum = (INT16  )32767; else if (sum < (INT16  )-32768) sum = (INT16  )-32768;	*samp++ = (INT16)sum; ;				}				break;			}		} else {			switch (cnt0) {			case 0:				while (j--) {					sum = (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					buf1 += off1; buf0 += off0; dewindow += offd; sum = ((  sum  )>>(dew_shift)) ; if (sum > (INT16  )32767) sum = (INT16  )32767; else if (sum < (INT16  )-32768) sum = (INT16  )-32768;	*samp++ = (INT16)sum; ;				}				break;			case 1:				while (j--) {					sum = (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					buf1 += off1; buf0 += off0; dewindow += offd; sum = ((  sum  )>>(dew_shift)) ; if (sum > (INT16  )32767) sum = (INT16  )32767; else if (sum < (INT16  )-32768) sum = (INT16  )-32768;	*samp++ = (INT16)sum; ;				}				break;			case 2:				while (j--) {					sum = (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					buf1 += off1; buf0 += off0; dewindow += offd; sum = ((  sum  )>>(dew_shift)) ; if (sum > (INT16  )32767) sum = (INT16  )32767; else if (sum < (INT16  )-32768) sum = (INT16  )-32768;	*samp++ = (INT16)sum; ;				}				break;			case 3:				while (j--) {					sum = (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					buf1 += off1; buf0 += off0; dewindow += offd; sum = ((  sum  )>>(dew_shift)) ; if (sum > (INT16  )32767) sum = (INT16  )32767; else if (sum < (INT16  )-32768) sum = (INT16  )-32768;	*samp++ = (INT16)sum; ;				}				break;			case 4:				while (j--) {					sum = (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					buf1 += off1; buf0 += off0; dewindow += offd; sum = ((  sum  )>>(dew_shift)) ; if (sum > (INT16  )32767) sum = (INT16  )32767; else if (sum < (INT16  )-32768) sum = (INT16  )-32768;	*samp++ = (INT16)sum; ;				}				break;			case 5:				while (j--) {					sum = (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					buf1 += off1; buf0 += off0; dewindow += offd; sum = ((  sum  )>>(dew_shift)) ; if (sum > (INT16  )32767) sum = (INT16  )32767; else if (sum < (INT16  )-32768) sum = (INT16  )-32768;	*samp++ = (INT16)sum; ;				}				break;			case 6:				while (j--) {					sum = (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					buf1 += off1; buf0 += off0; dewindow += offd; sum = ((  sum  )>>(dew_shift)) ; if (sum > (INT16  )32767) sum = (INT16  )32767; else if (sum < (INT16  )-32768) sum = (INT16  )-32768;	*samp++ = (INT16)sum; ;				}				break;			case 7:				while (j--) {					sum = (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					buf1 += off1; buf0 += off0; dewindow += offd; sum = ((  sum  )>>(dew_shift)) ; if (sum > (INT16  )32767) sum = (INT16  )32767; else if (sum < (INT16  )-32768) sum = (INT16  )-32768;	*samp++ = (INT16)sum; ;				}				break;			case 8:				while (j--) {					sum = (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					buf1 += off1; buf0 += off0; dewindow += offd; sum = ((  sum  )>>(dew_shift)) ; if (sum > (INT16  )32767) sum = (INT16  )32767; else if (sum < (INT16  )-32768) sum = (INT16  )-32768;	*samp++ = (INT16)sum; ;				}				break;			case 9:				while (j--) {					sum = (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					buf1 += off1; buf0 += off0; dewindow += offd; sum = ((  sum  )>>(dew_shift)) ; if (sum > (INT16  )32767) sum = (INT16  )32767; else if (sum < (INT16  )-32768) sum = (INT16  )-32768;	*samp++ = (INT16)sum; ;				}				break;			case 10:				while (j--) {					sum = (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					buf1 += off1; buf0 += off0; dewindow += offd; sum = ((  sum  )>>(dew_shift)) ; if (sum > (INT16  )32767) sum = (INT16  )32767; else if (sum < (INT16  )-32768) sum = (INT16  )-32768;	*samp++ = (INT16)sum; ;				}				break;			case 11:				while (j--) {					sum = (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					buf1 += off1; buf0 += off0; dewindow += offd; sum = ((  sum  )>>(dew_shift)) ; if (sum > (INT16  )32767) sum = (INT16  )32767; else if (sum < (INT16  )-32768) sum = (INT16  )-32768;	*samp++ = (INT16)sum; ;				}				break;			case 12:				while (j--) {					sum = (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					sum += (( *dewindow++ ) * (  *buf0++ ))  ;					buf1 += off1; buf0 += off0; dewindow += offd; sum = ((  sum  )>>(dew_shift)) ; if (sum > (INT16  )32767) sum = (INT16  )32767; else if (sum < (INT16  )-32768) sum = (INT16  )-32768;	*samp++ = (INT16)sum; ;				}				break;			case 13:				while (j--) {					sum = (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *dewindow++ ) * (  *buf1++ ))  ;					sum += (( *de

⌨️ 快捷键说明

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