www.pudn.com > g729Decoder.rar > LSP_COMP.asm


;========================================================================== 
;  File Name 
;  ---------- 
;  LSP_COMP.ASM 
; 
;  Brief Description of the Code: 
;  ------------------------------ 
;  Compose LSP parameter from elementary LSP with previous LSP. 
; 
;  Ref 
;  ------ 
;  LSPGETQ.C 
;========================================================================== 
 
        .mmregs 
 
        .include  ..\include\const.h 
        .include  ..\include\ld8amem.h 
 
		.text 
        .def    Lsp_prev_compose 
 
 
;----------------------------------------------------------------------- 
; Lsp_prev_compose 
;----------------------------------------------------------------------- 
; void Lsp_prev_compose( 
;   Word16 lsp_ele[],             /* (i) Q13 : LSP vectors                 */ 
;   Word16 lsp[],                 /* (o) Q13 : quantized LSP parameters    */ 
;   Word16 fg[M][MA_NP],          /* (i) Q15 : MA prediction coef.         */ 
;   Word16 freq_prev[M][MA_NP],   /* (i) Q13 : previous LSP vector         */ 
;   Word16 fg_sum[]               /* (i) Q15 : present MA prediction coef. */ 
; ) 
;----------------------------------------------------------------------- 
;   for ( j = 0 ; j < M ; j++ ) 
;   { 
;     A = lsp_ele[j] * fg_sum[j] ; 
;     for ( k = 0 ; k < MA_NP ; k++ ) 
;       A += freq_prev[j][k], fg[j][k] ); 
; 
;     lsp[j] = A_hi ; 
;   } 
;----------------------------------------------------------------------- 
;  Equation 20 
;----------------------------------------------------------------------- 
;  Constants : Addr_lsfq_coefQ13 -> lsp 
; 
;  Pointers  : ptr_MA_coef -> fg 
;              ptr_prev_lsp_vec -> freq_prev 
;              ptr_MA_sum -> fg_sum 
;              ptr_lsp_vec -> lsp_ele 
;----------------------------------------------------------------------- 
 
        .asg    "AR1", pLsfqCoefQ13 
 
        .asg    "AR2", pLspVecQ13 
        .asg    "AR3", pMA_Sum 
 
        .asg    "AR4", pPrevLspVecQ13 
        .asg    "AR5", pMA_Coef 
 
 
 
Lsp_prev_compose: 
        STM     #M - 1, BRC 
        STM     #Addr_lsfq_coefQ13, pLsfqCoefQ13 
        MVDM    ptr_lsp_vec, pLspVecQ13 
 
        MVDM    ptr_MA_coef, pMA_Coef 
        MVDM    ptr_prev_lsp_vec, pPrevLspVecQ13 
        MVDM    ptr_MA_sum, pMA_Sum 
 
        RPTB    EndLspComp - 1 
                MPY     *pLspVecQ13+, *pMA_Sum+, A 
 
                RPT     #MA_NP - 1 
                        MAC     *pPrevLspVecQ13+, *pMA_Coef+, A 
 
                STL     A, -16,*pLsfqCoefQ13+ 
 
EndLspComp: 
        RET