x264中的亮度垂直预测汇编neon分析

C代码

void x264_predict_8x8_v_c( pixel *src, pixel edge[36] )

{

    //#define M32(src) (((x264_union32_t*)(src))->i)

    pixel4 top[2] = { MPIXEL_X4( edge+16 ), //取int32 4个像素数据

                      MPIXEL_X4( edge+20 ) }; //

    for( int y = 0; y < 8; y++ ) 

    {

        MPIXEL_X4( src+y*FDEC_STRIDE+0 ) = top[0];

        MPIXEL_X4( src+y*FDEC_STRIDE+4 ) = top[1];

    }

}

汇编代码

参数 pixel *src, pixel edge[36] 

function predict_8x8_v_neon, export=1

    add         x1,  x1,  #16 //偏移16字节 

    mov         x7,  #FDEC_STRIDE //x7 = 32

    ld1        {v0.8b}, [x1] //x1位置 读入edge 8字节到v0

.rept 8

    st1        {v0.8b}, [x0], x7 //循环赋值8行,到src像素数据

.endr

    ret

endfunc

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值