diff options
author | jm <jm@0101bb08-14d6-0310-b084-bc0e0c8e3800> | 2006-04-19 19:43:14 +0400 |
---|---|---|
committer | jm <jm@0101bb08-14d6-0310-b084-bc0e0c8e3800> | 2006-04-19 19:43:14 +0400 |
commit | b24081886008f8f8823a33c3ec22247b3000926f (patch) | |
tree | ba3cb4e6a391f4e19679d22453e9d2267a3435cc /libspeex/nb_celp.c | |
parent | d88f2dff8d513d34ef36ec5e3ea2d3f3046561ed (diff) |
fixed narrowband mode 7
git-svn-id: http://svn.xiph.org/trunk/speex@11167 0101bb08-14d6-0310-b084-bc0e0c8e3800
Diffstat (limited to 'libspeex/nb_celp.c')
-rw-r--r-- | libspeex/nb_celp.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/libspeex/nb_celp.c b/libspeex/nb_celp.c index 5354c2a..74ad700 100644 --- a/libspeex/nb_celp.c +++ b/libspeex/nb_celp.c @@ -1680,14 +1680,15 @@ int nb_decode(void *state, SpeexBits *bits, void *vout) } - - for (i=0;i<st->subframeSize;i++) - sp[i]=PSHR32(exc[i],SIG_SHIFT); - #ifndef NEW_ENHANCER if (st->lpc_enh_enabled && SUBMODE(comb_gain)>0 && !st->count_lost) + { comb_filter(exc, sp, st->interp_qlpc, st->lpcSize, st->subframeSize, pitch, pitch_gain, SUBMODE(comb_gain), st->comb_mem); + } else { + for (i=0;i<st->subframeSize;i++) + sp[i]=PSHR32(exc[i],SIG_SHIFT); + } #endif } @@ -1699,6 +1700,9 @@ int nb_decode(void *state, SpeexBits *bits, void *vout) { multicomb(st->exc-40, out, st->interp_qlpc, st->lpcSize, 2*st->subframeSize, pitch, pitch_gain, SUBMODE(comb_gain), stack); multicomb(st->exc+40, out+80, st->interp_qlpc, st->lpcSize, 2*st->subframeSize, pitch, pitch_gain, SUBMODE(comb_gain), stack); + } else { + for (i=0;i<st->frameSize;i++) + out[i]=PSHR32(st->exc[i-40],SIG_SHIFT); } #endif @@ -1772,7 +1776,7 @@ int nb_decode(void *state, SpeexBits *bits, void *vout) st->pi_gain[sub] = pi_g; } - if (st->lpc_enh_enabled) + if (0&&st->lpc_enh_enabled) { /* Use enhanced LPC filter */ filter_mem16(sp, awk2, awk1, sp, st->subframeSize, st->lpcSize, |