⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tab_ld8a.asm

📁 TI C54写的G729代码,视线8kbps高质量语音解码,汇编优化
💻 ASM
📖 第 1 页 / 共 3 页
字号:
PredCoefQ13:
        .word   5571, 4751, 2785, 1556


;--    Word16 gbk1[NCODE1][2] --
;---               Q14     Q13 --
gbk1Q13Q14:
         .word       1 ,  1516
         .word    1551 ,  2425
         .word    1831 ,  5022
         .word      57 ,  5404
         .word    1921 ,  9291
         .word    3242 ,  9949
         .word     356 , 14756
         .word    2678 , 27162


;--  Word16 gbk2[NCODE2][2]     --
;--                 Q14     Q13 --
gbk2Q14Q13:
         .word      826 ,  2005
         .word     1994 ,     0
         .word     5142 ,   592
         .word     6160 ,  2395
         .word     8091 ,  4861
         .word     9120 ,   525
         .word    10573 ,  2966
         .word    11569 ,  1196
         .word    13260 ,  3256
         .word    14194 ,  1630
         .word    15132 ,  4914
         .word    15161 , 14276
         .word    15434 ,   237
         .word    16112 ,  3392
         .word    17299 ,  1861
         .word    18973 ,  5935


;-- Word16 map1[NCODE1] --
map1:
         .word    5, 1, 4, 7, 3, 0, 6, 2


;-- Word16 map2[NCODE2] --
map2:
        .word    4, 6, 0, 2,12,14, 8,10,15,11, 9,13, 7, 3, 1, 5





;-- Word16 thr1[NCODE1-NCAN1] in Q14 --
Thr1Q14:
        .word   10808, 12374, 19778, 32567

;-- Word16 thr2[NCODE2-NCAN2] in Q15 --
Thr2:
        .word   14087, 16188, 20274, 21321, 23525, 25232, 27873, 30542

;-- Word16 imap1[NCODE1] --
imap1:
        .word   5, 1, 7, 4, 2, 0, 6, 3


;-- Word16 imap2[NCODE2] --
imap2:
        .word   2,14, 3,13, 0,15, 1,12, 6,10, 7, 9, 4,11, 5, 8


;-----------------------------------------------------
; Table for routine pst().
;-----------------------------------------------------

;-- Word16 tab_hup_s[SIZ_TAB_HUP_S] --
tab_hup_s:
        .word    -188,  2873, 31650, -1597,  -484,  7041, 28469
        .word   -2147,  -933, 12266, 23705, -1992, -1492, 18050
        .word   18050, -1492, -1992, 23705, 12266,  -933, -2147
        .word   28469,  7041,  -484, -1597, 31650,  2873,  -188

;-- Word16 tab_hup_l[SIZ_TAB_HUP_L] --
tab_hup_l
        .word     -40,    72,  -156,   315,  -579,  1023, -1874,  4439, 31915, -3390
        .word    1595,  -887,   501,  -266,   130,   -59,   -77,   147,  -317,   631
        .word   -1150,  2030, -3773,  9639, 29436, -5579,  2727, -1527,   859,  -453
        .word     218,  -101,  -106,   212,  -455,   892, -1614,  2850, -5392, 15206
        .word   25569, -6549,  3303, -1860,  1041,  -543,   258,  -122,  -123,   253
        .word    -538,  1044, -1876,  3319, -6414, 20676, 20676, -6414,  3319, -1876
        .word    1044,  -538,   253,  -123,  -122,   258,  -543,  1041, -1860,  3303
        .word   -6549, 25569, 15206, -5392,  2850, -1614,   892,  -455,   212,  -106
        .word    -101,   218,  -453,   859, -1527,  2727, -5579, 29436,  9639, -3773
        .word    2030, -1150,   631,  -317,   147,   -77,   -59,   130,  -266,   501
        .word    -887,  1595, -3390, 31915,  4439, -1874,  1023,  -579,   315,  -156
        .word      72,   -40

;-----------------------------------------------------
; Tables for routines post_pro() & pre_proc().
;-----------------------------------------------------

;-- post filter coefficients (fc = 100 Hz) in Q13 --
;-- Word16 b100[3], a100[3] --

b100_Q13:
        .word   7699, -15398, 7699
a100_Q13:
        .word   8192, 15836, -7667

;-- pre filter coefficients (fc = 140 Hz, coeff. b[] is divided by 2) in Q12 --

b140_Q12:
        .word   1899, -3798, 1899
a140_Q12:
        .word   4096, 7807, -3733
b140_Q13:
        .word   3798, -7596, 3798
a140_Q13:
        .word   8192, 15613, -7466

;-----------------------------------------------------
; Tables for routine bits().
;-----------------------------------------------------

;-- Word16 bitsno[PRM_SIZE] --
BitsNo:
        .word   1+NC0_B           ; MA + 1st stage
        .word   NC1_B*2           ; 2nd stage
        .word   8,1,  13,4, 7     ; first subframe
        .word   5,    13,4, 7     ; second subframe

;-----------------------------------------------------
; Table for routine Pow2().
;-----------------------------------------------------

;-- Word16 tabpow[33] ---
Pow2Table:
        .word   16384, 16743, 17109, 17484, 17867, 18258, 18658, 19066
        .word   19484, 19911, 20347, 20792, 21247, 21713, 22188, 22674
        .word   23170, 23678, 24196, 24726, 25268, 25821, 26386, 26964
        .word   27554, 28158, 28774, 29405, 30048, 30706, 31379, 32066, 32767

;-----------------------------------------------------
; Table for routine Log2().
;
; Word16 tablog[33]
;-----------------------------------------------------


Log2Table:
        .word       0,  1455,  2866,  4236,  5568,  6863,  8124,  9352
        .word   10549, 11716, 12855, 13967, 15054, 16117, 17156, 18172
        .word   19167, 20142, 21097, 22033, 22951, 23852, 24735, 25603
        .word   26455, 27291, 28113, 28922, 29716, 30497, 31266, 32023, 32767

;-----------------------------------------------------
; Table for routine Inv_sqrt().
;
; Word16 tabsqr[49]
;-----------------------------------------------------

InvSqrtTable:
        .word   32767, 31790, 30894, 30070, 29309, 28602, 27945
        .word   27330, 26755, 26214, 25705, 25225, 24770, 24339
        .word   23930, 23541, 23170, 22817, 22479, 22155, 21845
        .word   21548, 21263, 20988, 20724, 20470, 20225, 19988
        .word   19760, 19539, 19326, 19119, 18919, 18725, 18536
        .word   18354, 18176, 18004, 17837, 17674, 17515, 17361
        .word   17211, 17064, 16921, 16782, 16646, 16514, 16384

;-----------------------------------------------------
; Table for taming procedure test_err.
;
; Word16 tab_zone[PIT_MAX+L_INTERPOL-1]
;-----------------------------------------------------

tab_zone:
        .word   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
        .word   0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1
        .word   1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
        .word   1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2
        .word   2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2
        .word   2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
        .word   3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3

CorrLoop1:
        .word   237, 236, 235, 234, 233, 232, 231, 230, 229, 228

;  PI*(float)(j+1)/(float)(M+1)
PrevLspVectQ13:
        .word  2339, 4679, 7018, 9358, 11698, 14037, 16377, 18717, 21056, 23396

Random_seed:
        .word  21845

        .def    HamWindow
        .def    LagWin
        .def    LagWin_h
        .def    LagWin_l
        .def    CosTable
        .def    CosTable
        .def    SlopeACosQ12
        .def    SlopeACosQ12
        .def    SlopeCosQ19
        .def    LspCb1Q13
        .def    LspCb2Q13
        .def    fg
        .def    fg_sum
        .def    fg_sum_inv_Q12
        .def    Grid
        .def    Intpl_3
        .def    Intpl_3l
        .def    PredCoefQ13
        .def    gbk1Q13Q14
        .def    gbk2Q14Q13
        .def    map1
        .def    map2
        .def    coef
        .def    L_coef
        .def    Thr1Q14
        .def    Thr2
        .def    imap1
        .def    imap2
        .def    tab_hup_s
        .def    tab_hup_l
        .def    b100_Q13
        .def    a100_Q13
        .def    b140_Q12
        .def    a140_Q12
        .def    b140_Q13
        .def    a140_Q13
        .def    BitsNo
        .def    Pow2Table
        .def    Log2Table
        .def    InvSqrtTable
        .def    tab_zone
        .def    CorrLoop1
        .def    PrevLspVectQ13
        .def    Random_seed

⌨️ 快捷键说明

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