FreeCalypso > hg > gsm-codec-lib
annotate libtwamr/dec_lag3.c @ 466:0c4e1bc06740
amrefr-encode-r: use the new DHF xform that matches T-Mobile
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Sun, 12 May 2024 21:44:59 +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 } | 
