dquant_inter_mpeg4.asm

来自「BLACKFIN下 MPEG4量化实例」· 汇编 代码 · 共 44 行

ASM
44
字号
/**********************************************

   该函数的功能主要进行MPEG4的帧间量化

**********************************************/
.section L1_code;
.global __dquant_inter_mpeg4;
.align 8;
__dquant_inter_mpeg4:
       [--SP] = (R7:4,P5:3);
       I0 = R0;                //out
       P0 = R1;                //data
       M0 = R2;                //quant
       R7 = R2;
       R3 = [SP+40];           //chrom_lumflag
//       R4 = [SP+44];           //AcQCoeff
       R5 = [SP+44];           //W[i][j]
       M1 = R3;
       I2 = R5;
       L0 = 0;
       L2 = 0;
       P3 = 32;
       R3.L = 1;
       R3.H = 0;
       R4.L = 0;
       R4.H = 1;
       R0 = [P0];
       A1 = A0 = 0||R6 = [P0++]||R1 = [I2++];
         LSETUP(QUANT_INTRA_MPEG4_ST,QUANT_INTRA_MPEG4_END) LC0 = P3;
QUANT_INTRA_MPEG4_ST:
       R0 = R0<<1(V);
       R5.H = R5.L = SIGN(R0.H)*R3.H+SIGN(R0.L)*R3.L;
       R6.H = R6.L = SIGN(R0.H)*R4.H+SIGN(R0.L)*R4.L;
       R5.H = R6.H + R4.L(S);
       R0 = R0+|+R5;
       R6.L = R0.L*R2.L,R6.H = R0.H*R2.L(IS)||R0 = [P0];
       R6.L = (A0 = R6.L*R1.L),R6.H = (A1 = R6.H*R1.H)(IS)||R1 = [I2++];
       R6 = R6>>>4(V);
QUANT_INTRA_MPEG4_END: [I0++] = R6||R6 = [P0++];
      (R7:4,P5:3) = [SP++];
       RTS;                                    //函数返回
       NOP; 
__dquant_inter_mpeg4.end:

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?