OpenVINOTM,给你看得见的未来!>>
电子产品世界 » 论坛首页 » 综合技术 » 物联网技术 » 函数的优化讨论

共4条 1/1 1 跳转至

函数的优化讨论

菜鸟
2005-11-02 01:41:00    评分

static void quant_4x4_dc( int16_t dct[4][4], int quant_mf[6][4][4], int i_qscale )
{
const int i_qbits = 15 + i_qscale / 6;
const int f2 = ( 2 << i_qbits ) / 3;
const int i_qmf = quant_mf[i_qscale%6][0][0];
int x,y;

for( y = 0; y < 4; y++ )
{
for( x = 0; x < 4; x++ )
{
if( dct[y][x] > 0 )
dct[y][x] =( f2 + dct[y][x] * i_qmf) >> ( 1 + i_qbits );
else
dct[y][x] = - ( ( f2 - dct[y][x] * i_qmf ) >> (1 + i_qbits ) );
}
}
}

我现在的优化结果为30多个周期,不知道大家优化的结果怎么样?继续和大家讨论喔




关键词: 函数     优化     讨论    

菜鸟
2005-11-02 05:04:00    评分
2楼

加上 restric 和 MUST_ITERATE()


菜鸟
2005-11-02 05:07:00    评分
3楼
想办法改为一重循环,使用o3编译,打开软件流水

菜鸟
2005-11-02 17:07:00    评分
4楼
您这样的思路是纯C优化,我想效果肯定没有线性汇编或者手工汇编效率高 :)

共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]