FreeCalypso > hg > gsm-codec-lib
annotate libtwamr/dec_lag3.c @ 441:ebe499058c63
libtwamr: implement API functions for RFC 4867 I/O
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 09 May 2024 07:06:31 +0000 |
parents | fb001496ca8c |
children |
rev | line source |
---|---|
357
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 ******************************************************************************** |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 * |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 * GSM AMR-NB speech codec R98 Version 7.6.0 December 12, 2001 |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 * R99 Version 3.3.0 |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 * REL-4 Version 4.1.0 |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 * |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 ******************************************************************************** |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 * |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 * File : dec_lag3.c |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 * Purpose : Decoding of fractional pitch lag with 1/3 resolution. |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 * Extract the integer and fraction parts of the pitch lag from |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 * the received adaptive codebook index. |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 * |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 ******************************************************************************** |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 */ |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 /* |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 ******************************************************************************** |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 * MODULE INCLUDE FILE AND VERSION ID |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 ******************************************************************************** |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 */ |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 #include "namespace.h" |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 #include "dec_lag3.h" |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 /* |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 ******************************************************************************** |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 * INCLUDE FILES |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 ******************************************************************************** |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 */ |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 #include "typedef.h" |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 #include "basic_op.h" |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 #include "no_count.h" |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 /* |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 ******************************************************************************** |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 * LOCAL VARIABLES AND TABLES |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 ******************************************************************************** |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 */ |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 /* |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 ******************************************************************************** |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 * PUBLIC PROGRAM CODE |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 ******************************************************************************** |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 */ |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 /************************************************************************* |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 * FUNCTION: Dec_lag3 |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 * |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 * PURPOSE: Decoding of fractional pitch lag with 1/3 resolution. |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 * Extract the integer and fraction parts of the pitch lag from |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 * the received adaptive codebook index. |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 * |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 * See "Enc_lag3.c" for more details about the encoding procedure. |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 * |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 * The fractional lag in 1st and 3rd subframes is encoded with 8 bits |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 * while that in 2nd and 4th subframes is relatively encoded with 4, 5 |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 * and 6 bits depending on the mode. |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 * |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 *************************************************************************/ |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 void Dec_lag3(Word16 index, /* i : received pitch index */ |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 Word16 t0_min, /* i : minimum of search range */ |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 Word16 t0_max, /* i : maximum of search range */ |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 Word16 i_subfr, /* i : subframe flag */ |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 Word16 T0_prev, /* i : integer pitch delay of last subframe |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 used in 2nd and 4th subframes */ |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 Word16 * T0, /* o : integer part of pitch lag */ |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 Word16 * T0_frac, /* o : fractional part of pitch lag */ |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 Word16 flag4 /* i : flag for encoding with 4 bits */ |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 ) |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 { |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 Word16 i; |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 Word16 tmp_lag; |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 test (); |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 if (i_subfr == 0) { /* if 1st or 3rd subframe */ |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 test (); |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 if (sub(index, 197) < 0) { |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 *T0 = add(mult(add(index, 2), 10923), 19); |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 i = add(add(*T0, *T0), *T0); |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 *T0_frac = add(sub(index, i), 58); |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 } else { |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 *T0 = sub(index, 112); |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 *T0_frac = 0; move16 (); |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 } |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 } else { /* 2nd or 4th subframe */ |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 test (); |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 if (flag4 == 0) { |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 /* 'normal' decoding: either with 5 or 6 bit resolution */ |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 i = sub(mult(add(index, 2), 10923), 1); |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 *T0 = add(i, t0_min); |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 i = add(add(i, i), i); |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 *T0_frac = sub(sub(index, 2), i); |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 } |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 else { |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 /* decoding with 4 bit resolution */ |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 tmp_lag = T0_prev; move16 (); |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 test (); |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 if ( sub( sub(tmp_lag, t0_min), 5) > 0) |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 tmp_lag = add (t0_min, 5); |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 test (); |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 if ( sub( sub(t0_max, tmp_lag), 4) > 0) |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 tmp_lag = sub (t0_max, 4); |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 test (); |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 if (sub(index, 4) < 0) |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 { |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 i = sub(tmp_lag, 5); |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 *T0 = add(i, index); |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 *T0_frac = 0; move16 (); |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 } |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 else |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 { |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 test (); |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 if (sub(index, 12) < 0) |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 { |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126 i = sub(mult(sub(index, 5), 10923), 1); |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 *T0 = add(i, tmp_lag); |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 i = add(add(i, i), i); |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 *T0_frac = sub(sub(index, 9), i); |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 } |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 else |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 { |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 i = add( sub (index, 12), tmp_lag); |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135 *T0 = add (i, 1); |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 *T0_frac = 0; move16 (); |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 } |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 } |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 } /* end if (decoding with 4 bit resolution) */ |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141 } |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142 |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143 return; |
fb001496ca8c
libtwamr: integrate dec_lag3.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
144 } |