📄 g729a_pred_lt3.c
字号:
#include "../Common/typedef.h"
#include "../Include/G729A_basic_op.h"
#include "../Include/G729A_ld8a.h"
#include "../Include/G729A_tab_ld8a.h"
void G729APred_lt_3(Word16 exc[], Word16 T0, Word16 frac, Word16 L_subfr)
{
Word16 i, j, k;
Word16 *x0, *x1, *x2, *c1, *c2;
Word32 s;
x0 = &exc[-T0];
frac = G729Anegate(frac);
if (frac < 0)
{
frac = G729Aadd_s(frac, G729A_UP_SAMP);
x0--;
}
for (j=0; j<L_subfr; j++)
{
x1 = x0++;
x2 = x0;
c1 = &G729A_inter_3l[frac];
c2 = &G729A_inter_3l[G729Asub_s(G729A_UP_SAMP,frac)];
s = 0;
for(i=0, k=0; i< G729A_L_INTER10; i++, k+=G729A_UP_SAMP)
{
s = _sadd(s, _smpy(x1[-i], c1[k]));
s = _sadd(s, _smpy(x2[i], c2[k]));
}
exc[j] = (Word16)(_sadd(s, (Word32)0x00008000L)>>16);
}
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -