comparison L1/audio_include/l1audio_msgty.h @ 0:75a11d740a02

initial import of gsm-fw from freecalypso-sw rev 1033:5ab737ac3ad7
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 09 Jun 2016 00:02:41 +0000
parents
children 420ac6391166
comparison
equal deleted inserted replaced
-1:000000000000 0:75a11d740a02
1 /************* Revision Controle System Header *************
2 * GSM Layer 1 software
3 * L1AUDIO_MSGTY.H
4 *
5 * Filename l1audio_msgty.h
6 * Copyright 2003 (C) Texas Instruments
7 *
8 ************* Revision Controle System Header *************/
9 #ifndef _L1AUDIO_MSGTY_H
10 #define _L1AUDIO_MSGTY_H
11
12 #include "../../include/config.h"
13 #include "../include/l1_confg.h"
14
15 #if (AUDIO_TASK == 1)
16
17 #if (OP_RIV_AUDIO == 1)
18 #include "rv_general.h"
19 #endif
20
21 #if (KEYBEEP)
22 typedef struct
23 {
24 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
25 T_RV_HDR header;
26 #endif
27 UWORD16 d_k_x1_kt0;
28 UWORD16 d_k_x1_kt1;
29 UWORD16 d_dur_kb;
30 }
31 T_MMI_KEYBEEP_REQ;
32 #endif
33
34 #if (TONE)
35 typedef struct
36 {
37 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
38 T_RV_HDR header;
39 #endif
40 UWORD16 d_k_x1_t0;
41 UWORD16 d_k_x1_t1;
42 UWORD16 d_k_x1_t2;
43 UWORD16 d_pe_rep;
44 UWORD16 d_pe_off;
45 UWORD16 d_se_off;
46 UWORD16 d_bu_off;
47 UWORD16 d_t0_on;
48 UWORD16 d_t0_off;
49 UWORD16 d_t1_on;
50 UWORD16 d_t1_off;
51 UWORD16 d_t2_on;
52 UWORD16 d_t2_off;
53 }
54 T_MMI_TONE_REQ;
55 #endif
56
57 #if (MELODY_E1)
58 typedef struct
59 {
60 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
61 T_RV_HDR header;
62 #endif
63 UWORD8 session_id;
64 BOOL loopback;
65 UWORD16 oscillator_used_bitmap;
66 }
67 T_MMI_MELODY_REQ;
68 #endif
69 #if (VOICE_MEMO)
70 typedef struct
71 {
72 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
73 T_RV_HDR header;
74 #endif
75 UWORD8 session_id;
76 }
77 T_MMI_VM_PLAY_REQ;
78
79 typedef struct
80 {
81 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
82 T_RV_HDR header;
83 #endif
84 UWORD8 session_id;
85 UWORD32 maximum_size;
86 BOOL dtx_used;
87 UWORD16 record_coeff_dl;
88 UWORD16 record_coeff_ul;
89 UWORD16 d_k_x1_t0;
90 UWORD16 d_k_x1_t1;
91 UWORD16 d_k_x1_t2;
92 UWORD16 d_pe_rep;
93 UWORD16 d_pe_off;
94 UWORD16 d_se_off;
95 UWORD16 d_bu_off;
96 UWORD16 d_t0_on;
97 UWORD16 d_t0_off;
98 UWORD16 d_t1_on;
99 UWORD16 d_t1_off;
100 UWORD16 d_t2_on;
101 UWORD16 d_t2_off;
102 }
103 T_MMI_VM_RECORD_REQ;
104
105 typedef struct
106 {
107 UWORD32 recorded_size;
108 }
109 T_L1_VM_RECORD_CON;
110
111 #if (OP_RIV_AUDIO == 1)
112 typedef struct
113 {
114 T_RV_HDR header;
115 UWORD32 recorded_size;
116 }
117 T_MMI_VM_RECORD_CON;
118 #else
119 typedef T_L1_VM_RECORD_CON T_MMI_VM_RECORD_CON;
120 #endif
121 #endif
122
123 #if (L1_VOICE_MEMO_AMR)
124 typedef struct
125 {
126 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
127 T_RV_HDR header;
128 #endif
129 UWORD8 session_id;
130 }
131 T_MMI_VM_AMR_PLAY_REQ;
132
133 typedef struct
134 {
135 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
136 T_RV_HDR header;
137 #endif
138 UWORD8 session_id;
139 UWORD32 maximum_size;
140 BOOL dtx_used;
141 UWORD16 record_coeff_ul;
142 UWORD8 amr_vocoder;
143 }
144 T_MMI_VM_AMR_RECORD_REQ;
145
146 typedef struct
147 {
148 UWORD32 recorded_size;
149 }
150 T_L1_VM_AMR_RECORD_CON;
151
152 #if (OP_RIV_AUDIO == 1)
153 typedef struct
154 {
155 T_RV_HDR header;
156 UWORD32 recorded_size;
157 }
158 T_MMI_VM_AMR_RECORD_CON;
159 #else
160 typedef T_L1_VM_AMR_RECORD_CON T_MMI_VM_AMR_RECORD_CON;
161 #endif
162 #endif
163
164 #if (OP_RIV_AUDIO == 1)
165 #if (L1_AUDIO_DRIVER == 1)
166 typedef struct
167 {
168 UWORD8 channel_id;
169 UWORD16 *p_buffer;
170 }
171 T_L1_AUDIO_DRIVER_IND;
172 #endif
173 #endif
174
175 #if (SPEECH_RECO)
176 typedef struct
177 {
178 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
179 T_RV_HDR header;
180 #endif
181 UWORD8 database_id;
182 UWORD8 word_index;
183 BOOL speech;
184 UWORD16 *speech_address;
185 }
186 T_MMI_SR_ENROLL_REQ;
187
188 typedef struct
189 {
190 #if (OP_RIV_AUDIO == 1)
191 T_RV_HDR header;
192 #endif
193 UWORD8 error_id;
194 }
195 T_MMI_SR_ENROLL_STOP_CON;
196
197 #if (OP_RIV_AUDIO == 1)
198 typedef struct
199 {
200 UWORD8 error_id;
201 }
202 T_L1_SR_ENROLL_STOP_CON;
203 #else
204 typedef T_MMI_SR_ENROLL_STOP_CON T_L1_SR_ENROLL_STOP_CON;
205 #endif
206
207 typedef struct
208 {
209 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
210 T_RV_HDR header;
211 #endif
212 UWORD8 database_id;
213 UWORD8 word_index;
214 BOOL speech;
215 UWORD16 *speech_address;
216 }
217 T_MMI_SR_UPDATE_REQ;
218
219 typedef struct
220 {
221 #if (OP_RIV_AUDIO == 1)
222 T_RV_HDR header;
223 #endif
224 UWORD8 error_id;
225 }
226 T_MMI_SR_UPDATE_STOP_CON;
227
228 #if (OP_RIV_AUDIO == 1)
229 typedef struct
230 {
231 UWORD8 error_id;
232 }
233 T_L1_SR_UPDATE_STOP_CON;
234 #else
235 typedef T_MMI_SR_UPDATE_STOP_CON T_L1_SR_UPDATE_STOP_CON;
236 #endif
237
238 typedef struct
239 {
240 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
241 T_RV_HDR header;
242 #endif
243 UWORD8 database_id;
244 UWORD8 vocabulary_size;
245 }
246 T_MMI_SR_RECO_REQ;
247
248 typedef struct
249 {
250 #if (OP_RIV_AUDIO == 1)
251 T_RV_HDR header;
252 #endif
253 UWORD8 error_id;
254 UWORD16 best_word_index;
255 UWORD32 best_word_score;
256 UWORD16 second_best_word_index;
257 UWORD32 second_best_word_score;
258 UWORD16 third_best_word_index;
259 UWORD32 third_best_word_score;
260 UWORD16 fourth_best_word_index;
261 UWORD32 fourth_best_word_score;
262 UWORD16 d_sr_db_level;
263 UWORD16 d_sr_db_noise;
264 UWORD16 d_sr_model_size;
265 }
266 T_MMI_SR_RECO_STOP_CON;
267
268 typedef struct
269 {
270 UWORD8 error_id;
271 }
272 T_L1_SR_RECO_STOP_CON;
273
274 #if (OP_RIV_AUDIO == 1)
275 typedef struct
276 {
277 UWORD8 error_id;
278 UWORD16 best_word_index;
279 UWORD32 best_word_score;
280 UWORD16 second_best_word_index;
281 UWORD32 second_best_word_score;
282 UWORD16 third_best_word_index;
283 UWORD32 third_best_word_score;
284 UWORD16 fourth_best_word_index;
285 UWORD32 fourth_best_word_score;
286 UWORD16 d_sr_db_level;
287 UWORD16 d_sr_db_noise;
288 UWORD16 d_sr_model_size;
289 }
290 T_L1_SR_RECO_STOP_IND;
291 #else
292 typedef T_MMI_SR_RECO_STOP_CON T_L1_SR_RECO_STOP_IND;
293 #endif
294
295 typedef T_L1_SR_RECO_STOP_CON T_L1_SR_PROCESSING_STOP_CON;
296
297 typedef struct
298 {
299 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
300 T_RV_HDR header;
301 #endif
302 UWORD8 database_id;
303 UWORD8 word_index;
304 UWORD16 *model_address;
305 BOOL speech;
306 UWORD16 *speech_address;
307 UWORD8 vocabulary_size;
308 }
309 T_MMI_SR_UPDATE_CHECK_REQ;
310
311 typedef T_MMI_SR_RECO_STOP_CON T_MMI_SR_UPDATE_CHECK_STOP_CON;
312
313 // Background message type
314 typedef struct
315 {
316 #if (OP_RIV_AUDIO == 1)
317 T_RV_HDR header;
318 #endif
319 UWORD8 database_id;
320 UWORD8 model_index;
321 API *model_RAM_address;
322 BOOL speech;
323 UWORD16 *start_buffer;
324 UWORD16 *stop_buffer;
325 UWORD16 *start_address;
326 UWORD16 *stop_address;
327 }
328 T_L1_SRBACK_SAVE_DATA_REQ;
329
330 typedef struct
331 {
332 #if (OP_RIV_AUDIO == 1)
333 T_RV_HDR header;
334 #endif
335 UWORD8 database_id;
336 UWORD8 model_index;
337 API *model_RAM_address;
338 BOOL CTO_enable;
339 }
340 T_L1_SRBACK_LOAD_MODEL_REQ;
341
342 typedef struct
343 {
344 #if (OP_RIV_AUDIO == 1)
345 T_RV_HDR header;
346 #endif
347 API *model_RAM_address_input;
348 UWORD16 *model_RAM_address_output;
349 }
350 T_L1_SRBACK_TEMP_SAVE_DATA_REQ;
351 #endif
352
353 #if (L1_AEC == 1)
354 typedef struct
355 {
356 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
357 T_RV_HDR header;
358 #endif
359 UWORD16 aec_control;
360 #if (L1_NEW_AEC)
361 UWORD16 cont_filter;
362 UWORD16 granularity_att;
363 UWORD16 coef_smooth;
364 UWORD16 es_level_max;
365 UWORD16 fact_vad;
366 UWORD16 thrs_abs;
367 UWORD16 fact_asd_fil;
368 UWORD16 fact_asd_mut;
369 #endif
370 }
371 T_MMI_AEC_REQ;
372
373 #if (L1_NEW_AEC)
374 typedef struct
375 {
376 UWORD16 es_level;
377 UWORD32 far_end_pow;
378 UWORD32 far_end_noise;
379 }
380 T_L1_AEC_IND;
381 #endif
382 #endif
383
384 #if (L1_AEC == 2)
385
386 typedef enum
387 {
388 L1_AQI_AEC_STOP = 0,
389 L1_AQI_AEC_START = 1,
390 L1_AQI_AEC_UPDATE = 2
391 }
392 T_AEC_CONTROL;
393
394
395 typedef struct
396 {
397 WORD16 aec_mode;
398 WORD16 mu;
399 UWORD16 cont_filter;
400 WORD16 scale_input_ul;
401 WORD16 scale_input_dl;
402 WORD16 div_dmax;
403 UWORD16 div_swap_good;
404 UWORD16 div_swap_bad;
405 WORD16 block_init;
406 UWORD16 fact_vad;
407 UWORD16 fact_asd_fil;
408 UWORD16 fact_asd_mut;
409 UWORD16 thrs_abs;
410 UWORD16 es_level_max;
411 UWORD16 granularity_att;
412 UWORD16 coef_smooth;
413 // UWORD16 block_size;
414 }
415 T_MMI_AQI_AEC_PARAMS;
416
417
418
419 typedef struct
420 {
421 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
422 T_RV_HDR header;
423 #endif
424 T_AEC_CONTROL aec_control;
425 T_MMI_AQI_AEC_PARAMS aec_parameters;
426 }
427 T_MMI_AQI_AEC_REQ;
428
429
430 typedef enum
431 {
432 L1_AQI_AEC_NO_ACTION = -1,
433 L1_AQI_AEC_STOPPED = 0,
434 L1_AQI_AEC_STARTED = 1,
435 L1_AQI_AEC_UPDATED = 2
436 }
437 T_AEC_ACTION;
438
439 typedef struct
440 {
441 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
442 T_RV_HDR header;
443 #endif
444
445 T_AEC_ACTION aec_action;
446 }
447 T_MMI_AQI_AEC_CON;
448
449 typedef struct
450 {
451 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
452 T_RV_HDR header;
453 #endif
454
455 T_AEC_ACTION aec_action;
456 }
457 T_L1_AQI_AEC_CON;
458
459 #endif// L1_AEC ==2
460
461
462 #if (FIR)
463 typedef struct
464 {
465 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
466 T_RV_HDR header;
467 #endif
468 BOOL fir_loop;
469 UWORD8 update_fir;
470 UWORD16 *fir_ul_coefficient;
471 UWORD16 *fir_dl_coefficient;
472 }
473 T_MMI_AUDIO_FIR_REQ;
474 #endif
475 #if (AUDIO_MODE)
476 typedef struct
477 {
478 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
479 T_RV_HDR header;
480 #endif
481 #if (OP_RIV_AUDIO == 1)
482 UWORD8 audio_mode;
483 #else
484 UWORD16 audio_mode;
485 #endif
486 }
487 T_MMI_AUDIO_MODE;
488 #endif
489 #if (MELODY_E2)
490 typedef struct
491 {
492 #if (OP_RIV_AUDIO == 1)
493 T_RV_HDR header;
494 #endif
495 UWORD8 melody_id;
496 UWORD8 number_of_instrument;
497 UWORD8 waves_table_id[SC_AUDIO_MELODY_E2_MAX_NUMBER_OF_INSTRUMENT];
498 }
499 T_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_REQ;
500
501 typedef struct
502 {
503 #if (OP_RIV_AUDIO == 1)
504 T_RV_HDR header;
505 #endif
506 UWORD8 melody_id;
507 }
508 T_L1_BACK_MELODY_E2_LOAD_INSTRUMENT_CON;
509
510 typedef struct
511 {
512 #if (OP_RIV_AUDIO == 1)
513 T_RV_HDR header;
514 #endif
515 UWORD8 melody_id;
516 UWORD8 number_of_instrument;
517 }
518 T_L1_BACK_MELODY_E2_UNLOAD_INSTRUMENT_REQ;
519
520 typedef struct
521 {
522 #if (OP_RIV_AUDIO == 1)
523 T_RV_HDR header;
524 #endif
525 UWORD8 melody_id;
526 }
527 T_L1_BACK_MELODY_E2_UNLOAD_INSTRUMENT_CON;
528
529 typedef struct
530 {
531 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
532 T_RV_HDR header;
533 #endif
534 UWORD8 session_id;
535 BOOL loopback;
536 }
537 T_MMI_MELODY_E2_REQ;
538 #endif
539
540 #if (L1_CPORT == 1)
541 typedef struct
542 {
543 UWORD16 configuration;
544 UWORD16 ctrl;
545 UWORD8 cpcfr1;
546 UWORD8 cpcfr2;
547 UWORD8 cpcfr3;
548 UWORD8 cpcfr4;
549 UWORD8 cptctl;
550 UWORD8 cpttaddr;
551 UWORD16 cptdat;
552 UWORD16 cptvs;
553 }
554 T_MMI_CPORT_CONFIGURE_REQ;
555
556 typedef struct
557 {
558 UWORD16 register_id;
559 UWORD16 register_value;
560 }
561 T_L1_CPORT_CONFIGURE_CON;
562
563 #if (OP_RIV_AUDIO == 1)
564 typedef struct
565 {
566 T_RV_HDR header;
567 UWORD8 register_id;
568 UWORD16 register_value;
569 }
570 T_MMI_CPORT_CONFIGURE_CON;
571 #else
572 typedef T_L1_CPORT_CONFIGURE_CON T_MMI_CPORT_CONFIGURE_CON;
573 #endif
574 #endif
575
576 #if (L1_EXTERNAL_AUDIO_VOICE_ONOFF == 1)
577 typedef struct
578 {
579 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
580 T_RV_HDR header;
581 #endif
582 UWORD8 onoff_value;
583 }
584 T_MMI_AUDIO_ONOFF_REQ;
585 #endif
586
587 #if (L1_EXT_MCU_AUDIO_VOICE_ONOFF == 1)
588 typedef struct
589 {
590 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
591 T_RV_HDR header;
592 #endif
593 UWORD8 vul_onoff_value;
594 UWORD8 vdl_onoff_value;
595 }
596 T_MMI_AUDIO_ONOFF_REQ;
597 #endif
598
599 #if (L1_EXT_AUDIO_MGT == 1)
600 typedef struct
601 {
602 UWORD8 sampling_frequency;
603 UWORD8 DMA_channel_number;
604 UWORD8 data_type;
605 UWORD8 element_number;
606 UWORD16 frame_number;
607 WORD8* source_buffer_address;
608 UWORD8 mono_stereo;
609 UWORD8 session_id;
610 }
611 T_MMI_EXT_AUDIO_MGT_START_REQ;
612 #endif
613
614 #if (L1_ANR == 1)
615 typedef struct
616 {
617 #if (OP_RIV_AUDIO == 1)
618 T_RV_HDR header;
619 #endif
620 BOOL anr_enable;
621 WORD16 min_gain;
622 WORD8 div_factor_shift;
623 UWORD8 ns_level;
624 }
625 T_MMI_ANR_REQ;
626 #endif
627
628 #if (L1_ANR == 2)
629 typedef enum
630 {
631 ANR_STOP = 0,
632 ANR_START = 1,
633 ANR_UPDATE = 2
634 }
635 T_ANR_CONTROL;
636
637 typedef struct
638 {
639 WORD16 control;
640 WORD16 ns_level;
641 WORD16 tone_ene_th;
642 WORD16 tone_cnt_th;
643 }
644 T_MMI_AQI_ANR_PARAMS;
645
646 typedef struct
647 {
648 #if (OP_RIV_AUDIO == 1)
649 T_RV_HDR header;
650 #endif
651 T_ANR_CONTROL anr_ul_control;
652 T_MMI_AQI_ANR_PARAMS parameters;
653 }
654 T_MMI_AQI_ANR_REQ;
655
656 typedef enum
657 {
658 ANR_NO_ACTION = -1,
659 ANR_STOPPED = 0,
660 ANR_STARTED = 1,
661 ANR_UPDATED = 2
662 }
663 T_ANR_ACTION;
664
665 typedef struct
666 {
667 #if (OP_RIV_AUDIO == 1)
668 T_RV_HDR header;
669 #endif
670 T_ANR_ACTION anr_ul_action;
671 }
672 T_MMI_AQI_ANR_CON;
673
674 typedef struct
675 {
676 #if (OP_RIV_AUDIO == 1)
677 T_RV_HDR header;
678 #endif
679 T_ANR_ACTION anr_ul_action;
680 }
681 T_L1_AQI_ANR_CON;
682
683 #endif
684
685 #if (L1_IIR == 1)
686 typedef struct
687 {
688 #if (OP_RIV_AUDIO == 1)
689 T_RV_HDR header;
690 #endif
691 BOOL iir_enable;
692 UWORD8 nb_iir_blocks;
693 WORD16 *iir_coefs;
694 UWORD8 nb_fir_coefs;
695 WORD16 *fir_coefs;
696 WORD8 input_scaling;
697 WORD8 fir_scaling;
698 WORD8 input_gain_scaling;
699 WORD8 output_gain_scaling;
700 UWORD16 output_gain;
701 WORD16 feedback;
702 }
703 T_MMI_IIR_REQ;
704 #endif
705
706 #if (L1_WCM == 1)
707
708 typedef enum
709 {
710 WCM_STOP = 0,
711 WCM_START = 1,
712 WCM_UPDATE = 2
713 }
714 T_WCM_CONTROL;
715
716 typedef struct
717 {
718 WORD16 mode;
719 WORD16 frame_size;
720 WORD16 num_sub_frames;
721 WORD16 ratio;
722 WORD16 threshold;
723 WORD16 gain[16];
724 }
725 T_MMI_AQI_WCM_PARAMS;
726
727 typedef struct
728 {
729 #if (OP_RIV_AUDIO == 1)
730 T_RV_HDR header;
731 #endif
732 T_WCM_CONTROL wcm_control;
733 T_MMI_AQI_WCM_PARAMS parameters;
734 }
735 T_MMI_AQI_WCM_REQ;
736
737 typedef T_MMI_AQI_WCM_REQ T_AQI_WCM_PARAM;
738
739 typedef enum
740 {
741 WCM_NO_ACTION = -1,
742 WCM_STOPPED = 0,
743 WCM_STARTED = 1,
744 WCM_UPDATED = 2
745 }
746 T_WCM_ACTION;
747
748 typedef struct
749 {
750 #if (OP_RIV_AUDIO == 1)
751 T_RV_HDR header;
752 #endif
753 T_WCM_ACTION wcm_action;
754 }
755 T_MMI_AQI_WCM_CON;
756
757 typedef struct
758 {
759 #if (OP_RIV_AUDIO == 1)
760 T_RV_HDR header;
761 #endif
762 T_WCM_ACTION wcm_action;
763 }
764 T_L1_AQI_WCM_CON;
765
766 #endif
767
768
769 #if (L1_AGC_UL == 1 || L1_AGC_DL == 1)
770
771 typedef enum
772 {
773 AGC_STOP = 0,
774 AGC_START = 1,
775 AGC_UPDATE = 2
776 }
777 T_AGC_CONTROL;
778
779 typedef struct
780 {
781 UWORD16 control;
782 UWORD16 frame_size;
783 WORD16 targeted_level;
784 WORD16 signal_up;
785 WORD16 signal_down;
786 WORD16 max_scale;
787 WORD16 gain_smooth_alpha;
788 WORD16 gain_smooth_alpha_fast;
789 WORD16 gain_smooth_beta;
790 WORD16 gain_smooth_beta_fast;
791 WORD16 gain_intp_flag;
792 }
793 T_MMI_AQI_AGC_PARAMS;
794
795 typedef enum
796 {
797 AGC_NO_ACTION = -1,
798 AGC_STOPPED = 0,
799 AGC_STARTED = 1,
800 AGC_UPDATED = 2
801 }
802 T_AGC_ACTION;
803
804 #endif
805
806 #if (L1_AGC_UL == 1)
807
808 typedef struct
809 {
810 #if (OP_RIV_AUDIO == 1)
811 T_RV_HDR header;
812 #endif
813 T_AGC_CONTROL agc_ul_control;
814 T_MMI_AQI_AGC_PARAMS parameters;
815 }
816 T_MMI_AQI_AGC_UL_REQ ;
817
818 typedef struct
819 {
820 #if (OP_RIV_AUDIO == 1)
821 T_RV_HDR header;
822 #endif
823 T_AGC_ACTION agc_ul_action;
824 }
825 T_MMI_AQI_AGC_UL_CON;
826
827 typedef struct
828 {
829 #if (OP_RIV_AUDIO == 1)
830 T_RV_HDR header;
831 #endif
832 T_AGC_ACTION agc_ul_action;
833 }
834 T_L1_AQI_AGC_UL_CON;
835
836 #endif
837
838
839 #if (L1_AGC_DL == 1)
840
841 typedef struct
842 {
843 #if (OP_RIV_AUDIO == 1)
844 T_RV_HDR header;
845 #endif
846 T_AGC_CONTROL agc_dl_control;
847 T_MMI_AQI_AGC_PARAMS parameters;
848 }
849 T_MMI_AQI_AGC_DL_REQ ;
850
851 typedef struct
852 {
853 #if (OP_RIV_AUDIO == 1)
854 T_RV_HDR header;
855 #endif
856 T_AGC_ACTION agc_dl_action;
857 }
858 T_MMI_AQI_AGC_DL_CON;
859
860 typedef struct
861 {
862 #if (OP_RIV_AUDIO == 1)
863 T_RV_HDR header;
864 #endif
865 T_AGC_ACTION agc_dl_action;
866 }
867 T_L1_AQI_AGC_DL_CON;
868
869 #endif
870
871
872 #if (L1_IIR == 2)
873
874 typedef enum
875 {
876 IIR_STOP = 0,
877 IIR_START = 1,
878 IIR_UPDATE = 2
879 }
880 T_IIR_CONTROL;
881
882
883 typedef struct
884 {
885 UWORD16 fir_enable;
886 UWORD16 fir_length;
887 WORD16 fir_shift;
888 WORD16 fir_taps[40];
889 }
890 T_MMI_AQI_IIR_FIR_PARAMS;
891
892 typedef struct
893 {
894 WORD16 sos_fact;
895 WORD16 sos_fact_form;
896 WORD16 sos_den[2];
897 WORD16 sos_num[3];
898 WORD16 sos_num_form;
899 }
900 T_MMI_AQI_IIR_SINGLE_SOS_PARAMS;
901
902 typedef struct
903 {
904
905 UWORD16 sos_enable;
906 UWORD16 sos_number;
907 T_MMI_AQI_IIR_SINGLE_SOS_PARAMS sos_filter[6];
908 }
909 T_MMI_AQI_IIR_SOS_PARAMS;
910
911 typedef struct
912 {
913 UWORD16 control;
914 UWORD16 frame_size;
915 UWORD16 fir_swap;
916 T_MMI_AQI_IIR_FIR_PARAMS fir_filter;
917 T_MMI_AQI_IIR_SOS_PARAMS sos_filter;
918 WORD16 gain;
919 }
920 T_MMI_AQI_IIR_PARAMS;
921
922 typedef struct
923 {
924 #if (OP_RIV_AUDIO == 1)
925 T_RV_HDR header;
926 #endif
927 T_IIR_CONTROL iir_dl_control;
928 T_MMI_AQI_IIR_PARAMS parameters;
929 }
930 T_MMI_AQI_IIR_DL_REQ;
931
932 typedef T_MMI_AQI_IIR_DL_REQ T_AQI_IIR_PARAM;
933
934 typedef enum
935 {
936 IIR_NO_ACTION = -1,
937 IIR_STOPPED = 0,
938 IIR_STARTED = 1,
939 IIR_UPDATED = 2
940 }
941 T_IIR_ACTION;
942
943 typedef struct
944 {
945 #if (OP_RIV_AUDIO == 1)
946 T_RV_HDR header;
947 #endif
948 T_IIR_ACTION iir_dl_action;
949 }
950 T_MMI_AQI_IIR_DL_CON;
951
952 typedef struct
953 {
954 #if (OP_RIV_AUDIO == 1)
955 T_RV_HDR header;
956 #endif
957 T_IIR_ACTION iir_dl_action;
958 }
959 T_L1_AQI_IIR_DL_CON;
960
961 #endif
962
963
964 #if (L1_DRC == 1)
965
966 typedef enum
967 {
968 DRC_STOP = 0,
969 DRC_START = 1,
970 DRC_UPDATE = 2
971 }
972 T_DRC_CONTROL;
973
974 typedef struct
975 {
976 WORD16 speech_mode_samp_f;
977 WORD16 num_subbands;
978 WORD16 frame_len;
979 WORD16 expansion_knee_fb_bs;
980 WORD16 expansion_knee_md_hg;
981 WORD16 expansion_ratio_fb_bs;
982 WORD16 expansion_ratio_md_hg;
983 WORD16 max_amplification_fb_bs;
984 WORD16 max_amplification_md_hg;
985 WORD16 compression_knee_fb_bs;
986 WORD16 compression_knee_md_hg;
987 WORD16 compression_ratio_fb_bs;
988 WORD16 compression_ratio_md_hg;
989 WORD16 energy_limiting_th_fb_bs;
990 WORD16 energy_limiting_th_md_hg;
991 WORD16 limiter_threshold_fb;
992 WORD16 limiter_threshold_bs;
993 WORD16 limiter_threshold_md;
994 WORD16 limiter_threshold_hg;
995 WORD16 limiter_hangover_spect_preserve;
996 WORD16 limiter_release_fb_bs;
997 WORD16 limiter_release_md_hg;
998 WORD16 gain_track_fb_bs;
999 WORD16 gain_track_md_hg;
1000 WORD16 low_pass_filter[17];
1001 WORD16 mid_band_filter[17];
1002 }
1003 T_MMI_AQI_DRC_PARAMS;
1004
1005 typedef struct
1006 {
1007 #if (OP_RIV_AUDIO == 1)
1008 T_RV_HDR header;
1009 #endif
1010 T_DRC_CONTROL drc_dl_control;
1011 T_MMI_AQI_DRC_PARAMS parameters;
1012 }
1013 T_MMI_AQI_DRC_REQ;
1014
1015 typedef T_MMI_AQI_DRC_REQ T_AQI_DRC_PARAM;
1016
1017 typedef enum
1018 {
1019 DRC_NO_ACTION = -1,
1020 DRC_STOPPED = 0,
1021 DRC_STARTED = 1,
1022 DRC_UPDATED = 2
1023 }
1024 T_DRC_ACTION;
1025
1026 typedef struct
1027 {
1028 #if (OP_RIV_AUDIO == 1)
1029 T_RV_HDR header;
1030 #endif
1031 T_DRC_ACTION drc_dl_action;
1032 }
1033 T_MMI_AQI_DRC_CON;
1034
1035 typedef struct
1036 {
1037 #if (OP_RIV_AUDIO == 1)
1038 T_RV_HDR header;
1039 #endif
1040 T_DRC_ACTION drc_dl_action;
1041 }
1042 T_L1_AQI_DRC_CON;
1043
1044 #endif //L1_DRC
1045
1046
1047 #if (L1_LIMITER == 1)
1048 typedef struct
1049 {
1050 #if (OP_RIV_AUDIO == 1)
1051 T_RV_HDR header;
1052 #endif
1053 BOOL limiter_enable;
1054 UWORD16 block_size;
1055 UWORD16 slope_update_period;
1056 UWORD16 nb_fir_coefs;
1057 WORD16 *filter_coefs;
1058 WORD16 thr_low_0;
1059 WORD16 thr_low_slope;
1060 WORD16 thr_high_0;
1061 WORD16 thr_high_slope;
1062 WORD16 gain_fall;
1063 WORD16 gain_rise;
1064 }
1065 T_MMI_LIMITER_REQ;
1066 #endif
1067
1068 #if (L1_ES == 1)
1069 typedef struct
1070 {
1071 #if (OP_RIV_AUDIO == 1)
1072 T_RV_HDR header;
1073 #endif
1074 BOOL es_enable;
1075 UWORD8 es_behavior;
1076 UWORD8 es_mode;
1077 WORD16 es_gain_dl;
1078 WORD16 es_gain_ul_1;
1079 WORD16 es_gain_ul_2;
1080 WORD16 tcl_fe_ls_thr;
1081 WORD16 tcl_dt_ls_thr;
1082 WORD16 tcl_fe_ns_thr;
1083 WORD16 tcl_dt_ns_thr;
1084 WORD16 tcl_ne_thr;
1085 WORD16 ref_ls_pwr;
1086 WORD16 switching_time;
1087 WORD16 switching_time_dt;
1088 WORD16 hang_time;
1089 WORD16 gain_lin_dl_vect[4];
1090 WORD16 gain_lin_ul_vect[4];
1091 }
1092 T_MMI_ES_REQ;
1093 #endif
1094
1095 #if (L1_VOCODER_IF_CHANGE == 1)
1096 typedef struct
1097 {
1098 BOOL vocoder_state; // TRUE if enable request, FALSE if disable request
1099 } T_MMI_TCH_VOCODER_CFG_REQ;
1100 #endif // L1_VOCODER_IF_CHANGE == 1
1101
1102 #if (L1_PCM_EXTRACTION)
1103 typedef struct
1104 {
1105 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
1106 T_RV_HDR header;
1107 #endif
1108 UWORD8 session_id;
1109 UWORD8 download_ul_gain;
1110 UWORD8 download_dl_gain;
1111 UWORD32 maximum_size;
1112 } T_MMI_PCM_DOWNLOAD_START_REQ;
1113
1114 typedef struct
1115 {
1116 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
1117 T_RV_HDR header;
1118 #endif
1119 UWORD8 session_id;
1120 UWORD8 upload_ul_gain;
1121 UWORD8 upload_dl_gain;
1122 UWORD32 maximum_size;
1123 } T_MMI_PCM_UPLOAD_START_REQ;
1124
1125 typedef struct
1126 {
1127 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
1128 T_RV_HDR header;
1129 #endif
1130 UWORD32 maximum_size;
1131 } T_MMI_PCM_DOWNLOAD_STOP_REQ;
1132
1133 typedef struct
1134 {
1135 UWORD32 uploaded_size;
1136 } T_L1_PCM_UPLOAD_STOP_CON;
1137
1138 #if (OP_RIV_AUDIO == 1)
1139 typedef struct
1140 {
1141 T_RV_HDR header;
1142 UWORD32 uploaded_size;
1143 }
1144 T_MMI_PCM_UPLOAD_STOP_CON;
1145 #else
1146 typedef T_L1_PCM_UPLOAD_STOP_CON T_MMI_PCM_UPLOAD_STOP_CON;
1147 #endif
1148
1149 #endif /* L1_PCM_EXTRACTION */
1150
1151 #endif // AUDIO_TASK
1152
1153 typedef struct
1154 {
1155 UWORD8 outen1;
1156 UWORD8 outen2;
1157 UWORD8 outen3;
1158 UWORD8 classD;
1159 } T_MMI_OUTEN_CFG_REQ;
1160
1161 typedef struct
1162 {
1163 #if (OP_RIV_AUDIO == 1)
1164 T_RV_HDR header;
1165 #endif
1166 UWORD8 outen1;
1167 UWORD8 outen2;
1168 UWORD8 outen3;
1169 UWORD8 classD;
1170 } T_MMI_OUTEN_CFG_READ_CON;
1171
1172
1173 #endif // _L1AUDIO_MSGTY_H