annotate src/post_pro.c @ 6:6119d2c1e7d9

EFR2 encoder: mimic 5 ms delay of AMR
author Mychaela Falconia <falcon@freecalypso.org>
date Wed, 03 Apr 2024 07:14:01 +0000
parents 799b56cbccb6
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 ********************************************************************************
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 *
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 * GSM AMR-NB speech codec R98 Version 7.6.0 December 12, 2001
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 * R99 Version 3.3.0
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 * REL-4 Version 4.1.0
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 *
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 ********************************************************************************
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 *
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 * File : post_pro.c
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 * Purpose : Postprocessing of output speech.
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 *
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 * - 2nd order high pass filtering with cut
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 * off frequency at 60 Hz.
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 * - Multiplication of output by two.
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 *
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 ********************************************************************************
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 */
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 /*
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 ********************************************************************************
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
23 * MODULE INCLUDE FILE AND VERSION ID
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
24 ********************************************************************************
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
25 */
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
26 #if 0
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
27 #include "post_pro.h"
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
28 const char post_pro_id[] = "@(#)$Id $" post_pro_h;
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
29 #endif
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
30
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
31 /*
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
32 ********************************************************************************
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
33 * INCLUDE FILES
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
34 ********************************************************************************
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
35 */
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
36 #include <stdlib.h>
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
37 #include <stdio.h>
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
38 #include "typedef.h"
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
39 #include "basic_op.h"
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 #include "oper_32b.h"
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
41 #include "count.h"
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
42 #include "post_pro.h"
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
43
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
44 /*
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
45 ********************************************************************************
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
46 * LOCAL VARIABLES AND TABLES
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
47 ********************************************************************************
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
48 */
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
49 /* filter coefficients (fc = 60 Hz) */
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
50 static const Word16 b[3] = {7699, -15398, 7699};
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
51 static const Word16 a[3] = {8192, 15836, -7667};
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
52
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
53 typedef struct {
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
54 Word16 y2_hi;
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
55 Word16 y2_lo;
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
56 Word16 y1_hi;
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
57 Word16 y1_lo;
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
58 Word16 x0;
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
59 Word16 x1;
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
60 } Post_ProcessState;
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
61
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
62 static Post_ProcessState ppstate;
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
63
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
64 /*
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
65 ********************************************************************************
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
66 * PUBLIC PROGRAM CODE
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
67 ********************************************************************************
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
68 */
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
69
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
70 /*************************************************************************
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
71 *
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
72 * Function: Post_Process_reset
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
73 * Purpose: Initializes state memory to zero
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
74 *
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
75 **************************************************************************
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
76 */
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
77 void AMR_postproc_reset (void)
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
78 {
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
79 Post_ProcessState *state = &ppstate;
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
80
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
81 state->y2_hi = 0;
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
82 state->y2_lo = 0;
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
83 state->y1_hi = 0;
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
84 state->y1_lo = 0;
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
85 state->x0 = 0;
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
86 state->x1 = 0;
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
87 }
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
88
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
89 /*************************************************************************
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
90 *
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
91 * FUNCTION: Post_Process()
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
92 *
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
93 * PURPOSE: Postprocessing of input speech.
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
94 *
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
95 * DESCRIPTION:
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
96 * - 2nd order high pass filtering with cut off frequency at 60 Hz.
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
97 * - Multiplication of output by two.
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
98 *
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
99 * Algorithm:
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
100 *
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
101 * y[i] = b[0]*x[i]*2 + b[1]*x[i-1]*2 + b[2]*x[i-2]*2
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
102 * + a[1]*y[i-1] + a[2]*y[i-2];
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
103 *
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
104 *
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
105 *************************************************************************/
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
106 void Post_Process (
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
107 Word16 signal[], /* i/o : signal */
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
108 Word16 lg /* i : length of signal */
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
109 )
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
110 {
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
111 Post_ProcessState *st = &ppstate;
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
112 Word16 i, x2;
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
113 Word32 L_tmp;
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
114
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
115 test (); test ();
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
116 for (i = 0; i < lg; i++)
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
117 {
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
118 x2 = st->x1; move16 ();
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
119 st->x1 = st->x0; move16 ();
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
120 st->x0 = signal[i]; move16 ();
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
121
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
122 /* y[i] = b[0]*x[i]*2 + b[1]*x[i-1]*2 + b140[2]*x[i-2]/2 */
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
123 /* + a[1]*y[i-1] + a[2] * y[i-2]; */
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
124
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
125 L_tmp = Mpy_32_16 (st->y1_hi, st->y1_lo, a[1]);
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
126 L_tmp = L_add (L_tmp, Mpy_32_16 (st->y2_hi, st->y2_lo, a[2]));
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
127 L_tmp = L_mac (L_tmp, st->x0, b[0]);
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
128 L_tmp = L_mac (L_tmp, st->x1, b[1]);
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
129 L_tmp = L_mac (L_tmp, x2, b[2]);
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
130 L_tmp = L_shl (L_tmp, 2);
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
131
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
132 /* Multiplication by two of output speech with saturation. */
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
133 signal[i] = round(L_shl(L_tmp, 1)); move16 ();
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
134
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
135 st->y2_hi = st->y1_hi; move16 ();
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
136 st->y2_lo = st->y1_lo; move16 ();
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
137 L_Extract (L_tmp, &st->y1_hi, &st->y1_lo);
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
138 }
799b56cbccb6 EFR2 decoder: add post-processing step from AMR
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
139 }