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

📄 g7231_basop.c

📁 G723.1语音压缩解压在tms320c54系列上的实现代码,本人已在CCS上仿真通过. 包含全部源代码,主函数请自已写(本人的就不奉送了:
💻 C
字号:
#include "typedef.h"
#include "G7231_BASOP.H"
#include <intrindefs.h>
#include <stdlib.h>


Word32   G7231L_mls( Word32 Lv, Word16 v )
{
	Word32   Temp  ;
	#ifdef  C54X_MODE
	Temp =  c54_mpyus(Lv,(Word32)v );
	Temp =  c54_sshvr(Temp, 15);
	return c54_sadd(Temp, c54_smpylh(v,Lv));
	#else
	Temp = _mpyus(Lv, (Word32)v);
	Temp = _sshvr(Temp, 15);
	return _sadd(Temp, _smpylh(v, Lv));
	#endif
}

Word16 G7231div_l( Word32  L_num, Word16 den )
{
    Word16   var_out = (Word16)0;
    Word32   L_den;
    Word16   iteration;
    Word32   L_result;
		
    L_den = (Word32) den << 16;
	
    if ( L_num >= L_den )
    {
        return G7231MAX_16 ;
    }
    else 
    {
            #ifdef  C54X_MODE
            L_num = c54_sshvr((Word32)L_num, (Word32)1);
            L_den = c54_sshvr((Word32)L_den, (Word32)1);
            #else  
            L_num = _sshvr((Word32)L_num, (Word32)1);
            L_den = _sshvr((Word32)L_den, (Word32)1);
            #endif

        for(iteration=(Word16)0; iteration< (Word16)15;iteration++) 
        {
            #ifdef  C54X_MODE
	    L_result = c54_sshvl((Word32)var_out, (Word32)1);
	    var_out =  (Word16)c54_spack2(L_result,L_result);
            L_num   = c54_sshvl(L_num,(Word32)1);
            #else  
            L_result = _sshvl((Word32)var_out, (Word32)1);
	    var_out  = (Word16)_spack2(L_result, L_result);
            L_num   = _sshvl(L_num,(Word32)1);
            #endif

            if (L_num >= L_den)
            {
	        #ifdef C54X_MODE
	        L_num   = c54_ssub(L_num, L_den);
                var_out = (Word16)c54_sadd2((Word32) var_out,(Word32)1);
                #else
                L_num   = _ssub(L_num, L_den);
                var_out = (Word16)_sadd2((Word32) var_out,(Word32)1);
                #endif
            }
        }
		
        return var_out;
    }
}






⌨️ 快捷键说明

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