g729a_p_parity.c

来自「DSP上优化的G.729A代码」· C语言 代码 · 共 40 行

C
40
字号
#include "../Common/typedef.h"
#include "../Include/G729A_basic_op.h"
#include "../Include/G729A_ld8a.h"

Word16 G729AParity_Pitch(Word16 pitch_index)
{
	Word16 temp, sum, i, bit;
	Word32 L_result;
	L_result = _sshvr(pitch_index, 1);
	temp = (Word16)_spack2(L_result, L_result);
	sum = 1;
	for (i = 0; i <= 5; i++) 
	{
		L_result = _sshvr(temp, 1);
		temp = (Word16)_spack2(L_result, L_result);
		bit = temp & (Word16)1;
		sum = _sadd(sum, bit);
	}
	sum = sum & (Word16)1;
	return sum;
}

Word16  G729ACheck_Parity_Pitch(Word16 pitch_index, Word16 parity)
{
	Word16 temp, sum, i, bit;
	temp = _sshvr(pitch_index, 1);
	
	sum = 1;
	for (i = 0; i <= 5; i++) 
	{
		temp = _sshvr(temp, 1);
		bit = temp & (Word16)1;
		sum = _sadd(sum, bit);
	}
	sum = _sadd(sum, parity);
	sum = sum & (Word16)1;
	return sum;
}

⌨️ 快捷键说明

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