FreeCalypso > hg > gsm-codec-lib
annotate libtwamr/c1035pf.c @ 585:3c6bf0d26ee7 default tip
TW-TS-005 reader: fix maximum line length bug
TW-TS-005 section 4.1 states:
The maximum allowed length of each line is 80 characters, not
including the OS-specific newline encoding.
The implementation of this line length limit in the TW-TS-005 hex file
reader function in the present suite was wrong, such that lines of
the full maximum length could not be read. Fix it.
Note that this bug affects comment lines too, not just actual RTP
payloads. Neither Annex A nor Annex B features an RTP payload format
that goes to the maximum of 40 bytes, but if a comment line goes to
the maximum allowed length of 80 characters not including the
terminating newline, the bug will be triggered, necessitating
the present fix.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Tue, 25 Feb 2025 07:49:28 +0000 |
parents | 6fd6c5fc1aa4 |
children |
rev | line source |
---|---|
318
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /* |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 ******************************************************************************** |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 * |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 * GSM AMR-NB speech codec R98 Version 7.6.0 December 12, 2001 |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 * R99 Version 3.3.0 |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 * REL-4 Version 4.1.0 |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 * |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 ******************************************************************************** |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 * |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 * File : c1035pf.c |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 * Purpose : Searches a 35 bit algebraic codebook containing |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 * : 10 pulses in a frame of 40 samples. |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 * |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 ******************************************************************************** |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 */ |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 /* |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 ******************************************************************************** |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 * MODULE INCLUDE FILE AND VERSION ID |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 ******************************************************************************** |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 */ |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 #include "namespace.h" |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 #include "c1035pf.h" |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 /* |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 ******************************************************************************** |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 * INCLUDE FILES |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 ******************************************************************************** |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 */ |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 #include "typedef.h" |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 #include "basic_op.h" |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 #include "no_count.h" |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 #include "cnst.h" |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 #include "inv_sqrt.h" |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 #include "set_sign.h" |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 #include "cor_h.h" |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 #include "s10_8pf.h" |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 #include "graytab.h" |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 /* |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 ******************************************************************************** |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 * LOCAL VARIABLES AND TABLES |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 ******************************************************************************** |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 */ |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 #define NB_PULSE 10 |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 /* |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 ******************************************************************************** |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 * LOCAL PROGRAM CODE |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 ******************************************************************************** |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 */ |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 static void q_p ( |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 Word16 *ind, /* Pulse position */ |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 Word16 n /* Pulse number */ |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 ) |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 { |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 Word16 tmp; |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 tmp = *ind; move16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 test (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 if (sub (n, 5) < 0) |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 { |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 *ind = (tmp & 0x8) | gray[tmp & 0x7]; logic16 (); logic16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 logic16 (); move16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 } |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 else |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 { |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 *ind = gray[tmp & 0x7]; logic16 (); move16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 } |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 } |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 /************************************************************************* |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 * |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 * FUNCTION: build_code() |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 * |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 * PURPOSE: Builds the codeword, the filtered codeword and index of the |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 * codevector, based on the signs and positions of 10 pulses. |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 * |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 *************************************************************************/ |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 static void build_code ( |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 Word16 codvec[], /* (i) : position of pulses */ |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 Word16 sign[], /* (i) : sign of d[n] */ |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 Word16 cod[], /* (o) : innovative code vector */ |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 Word16 h[], /* (i) : impulse response of weighted synthesis filter*/ |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 Word16 y[], /* (o) : filtered innovative code */ |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 Word16 indx[] /* (o) : index of 10 pulses (sign+position) */ |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 ) |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 { |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 Word16 i, j, k, track, index, _sign[NB_PULSE]; |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 Word16 *p0, *p1, *p2, *p3, *p4, *p5, *p6, *p7, *p8, *p9; |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 Word32 s; |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 for (i = 0; i < L_CODE; i++) |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 { |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 cod[i] = 0; move16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 } |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 for (i = 0; i < NB_TRACK; i++) |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 { |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 indx[i] = -1; move16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 } |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 for (k = 0; k < NB_PULSE; k++) |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 { |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 /* read pulse position */ |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 i = codvec[k]; move16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 /* read sign */ |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 j = sign[i]; move16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 index = mult (i, 6554); /* index = pos/5 */ |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 /* track = pos%5 */ |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 track = sub (i, extract_l (L_shr (L_mult (index, 5), 1))); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 test (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 if (j > 0) |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 { |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 cod[i] = add (cod[i], 4096); move16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 _sign[k] = 8192; move16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 } |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 else |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 { |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 cod[i] = sub (cod[i], 4096); move16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 _sign[k] = -8192; move16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 index = add (index, 8); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 } |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126 |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 test (); move16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 if (indx[track] < 0) |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 { |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 indx[track] = index; move16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 } |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 else |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 { |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 test (); logic16 (); logic16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135 if (((index ^ indx[track]) & 8) == 0) |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 { |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 /* sign of 1st pulse == sign of 2nd pulse */ |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 test (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 if (sub (indx[track], index) <= 0) |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141 { |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142 indx[track + 5] = index; move16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143 } |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
144 else |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
145 { |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
146 indx[track + 5] = indx[track]; |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
147 move16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
148 indx[track] = index; move16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
149 } |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
150 } |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
151 else |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
152 { |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
153 /* sign of 1st pulse != sign of 2nd pulse */ |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
154 |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
155 test (); logic16 (); logic16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
156 if (sub ((indx[track] & 7), (index & 7)) <= 0) |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
157 { |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
158 indx[track + 5] = indx[track]; |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
159 move16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
160 indx[track] = index; move16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
161 } |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
162 else |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
163 { |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
164 indx[track + 5] = index; move16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
165 } |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
166 } |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
167 } |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
168 } |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
169 |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
170 p0 = h - codvec[0]; move16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
171 p1 = h - codvec[1]; move16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
172 p2 = h - codvec[2]; move16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
173 p3 = h - codvec[3]; move16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
174 p4 = h - codvec[4]; move16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
175 p5 = h - codvec[5]; move16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
176 p6 = h - codvec[6]; move16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
177 p7 = h - codvec[7]; move16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
178 p8 = h - codvec[8]; move16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
179 p9 = h - codvec[9]; move16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
180 |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
181 for (i = 0; i < L_CODE; i++) |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
182 { |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
183 s = 0; move32 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
184 s = L_mac (s, *p0++, _sign[0]); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
185 s = L_mac (s, *p1++, _sign[1]); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
186 s = L_mac (s, *p2++, _sign[2]); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
187 s = L_mac (s, *p3++, _sign[3]); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
188 s = L_mac (s, *p4++, _sign[4]); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
189 s = L_mac (s, *p5++, _sign[5]); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
190 s = L_mac (s, *p6++, _sign[6]); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
191 s = L_mac (s, *p7++, _sign[7]); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
192 s = L_mac (s, *p8++, _sign[8]); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
193 s = L_mac (s, *p9++, _sign[9]); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
194 y[i] = round (s); move16 (); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
195 } |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
196 } |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
197 |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
198 /* |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
199 ******************************************************************************** |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
200 * PUBLIC PROGRAM CODE |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
201 ******************************************************************************** |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
202 */ |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
203 /************************************************************************* |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
204 * |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
205 * FUNCTION: code_10i40_35bits() |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
206 * |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
207 * PURPOSE: Searches a 35 bit algebraic codebook containing 10 pulses |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
208 * in a frame of 40 samples. |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
209 * |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
210 * DESCRIPTION: |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
211 * The code contains 10 nonzero pulses: i0...i9. |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
212 * All pulses can have two possible amplitudes: +1 or -1. |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
213 * The 40 positions in a subframe are divided into 5 tracks of |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
214 * interleaved positions. Each track contains two pulses. |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
215 * The pulses can have the following possible positions: |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
216 * |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
217 * i0, i5 : 0, 5, 10, 15, 20, 25, 30, 35. |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
218 * i1, i6 : 1, 6, 11, 16, 21, 26, 31, 36. |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
219 * i2, i7 : 2, 7, 12, 17, 22, 27, 32, 37. |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
220 * i3, i8 : 3, 8, 13, 18, 23, 28, 33, 38. |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
221 * i4, i9 : 4, 9, 14, 19, 24, 29, 34, 39. |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
222 * |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
223 * Each pair of pulses require 1 bit for their signs and 6 bits for their |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
224 * positions (3 bits + 3 bits). This results in a 35 bit codebook. |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
225 * The function determines the optimal pulse signs and positions, builds |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
226 * the codevector, and computes the filtered codevector. |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
227 * |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
228 *************************************************************************/ |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
229 |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
230 void code_10i40_35bits ( |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
231 Word16 x[], /* (i) : target vector */ |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
232 Word16 cn[], /* (i) : residual after long term prediction */ |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
233 Word16 h[], /* (i) : impulse response of weighted synthesis filter |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
234 h[-L_subfr..-1] must be set to zero */ |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
235 Word16 cod[], /* (o) : algebraic (fixed) codebook excitation */ |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
236 Word16 y[], /* (o) : filtered fixed codebook excitation */ |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
237 Word16 indx[] /* (o) : index of 10 pulses (sign + position) */ |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
238 ) |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
239 { |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
240 Word16 ipos[NB_PULSE], pos_max[NB_TRACK], codvec[NB_PULSE]; |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
241 Word16 dn[L_CODE], sign[L_CODE]; |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
242 Word16 rr[L_CODE][L_CODE], i; |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
243 |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
244 cor_h_x (h, x, dn, 2); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
245 set_sign12k2 (dn, cn, sign, pos_max, NB_TRACK, ipos, STEP); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
246 cor_h (h, sign, rr); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
247 |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
248 search_10and8i40 (NB_PULSE, STEP, NB_TRACK, |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
249 dn, rr, ipos, pos_max, codvec); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
250 |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
251 build_code (codvec, sign, cod, h, y, indx); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
252 for (i = 0; i < 10; i++) |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
253 { |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
254 q_p (&indx[i], i); |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
255 } |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
256 return; |
6fd6c5fc1aa4
libtwamr: integrate c1035pf.c
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
257 } |