赞
踩
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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。