📄 decode.asm
字号:
DECODE_DEBUG .SET 0
.IF DECODE_DEBUG
.version 50
.mmregs
.MLIB "MAC.LIB"
CALL C50_INIT
.ENDIF
DECODE
;============================================
; vdecode(decodedgain, l, &vdecoded[k]);
;============================================
LACC #CODEBOOK+1022
SUB TOPCBINDEX,1
SAMM AR0
LAR AR1,#E0
LACC #59
SAMM BRCR
MAR *,AR0
LT TOPCGAIN
RPTB DEC_MPY_V-1
MPY *+,AR1
PAC
SACL *+,0,AR0
DEC_MPY_V
;=============================================
; pitchvq(&vdecoded[k], l, dps, idb, bb, "long");//, dp1, dp3);
;=============================================
SPLK #E0,PIT_RAR
CALLD PITCHVQ
SPLK #D1C,PIT_BUF
;=============================================
; lsptopc(&lsp[i][0], fci);
;=============================================
CALL LSPPC
;=============================================
; polefilt(fci, no, dss, &vdecoded[k], l);
;=============================================
SPLK #LPC,POLE_A
SPLK #E0,POLE_XY
CALLD POLE_CON
SPLK #D2C,POLE_Z
;=============================================
MOVEFR 60,E0,SYN_OUT
;=============================================
RET
;=============================================
; vdecode(decodedgain, l, &vdecoded[k]);
; bb[0] = taus[i]; bb[2] = pgs[i];
; pitchvq(&vdecoded[k], l, dps, idb, bb, "long");//, dp1, dp3);
; lsptopc(&lsp[i][0], fci);
; polefilt(fci, no, dss, &vdecoded[k], l);
; for (j = 0; j < l; j++)
; { vdecoded[k + j] = vdecoded[k + j];
; npf[k + j] = (int)(mmax(-32768., mmin(32767., vdecoded[k + j])));}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -