📄 int_qlpc.asm
字号:
;==========================================================================
; File Name
; ----------
; INT_QLPC.ASM
;
; Brief Description of the Code:
; ------------------------------
; Interpolation of the quantized LSP's
;
; Ref
; ------
; LPCFUNC.C
;==========================================================================
;---------------------------------------------------------------------
; procedure Int_qlpc
;---------------------------------------------------------------------
; void Int_qlpc(
; Word16 lsp_old[], /* input : LSP vector of past frame */
; Word16 lsp_new[], /* input : LSP vector of present frame */
; Word16 Az[] /* output: interpolated Az() for the 2 subframes */
; )
;---------------------------------------------------------------------
; C code Asm code
; ------ --------
; Az[0] = 1 skip
; Az[1] = Az[0]
; Az[2] = Az[1]
; : : :
; Az[10] = Az[9]
; (circular buffer size of 10)
; Az[12] = Az[16]
; Az[21] = Az[25]
;---------------------------------------------------------------------
; Constants : Addr_lsp_vec_buf1 -> lsp
;
; Pointers : ptr_Az -> Az
; ptr_qlsp_old -> lsp_old
; ptr_lsp_new -> lsp_new
;---------------------------------------------------------------------
.mmregs
.include ..\include\const.h
.include ..\include\ld8amem.h
.text
.def Int_qlpc
.ref lsp_lpc
.asg "AR2", pLspNew
.asg "AR3", pLspOld
.asg "AR4", pLsp
.asg "Addr_lsp_vec_buf1", lsp
.asg "ptr_lsp_coef", pLsp_coef
.asg "ptr_Az", pAz
.asg "ptr_lsp_new", pLsp_new
.asg "ptr_qlsp_old", pLsp_old
Int_qlpc:
LD #pLsp_new, DP ; set DP to pointers' page
MVDM #pLsp_new, pLspNew
MVDM #pLsp_old, pLspOld
STM #M-1, BRC
STM #-1, T
RPTBD BLK_END-1
STM #lsp, pLsp
LD *pLspNew+, TS, A
ADD *pLspOld+, TS, A
STL A, *pLsp+
BLK_END
CALLD lsp_lpc
ST #lsp, pLsp_coef
ADDM #16, pAz
CALLD lsp_lpc
MVKD #pLsp_new, pLsp_coef
RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -