当前位置:   article > 正文

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/432027
推荐阅读
相关标签
  

闽ICP备14008679号