📄 lsp_dist.asm
字号:
;==========================================================================
; File Name
; ----------
; LSP_DIST.ASM
;
; Brief Description of the Code:
; ------------------------------
; Compute mean square error for lsp vectors.
;
; Ref
; ------
; QUA_LSP.C
;==========================================================================
.mmregs
.include ..\include\const.h
.include ..\include\ld8amem.h
.text
.def Lsp_get_tdist
;-----------------------------------------------------------------------
; Lsp_get_tdist
;-----------------------------------------------------------------------
; void Lsp_get_tdist(
; Word16 wegt[], /* (i) norm: weight coef. */
; Word16 buf[], /* (i) Q13 : candidate LSP vector */
; Word32 *L_tdist, /* (o) Q27 : distortion */
; Word16 rbuf[], /* (i) Q13 : target vector */
; Word16 fg_sum[] /* (i) Q15 : present MA prediction coef. */
; )
;-----------------------------------------------------------------------
; *L_tist = 0 ;
; for(i=0; i<10; i++)
; {
; *L_tdisk += wegt[i] * pow(((buf[i] - rbuf[i]) * fg_sum[i]), 2) ;
; }
;-----------------------------------------------------------------------
; Constants : Addr_lsp_vecQ13 -> rbuf
; Addr_wegtQ11 -> wegt
;
; Pointers : ptr_MA_sum -> fg_sum
; ptr_mean_sqr_err -> &L_tdist
; ptr_lsp_vec -> buf
;-----------------------------------------------------------------------
; Output : *ptr_mean_sqr_err++ = distortion
;-----------------------------------------------------------------------
.asg "AR1", pLerror
.asg "AR2", pLspVec1Q13
.asg "AR3", pLspVec2Q13
.asg "AR4", pMAsum
.asg "AR5", pWegtQ11
Lsp_get_tdist:
STM #M - 1, BRC
STM Addr_wegtQ11, pWegtQ11
STM #Addr_lsp_vecQ13, pLspVec1Q13
MVDM ptr_lsp_vec , pLspVec2Q13
MVDM ptr_MA_sum, pMAsum
LD #0, B
RPTBD EndGetDist - 1
MVDM ptr_mean_sqr_err, pLerror
LD *pMAsum+, T
SUB *pLspVec2Q13+, *pLspVec1Q13+, A
MPYA A ; A = (buf[i] - rbuf[i]) * fg_sum[i])
STL A,-16,*AR0
LD *AR0,T
MPY *pWegtQ11+,A
LD A,4,A
MACA T,B
EndGetDist:
DST B, *pLerror+
RETD
MVMD pLerror, ptr_mean_sqr_err
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -