📄 mpegsub.i
字号:
*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 + -