📄 sad_8x8_sa2.sa
字号:
.sect ".internal_code1"
.global _ComputBlockSad
_ComputBlockSad .cproc A_srcImg, B_refImg, A_pitch
.no_mdep
.reg B_srcImg, B_s3, B_s2, A_s1, A_s0, B_pitch
.reg B_s7654:B_s3210, A_s7654:A_s3210
.reg B_r7654:B_r3210, A_r7654:A_r3210
.reg B_d7654,B_d3210, A_d7654,A_d3210
.reg A_retval, B_sad, A_sad, i, B_k1, A_k1
MVK .1 0x0101, A_k1
PACK2 .1 A_k1, A_k1, A_k1
MV .2X A_pitch, B_pitch
ADD .2X A_srcImg, A_pitch, B_srcImg
MVK 3, i
ZERO A_sad
ZERO B_sad
loop: .trip 3, 3, 3
LDNDW .D1T2 * A_srcImg++(A_pitch), B_s7654:B_s3210
LDNDW .D2T1 * B_srcImg++(B_pitch), A_s7654:A_s3210
LDNDW .D1T2 * B_refImg++(B_pitch), B_r7654:B_r3210
LDNDW .D2T1 * B_refImg++(B_pitch), A_r7654:A_r3210
ADD .2 A_srcImg, A_pitch, A_srcImg
ADD .2 B_srcImg, B_pitch, B_srcImg
SUBABS4 B_s7654, B_r7654, B_d7654
SUBABS4 B_s3210, B_r3210, B_d3210
SUBABS4 A_s7654, A_r7654, A_d7654
SUBABS4 A_s3210, A_r3210, A_d3210
DOTPU4 B_d7654, A_k1, B_s3
DOTPU4 B_d3210, A_k1, B_s2
DOTPU4 A_d7654, A_k1, A_s1
DOTPU4 A_d3210, A_k1, A_s0
ADD B_sad, B_s3, B_sad
ADD B_sad, B_s2, B_sad
ADD A_sad, A_s1, A_sad
ADD A_sad, A_s0, A_sad
[i] BDEC loop, i
ADD A_sad, B_sad, A_retval
.return A_retval
.endproc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -