?? sad16.asm
字號:
/**********************************************
該函數的功能主要是進行16*16宏塊SAD
運算
**********************************************/
.section L1_code;
.global __sad16;
.align 8;
__sad16:
[--SP] = (R7:4,P5:3);
I2 = R0; //當前宏塊地址 cur
P0 = R1; //參考幀的開始地址 ref
R6 = R2; //stride stride
P5 = [SP+40];
R7 = 16;
R7 = R6-R7(S); //stride-16
M0 = R7; //stride-16
R7 = 12;
R7 = R2-R7(S);
M1 = R7;
R7 = P0;
P4 = R7;
I0 = R0;
I1 = R7;
L2 = 0;
L3 = 0;
P2 = P4>>2;
P4 = P2<<2; //最低兩位置零
P3 = 16; //循環次數
I3 = P4;
R0 = [I2++]||R2 = [I3++]; //開始進行SAD運算
A1 = A0 = 0||R1 =[I2++]||R3 = [I3++];
LSETUP(SAD_ST,SAD_END) LC1 = P3;
SAD_ST:
SAA(R1:0,R3:2)||R0 = [I2++]||R2 = [I3++];
SAA(R1:0,R3:2)(R)||R1 = [I2++M1]||R3 = [I3++];
SAA(R1:0,R3:2)||R0 = [I2++]||R2 = [I3++M0];
SAA(R1:0,R3:2)(R)||R1 = [I2++]||R2 = [I3++];
SAD_END: R3 = [I3++];
R3 =A1.L+A1.H,R2 =A0.L+A0.H;
R0 = R2+R3;
[P5] = R0;
//SAD運算結束
(R7:4,P5:3) = [SP++];
RTS; //函數返回
NOP;
__sad16.end:
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -