FreeCalypso > hg > freecalypso-citrine
comparison L1/audio_include/l1audio_defty.h @ 5:420ac6391166
L1/audio_include: replacing with the version from tcs211-l1-reconst
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 09 Jun 2016 01:15:50 +0000 |
parents | 75a11d740a02 |
children |
comparison
equal
deleted
inserted
replaced
4:1a22dd26c8a4 | 5:420ac6391166 |
---|---|
1 /************* Revision Controle System Header ************* | 1 /************* Revision Controle System Header ************* |
2 * GSM Layer 1 software | 2 * GSM Layer 1 software |
3 * L1AUDIO_DEFTY.H | 3 * L1AUDIO_DEFTY.H |
4 * | 4 * |
5 * Filename l1audio_defty.h | 5 * Filename l1audio_defty.h |
6 * Copyright 2003 (C) Texas Instruments | 6 * Copyright 2003 (C) Texas Instruments |
7 * | 7 * |
8 ************* Revision Controle System Header *************/ | 8 ************* Revision Controle System Header *************/ |
9 | 9 |
10 #include "../../include/config.h" | |
11 #include "../include/l1_confg.h" | |
12 #include "l1audio_msgty.h" | |
13 #include "../audio_cust0/l1audio_cust.h" | |
14 #include "l1audio_const.h" | |
15 #include "l1audio_btapi.h" | |
16 #if (AUDIO_TASK == 1) | 10 #if (AUDIO_TASK == 1) |
17 | 11 |
18 #if (KEYBEEP) | 12 #if (KEYBEEP) |
19 /**************************************************************************/ | 13 /***************************************************************************************/ |
20 /* Keybeep l1a_l1s_com structure... */ | 14 /* Keybeep l1a_l1s_com structure... */ |
21 /**************************************************************************/ | 15 /***************************************************************************************/ |
22 typedef struct | 16 typedef struct |
23 { | 17 { |
24 BOOL start; | 18 BOOL start; |
25 BOOL stop; | 19 BOOL stop; |
26 } | 20 } |
32 } | 26 } |
33 T_KEYBEEP_TASK; | 27 T_KEYBEEP_TASK; |
34 #endif | 28 #endif |
35 | 29 |
36 #if (TONE) | 30 #if (TONE) |
37 /**************************************************************************/ | 31 /***************************************************************************************/ |
38 /* Tone l1a_l1s_com structure... */ | 32 /* Tone l1a_l1s_com structure... */ |
39 /**************************************************************************/ | 33 /***************************************************************************************/ |
40 typedef struct | 34 typedef struct |
41 { | 35 { |
42 BOOL start; | 36 BOOL start; |
43 BOOL stop; | 37 BOOL stop; |
44 } | 38 } |
50 } | 44 } |
51 T_TONE_TASK; | 45 T_TONE_TASK; |
52 #endif | 46 #endif |
53 | 47 |
54 #if (MELODY_E1) | 48 #if (MELODY_E1) |
55 /**************************************************************************/ | 49 /***************************************************************************************/ |
56 /* Melody l1a_l1s_com structure... */ | 50 /* Melody l1a_l1s_com structure... */ |
57 /**************************************************************************/ | 51 /***************************************************************************************/ |
58 typedef struct | 52 typedef struct |
59 { | 53 { |
60 BOOL start; | 54 BOOL start; |
61 BOOL stop; | 55 BOOL stop; |
62 } | 56 } |
80 T_MELODY_COMMAND command; | 74 T_MELODY_COMMAND command; |
81 T_MELODY_PARAM parameters; | 75 T_MELODY_PARAM parameters; |
82 } | 76 } |
83 T_MELODY_TASK; | 77 T_MELODY_TASK; |
84 | 78 |
85 /**************************************************************************/ | 79 /***************************************************************************************/ |
86 /* Melody l1s structure... */ | 80 /* Melody l1s structure... */ |
87 /**************************************************************************/ | 81 /***************************************************************************************/ |
88 | 82 |
89 typedef struct | 83 typedef struct |
90 { | 84 { |
91 UWORD8 error_id; | 85 UWORD8 error_id; |
92 UWORD16 buffer_size; | 86 UWORD16 buffer_size; |
99 } | 93 } |
100 T_L1S_MELODY_TASK; | 94 T_L1S_MELODY_TASK; |
101 #endif | 95 #endif |
102 | 96 |
103 #if (VOICE_MEMO) | 97 #if (VOICE_MEMO) |
104 /**************************************************************************/ | 98 /***************************************************************************************/ |
105 /* Voice memo l1a_l1s_com structure... */ | 99 /* Voice memo l1a_l1s_com structure... */ |
106 /**************************************************************************/ | 100 /***************************************************************************************/ |
107 | 101 |
108 typedef struct | 102 typedef struct |
109 { | 103 { |
110 BOOL start; | 104 BOOL start; |
111 BOOL stop; | 105 BOOL stop; |
159 T_VM_PLAY_TASK play; | 153 T_VM_PLAY_TASK play; |
160 T_VM_RECORD_TASK record; | 154 T_VM_RECORD_TASK record; |
161 } | 155 } |
162 T_VM_TASK; | 156 T_VM_TASK; |
163 | 157 |
164 /**************************************************************************/ | 158 /***************************************************************************************/ |
165 /* Voice memo l1s structure... */ | 159 /* Voice memo l1s structure... */ |
166 /**************************************************************************/ | 160 /***************************************************************************************/ |
167 | 161 |
168 typedef struct | 162 typedef struct |
169 { | 163 { |
170 API *a_du_x; | 164 API *a_du_x; |
171 UWORD8 error_id; | 165 UWORD8 error_id; |
190 T_L1S_VM_RECORD_TASK record; | 184 T_L1S_VM_RECORD_TASK record; |
191 } | 185 } |
192 T_L1S_VM_TASK; | 186 T_L1S_VM_TASK; |
193 | 187 |
194 #endif | 188 #endif |
195 | |
196 #if (L1_PCM_EXTRACTION) | |
197 /**************************************************************************/ | |
198 /* PCM extraction l1a_l1s_com structure... */ | |
199 /**************************************************************************/ | |
200 | |
201 typedef struct | |
202 { | |
203 BOOL start; | |
204 BOOL stop; | |
205 } | |
206 T_PCM_DOWNLOAD_COMMAND; | |
207 | |
208 typedef struct | |
209 { | |
210 UWORD8 session_id; | |
211 UWORD32 maximum_size; | |
212 } | |
213 T_PCM_DOWNLOAD_PARAM; | |
214 | |
215 typedef struct | |
216 { | |
217 T_PCM_DOWNLOAD_COMMAND command; | |
218 T_PCM_DOWNLOAD_PARAM parameters; | |
219 } | |
220 T_PCM_DOWNLOAD_TASK; | |
221 | |
222 typedef struct | |
223 { | |
224 BOOL start; | |
225 BOOL stop; | |
226 } | |
227 T_PCM_UPLOAD_COMMAND; | |
228 | |
229 typedef struct | |
230 { | |
231 UWORD8 session_id; | |
232 UWORD32 maximum_size; | |
233 } | |
234 T_PCM_UPLOAD_PARAM; | |
235 | |
236 typedef struct | |
237 { | |
238 T_PCM_UPLOAD_COMMAND command; | |
239 T_PCM_UPLOAD_PARAM parameters; | |
240 } | |
241 T_PCM_UPLOAD_TASK; | |
242 | |
243 typedef struct | |
244 { | |
245 T_PCM_DOWNLOAD_TASK download; | |
246 T_PCM_UPLOAD_TASK upload; | |
247 } | |
248 T_PCM_TASK; | |
249 | |
250 /**************************************************************************/ | |
251 /* PCM l1s structure... */ | |
252 /**************************************************************************/ | |
253 | |
254 typedef struct | |
255 { | |
256 UWORD8 error_id; | |
257 UWORD16 buffer_size; | |
258 UWORD16 *ptr_buf; | |
259 UWORD32 uploaded_size; | |
260 } | |
261 T_L1S_PCM_UPLOAD_TASK; | |
262 | |
263 typedef struct | |
264 { | |
265 UWORD8 error_id; | |
266 UWORD16 buffer_size; | |
267 UWORD16 *ptr_buf; | |
268 UWORD32 downloaded_size; | |
269 } | |
270 T_L1S_PCM_DOWNLOAD_TASK; | |
271 | |
272 typedef struct | |
273 { | |
274 T_L1S_PCM_DOWNLOAD_TASK download; | |
275 T_L1S_PCM_UPLOAD_TASK upload; | |
276 } | |
277 T_L1S_PCM_TASK; | |
278 | |
279 #endif /* L1_PCM_EXTRACTION */ | |
280 | |
281 #if (L1_VOICE_MEMO_AMR) | 189 #if (L1_VOICE_MEMO_AMR) |
282 /**************************************************************************/ | 190 /***************************************************************************************/ |
283 /* Voice memo amr l1a_l1s_com structure... */ | 191 /* Voice memo amr l1a_l1s_com structure... */ |
284 /**************************************************************************/ | 192 /***************************************************************************************/ |
285 | 193 |
286 typedef struct | 194 typedef struct |
287 { | 195 { |
288 BOOL start; | 196 BOOL start; |
289 BOOL pause; | |
290 BOOL resume; | |
291 BOOL stop; | 197 BOOL stop; |
292 } | 198 } |
293 T_VM_AMR_PLAY_COMMAND; | 199 T_VM_AMR_PLAY_COMMAND; |
294 | 200 |
295 typedef struct | 201 typedef struct |
321 } | 227 } |
322 T_VM_AMR_RECORD_PARAM; | 228 T_VM_AMR_RECORD_PARAM; |
323 | 229 |
324 typedef struct | 230 typedef struct |
325 { | 231 { |
326 T_VM_AMR_RECORD_COMMAND command; | 232 T_VM_AMR_RECORD_COMMAND command; |
327 T_VM_AMR_RECORD_PARAM parameters; | 233 T_VM_AMR_RECORD_PARAM parameters; |
328 } | 234 } |
329 T_VM_AMR_RECORD_TASK; | 235 T_VM_AMR_RECORD_TASK; |
330 | 236 |
331 typedef struct | 237 typedef struct |
332 { | 238 { |
333 T_VM_AMR_PLAY_TASK play; | 239 T_VM_AMR_PLAY_TASK play; |
334 T_VM_AMR_RECORD_TASK record; | 240 T_VM_AMR_RECORD_TASK record; |
335 } | 241 } |
336 T_VM_AMR_TASK; | 242 T_VM_AMR_TASK; |
337 | 243 |
338 /**************************************************************************/ | 244 /***************************************************************************************/ |
339 /* Voice memo l1s structure... */ | 245 /* Voice memo l1s structure... */ |
340 /**************************************************************************/ | 246 /***************************************************************************************/ |
341 | 247 |
342 typedef struct | 248 typedef struct |
343 { | 249 { |
344 API *a_du_x; | 250 API *a_du_x; |
345 UWORD8 error_id; | 251 UWORD8 error_id; |
367 } | 273 } |
368 T_L1S_VM_AMR_TASK; | 274 T_L1S_VM_AMR_TASK; |
369 | 275 |
370 #endif // L1_VOICE_MEMO_AMR | 276 #endif // L1_VOICE_MEMO_AMR |
371 #if (SPEECH_RECO) | 277 #if (SPEECH_RECO) |
372 /**************************************************************************/ | 278 /***************************************************************************************/ |
373 /* Speech recogniton l1a_l1s_com structure... */ | 279 /* Speech recogniton l1a_l1s_com structure... */ |
374 /**************************************************************************/ | 280 /***************************************************************************************/ |
375 | 281 |
376 typedef struct | 282 typedef struct |
377 { | 283 { |
378 BOOL enroll_start; | 284 BOOL enroll_start; |
379 BOOL enroll_stop; | 285 BOOL enroll_stop; |
441 } | 347 } |
442 T_L1_SRBACK_COM; | 348 T_L1_SRBACK_COM; |
443 | 349 |
444 #endif | 350 #endif |
445 | 351 |
446 #if (L1_AEC == 1) | 352 #if (AEC) |
447 typedef struct | 353 typedef struct |
448 { | 354 { |
449 UWORD16 aec_control; | 355 UWORD16 aec_control; |
450 #if (L1_NEW_AEC) | 356 #if (L1_NEW_AEC) |
451 UWORD16 cont_filter; | 357 UWORD16 cont_filter; |
489 WORD8 visibility_interval; | 395 WORD8 visibility_interval; |
490 #endif | 396 #endif |
491 } T_L1S_AEC_TASK; | 397 } T_L1S_AEC_TASK; |
492 #endif | 398 #endif |
493 | 399 |
494 #if(L1_AEC == 2) | |
495 | |
496 typedef struct | |
497 { | |
498 BOOL start; | |
499 } | |
500 T_AEC_COMMAND; | |
501 | |
502 | |
503 typedef struct | |
504 { | |
505 WORD16 aec_mode; | |
506 WORD16 mu; | |
507 UWORD16 cont_filter; | |
508 WORD16 scale_input_ul; | |
509 WORD16 scale_input_dl; | |
510 WORD16 div_dmax; | |
511 UWORD16 div_swap_good; | |
512 UWORD16 div_swap_bad; | |
513 WORD16 block_init; | |
514 UWORD16 fact_vad; | |
515 UWORD16 fact_asd_fil; | |
516 UWORD16 fact_asd_mut; | |
517 UWORD16 thrs_abs; | |
518 UWORD16 es_level_max; | |
519 UWORD16 granularity_att; | |
520 UWORD16 coef_smooth; | |
521 // UWORD16 block_size; | |
522 } | |
523 T_AEC_PARAMS; | |
524 | |
525 | |
526 typedef struct | |
527 { | |
528 T_AEC_COMMAND command; | |
529 T_AEC_CONTROL aec_control; | |
530 T_AEC_PARAMS parameters; | |
531 } | |
532 T_AEC_TASK; | |
533 | |
534 | |
535 #endif | |
536 | |
537 | |
538 #if (FIR) | 400 #if (FIR) |
539 typedef struct | 401 typedef struct |
540 { | 402 { |
541 BOOL fir_loop; | 403 BOOL fir_loop; |
542 UWORD8 update_fir; | 404 UWORD8 update_fir; |
578 T_AUDIO_MODE_PARAM parameters; | 440 T_AUDIO_MODE_PARAM parameters; |
579 } | 441 } |
580 T_AUDIO_MODE_TASK; | 442 T_AUDIO_MODE_TASK; |
581 #endif | 443 #endif |
582 #if (MELODY_E2) | 444 #if (MELODY_E2) |
583 /**************************************************************************/ | 445 /***************************************************************************************/ |
584 /* Melody format E2 l1a_l1s_com structure... */ | 446 /* Melody format E2 l1a_l1s_com structure... */ |
585 /**************************************************************************/ | 447 /***************************************************************************************/ |
586 typedef struct | 448 typedef struct |
587 { | 449 { |
588 BOOL start; | 450 BOOL start; |
589 BOOL stop; | 451 BOOL stop; |
590 } | 452 } |
609 T_MELODY_E2_COMMAND command; | 471 T_MELODY_E2_COMMAND command; |
610 T_MELODY_E2_PARAM parameters; | 472 T_MELODY_E2_PARAM parameters; |
611 } | 473 } |
612 T_MELODY_E2_TASK; | 474 T_MELODY_E2_TASK; |
613 | 475 |
614 /**************************************************************************/ | 476 /***************************************************************************************/ |
615 /* Melody format E2 l1s structure... */ | 477 /* Melody format E2 l1s structure... */ |
616 /**************************************************************************/ | 478 /***************************************************************************************/ |
617 typedef struct | 479 typedef struct |
618 { | 480 { |
619 UWORD8 error_id; | 481 UWORD8 error_id; |
620 UWORD16 buffer_size; | 482 UWORD16 buffer_size; |
621 UWORD8 *ptr_buf; | 483 UWORD8 *ptr_buf; |
637 UWORD8 timebase_mod_60ms; | 499 UWORD8 timebase_mod_60ms; |
638 BOOL dsp_task; | 500 BOOL dsp_task; |
639 } | 501 } |
640 T_L1S_MELODY_E2_COMMON_VAR; | 502 T_L1S_MELODY_E2_COMMON_VAR; |
641 | 503 |
642 /**************************************************************************/ | 504 /***************************************************************************************/ |
643 /* Melody format E2 audio background structure... */ | 505 /* Melody format E2 audio background structure... */ |
644 /**************************************************************************/ | 506 /***************************************************************************************/ |
645 typedef struct | 507 typedef struct |
646 { | 508 { |
647 API *API_address; | 509 API *API_address; |
648 UWORD16 allowed_size; | 510 UWORD16 allowed_size; |
649 UWORD8 number_of_user[SC_AUDIO_MELODY_E2_MAX_NUMBER_OF_INSTRUMENT]; | 511 UWORD8 number_of_user[SC_AUDIO_MELODY_E2_MAX_NUMBER_OF_INSTRUMENT]; |
650 UWORD8 instrument_id[SC_AUDIO_MELODY_E2_MAX_NUMBER_OF_INSTRUMENT]; | 512 UWORD8 instrument_id[SC_AUDIO_MELODY_E2_MAX_NUMBER_OF_INSTRUMENT]; |
651 UWORD16 instrument_size[SC_AUDIO_MELODY_E2_MAX_NUMBER_OF_INSTRUMENT]; | 513 UWORD16 instrument_size[SC_AUDIO_MELODY_E2_MAX_NUMBER_OF_INSTRUMENT]; |
652 } T_AUDIO_BACK_MELODY_E2; | 514 } T_AUDIO_BACK_MELODY_E2; |
653 #endif // MELODY_E2 | 515 #endif // MELODY_E2 |
654 #if (L1_CPORT == 1) | 516 #if (L1_CPORT == 1) |
655 /**************************************************************************/ | 517 /***************************************************************************************/ |
656 /* Cport l1a_l1s_com structure... */ | 518 /* Cport l1a_l1s_com structure... */ |
657 /**************************************************************************/ | 519 /***************************************************************************************/ |
658 typedef struct | 520 typedef struct |
659 { | 521 { |
660 BOOL start; | 522 BOOL start; |
661 } | 523 } |
662 T_CPORT_COMMAND; | 524 T_CPORT_COMMAND; |
681 T_CPORT_COMMAND command; | 543 T_CPORT_COMMAND command; |
682 T_CPORT_PARAM parameters; | 544 T_CPORT_PARAM parameters; |
683 } | 545 } |
684 T_CPORT_TASK; | 546 T_CPORT_TASK; |
685 #endif | 547 #endif |
686 | |
687 #if (L1_EXTERNAL_AUDIO_VOICE_ONOFF == 1 || L1_EXT_MCU_AUDIO_VOICE_ONOFF == 1) | |
688 typedef struct | |
689 { | |
690 BOOL start; | |
691 } | |
692 T_AUDIO_ONOFF_COMMAND; | |
693 | |
694 typedef struct | |
695 { | |
696 #if (L1_EXTERNAL_AUDIO_VOICE_ONOFF == 1) | |
697 UWORD8 onoff_value; /* This value is used to indicate the required state from the MMI interface */ | |
698 #endif | |
699 #if (L1_EXT_MCU_AUDIO_VOICE_ONOFF == 1) | |
700 UWORD8 vul_onoff_value;/* This value is used to indicate the required state from the MMI interface */ | |
701 UWORD8 vdl_onoff_value;/* This value is used to indicate the required state from the MMI interface */ | |
702 | |
703 #endif | |
704 } | |
705 T_AUDIO_ONOFF_PARAM; | |
706 | |
707 typedef struct | |
708 { | |
709 T_AUDIO_ONOFF_COMMAND command; | |
710 T_AUDIO_ONOFF_PARAM parameters; | |
711 } | |
712 T_AUDIO_ONOFF_TASK; | |
713 #endif | |
714 | |
715 #if (L1_EXT_MCU_AUDIO_VOICE_ONOFF == 1) | |
716 #define L1_AUDIO_VOICE_UL_OFF 0 | |
717 #define L1_AUDIO_VOICE_UL_ON 1 | |
718 #define L1_AUDIO_VOICE_UL_NO_ACTION 2 | |
719 | |
720 #define L1_AUDIO_VOICE_DL_OFF 0 | |
721 #define L1_AUDIO_VOICE_DL_ON 1 | |
722 #define L1_AUDIO_VOICE_DL_NO_ACTION 2 | |
723 #endif | |
724 | |
725 #if (L1_STEREOPATH == 1) | |
726 /**************************************************************************/ | |
727 /* Stereopath l1a_l1s_com structure... */ | |
728 /**************************************************************************/ | |
729 typedef struct | |
730 { | |
731 BOOL start; | |
732 BOOL stop; | |
733 } | |
734 T_STEREOPATH_DRV_COMMAND; | |
735 | |
736 typedef struct | |
737 { | |
738 #if (CODE_VERSION == NOT_SIMULATION) | |
739 UWORD8 sampling_frequency; | |
740 UWORD8 DMA_allocation; | |
741 void (*DMA_int_callback_fct) (UWORD16); | |
742 UWORD8 DMA_channel_number; | |
743 UWORD8 data_type; | |
744 UWORD8 source_port; | |
745 WORD8 *source_buffer_address; | |
746 UWORD16 element_number; | |
747 UWORD16 frame_number; | |
748 UWORD8 mono_stereo; | |
749 UWORD8 feature_identifier; | |
750 #else | |
751 UWORD8 dummy; | |
752 #endif | |
753 } | |
754 T_STEREOPATH_DRV_PARAM; | |
755 | |
756 typedef struct | |
757 { | |
758 T_STEREOPATH_DRV_COMMAND command; | |
759 T_STEREOPATH_DRV_PARAM parameters; | |
760 } | |
761 T_STEREOPATH_DRV_TASK; | |
762 | |
763 #endif | |
764 | |
765 #if (L1_EXT_AUDIO_MGT == 1) | |
766 typedef struct | |
767 { | |
768 UWORD8 session_id; | |
769 } | |
770 T_L1S_EXT_AUDIO_MGT_VAR; | |
771 #endif | |
772 | |
773 #if (L1_ANR == 1) | |
774 /**************************************************************************/ | |
775 /* ANR l1a_l1s_com structure... */ | |
776 /**************************************************************************/ | |
777 typedef struct | |
778 { | |
779 BOOL update; | |
780 } | |
781 T_ANR_COMMAND; | |
782 | |
783 typedef struct | |
784 { | |
785 BOOL anr_enable; | |
786 WORD16 min_gain; | |
787 WORD8 div_factor_shift; | |
788 UWORD8 ns_level; | |
789 } | |
790 T_ANR_PARAM; | |
791 | |
792 typedef struct | |
793 { | |
794 T_ANR_COMMAND command; | |
795 T_ANR_PARAM parameters; | |
796 } | |
797 T_ANR_TASK; | |
798 #endif | |
799 | |
800 #if (L1_ANR == 2) | |
801 /**************************************************************************/ | |
802 /* ANR 2.13 l1a_l1s_com structure... */ | |
803 /**************************************************************************/ | |
804 typedef struct | |
805 { | |
806 BOOL update; | |
807 } | |
808 T_AQI_ANR_COMMAND; | |
809 | |
810 typedef struct | |
811 { | |
812 T_ANR_CONTROL anr_ul_control; | |
813 WORD16 control; | |
814 WORD16 ns_level; | |
815 WORD16 tone_ene_th; | |
816 WORD16 tone_cnt_th; | |
817 } | |
818 T_AQI_ANR_PARAM; | |
819 | |
820 typedef struct | |
821 { | |
822 T_AQI_ANR_COMMAND command; | |
823 T_AQI_ANR_PARAM parameters; | |
824 } | |
825 T_AQI_ANR_TASK; | |
826 #endif | |
827 | |
828 #if (L1_IIR == 1) | |
829 /**************************************************************************/ | |
830 /* IIR l1a_l1s_com structure... */ | |
831 /**************************************************************************/ | |
832 typedef struct | |
833 { | |
834 BOOL update; | |
835 } | |
836 T_IIR_COMMAND; | |
837 | |
838 typedef struct | |
839 { | |
840 BOOL iir_enable; | |
841 UWORD8 nb_iir_blocks; | |
842 WORD16 *iir_coefs; | |
843 UWORD8 nb_fir_coefs; | |
844 WORD16 *fir_coefs; | |
845 WORD8 input_scaling; | |
846 WORD8 fir_scaling; | |
847 WORD8 input_gain_scaling; | |
848 WORD8 output_gain_scaling; | |
849 UWORD16 output_gain; | |
850 WORD16 feedback; | |
851 } | |
852 T_IIR_PARAM; | |
853 | |
854 typedef struct | |
855 { | |
856 T_IIR_COMMAND command; | |
857 T_IIR_PARAM parameters; | |
858 } | |
859 T_IIR_TASK; | |
860 #endif | |
861 | |
862 #if (L1_WCM == 1) | |
863 /**************************************************************************/ | |
864 /* WCM 1.x l1a_l1s_com structure... */ | |
865 /**************************************************************************/ | |
866 typedef struct | |
867 { | |
868 BOOL update; | |
869 } | |
870 T_AQI_WCM_COMMAND; | |
871 | |
872 typedef struct | |
873 { | |
874 T_AQI_WCM_COMMAND command; | |
875 T_AQI_WCM_PARAM *parameters; | |
876 } | |
877 T_AQI_WCM_TASK; | |
878 #endif | |
879 | |
880 #if (L1_IIR == 2) | |
881 /**************************************************************************/ | |
882 /* IIR 4.x l1a_l1s_com structure... */ | |
883 /**************************************************************************/ | |
884 typedef struct | |
885 { | |
886 BOOL update; | |
887 } | |
888 T_AQI_IIR_COMMAND; | |
889 | |
890 typedef struct | |
891 { | |
892 T_AQI_IIR_COMMAND command; | |
893 T_AQI_IIR_PARAM *parameters; | |
894 } | |
895 T_AQI_IIR_TASK; | |
896 #endif | |
897 | |
898 | |
899 #if (L1_AGC_UL == 1 || L1_AGC_DL == 1) | |
900 typedef struct | |
901 { | |
902 BOOL update; | |
903 } | |
904 T_AQI_AGC_COMMAND; | |
905 #endif | |
906 | |
907 #if (L1_AGC_UL == 1) | |
908 /**************************************************************************/ | |
909 /* AGC UL l1a_l1s_com structure... */ | |
910 /**************************************************************************/ | |
911 | |
912 typedef struct | |
913 { | |
914 T_AGC_CONTROL agc_ul_control; | |
915 UWORD16 control; | |
916 UWORD16 frame_size; | |
917 WORD16 targeted_level; | |
918 WORD16 signal_up; | |
919 WORD16 signal_down; | |
920 WORD16 max_scale; | |
921 WORD16 gain_smooth_alpha; | |
922 WORD16 gain_smooth_alpha_fast; | |
923 WORD16 gain_smooth_beta; | |
924 WORD16 gain_smooth_beta_fast; | |
925 WORD16 gain_intp_flag; | |
926 } | |
927 T_AQI_AGC_UL_PARAM; | |
928 | |
929 typedef struct | |
930 { | |
931 T_AQI_AGC_COMMAND command; | |
932 T_AQI_AGC_UL_PARAM parameters; | |
933 } | |
934 T_AQI_AGC_UL_TASK; | |
935 #endif | |
936 | |
937 #if (L1_AGC_DL == 1) | |
938 /**************************************************************************/ | |
939 /* AGC DL l1a_l1s_com structure... */ | |
940 /**************************************************************************/ | |
941 | |
942 typedef struct | |
943 { | |
944 T_AGC_CONTROL agc_dl_control; | |
945 UWORD16 control; | |
946 UWORD16 frame_size; | |
947 WORD16 targeted_level; | |
948 WORD16 signal_up; | |
949 WORD16 signal_down; | |
950 WORD16 max_scale; | |
951 WORD16 gain_smooth_alpha; | |
952 WORD16 gain_smooth_alpha_fast; | |
953 WORD16 gain_smooth_beta; | |
954 WORD16 gain_smooth_beta_fast; | |
955 WORD16 gain_intp_flag; | |
956 } | |
957 T_AQI_AGC_DL_PARAM; | |
958 | |
959 typedef struct | |
960 { | |
961 T_AQI_AGC_COMMAND command; | |
962 T_AQI_AGC_DL_PARAM parameters; | |
963 } | |
964 T_AQI_AGC_DL_TASK; | |
965 #endif | |
966 | |
967 #if (L1_DRC == 1) | |
968 /**************************************************************************/ | |
969 /* DRC 1.x l1a_l1s_com structure... */ | |
970 /**************************************************************************/ | |
971 typedef struct | |
972 { | |
973 BOOL update; | |
974 } | |
975 T_AQI_DRC_COMMAND; | |
976 | |
977 typedef struct | |
978 { | |
979 T_AQI_DRC_COMMAND command; | |
980 T_AQI_DRC_PARAM *parameters; | |
981 } | |
982 T_AQI_DRC_TASK; | |
983 | |
984 | |
985 /**************************************************************************/ | |
986 /* MP3 MCU-DSP API */ | |
987 /**************************************************************************/ | |
988 typedef struct | |
989 { | |
990 API_SIGNED d_drc_speech_mode_samp_f; | |
991 API_SIGNED d_drc_num_subbands; | |
992 API_SIGNED d_drc_frame_len; | |
993 API_SIGNED d_drc_expansion_knee_fb_bs; | |
994 API_SIGNED d_drc_expansion_knee_md_hg; | |
995 API_SIGNED d_drc_expansion_ratio_fb_bs; | |
996 API_SIGNED d_drc_expansion_ratio_md_hg; | |
997 API_SIGNED d_drc_max_amplification_fb_bs; | |
998 API_SIGNED d_drc_max_amplification_md_hg; | |
999 API_SIGNED d_drc_compression_knee_fb_bs; | |
1000 API_SIGNED d_drc_compression_knee_md_hg; | |
1001 API_SIGNED d_drc_compression_ratio_fb_bs; | |
1002 API_SIGNED d_drc_compression_ratio_md_hg; | |
1003 API_SIGNED d_drc_energy_limiting_th_fb_bs; | |
1004 API_SIGNED d_drc_energy_limiting_th_md_hg; | |
1005 API_SIGNED d_drc_limiter_threshold_fb; | |
1006 API_SIGNED d_drc_limiter_threshold_bs; | |
1007 API_SIGNED d_drc_limiter_threshold_md; | |
1008 API_SIGNED d_drc_limiter_threshold_hg; | |
1009 API_SIGNED d_drc_limiter_hangover_spect_preserve; | |
1010 API_SIGNED d_drc_limiter_release_fb_bs; | |
1011 API_SIGNED d_drc_limiter_release_md_hg; | |
1012 API_SIGNED d_drc_gain_track_fb_bs; | |
1013 API_SIGNED d_drc_gain_track_md_hg; | |
1014 API_SIGNED a_drc_low_pass_filter[17]; | |
1015 API_SIGNED a_drc_mid_band_filter[17]; | |
1016 } T_DRC_MCU_DSP; | |
1017 #endif | |
1018 | |
1019 #if (L1_LIMITER == 1) | |
1020 /**************************************************************************/ | |
1021 /* LIMITER l1a_l1s_com structure... */ | |
1022 /**************************************************************************/ | |
1023 typedef struct | |
1024 { | |
1025 BOOL update; | |
1026 BOOL partial_update; | |
1027 } | |
1028 T_LIMITER_COMMAND; | |
1029 | |
1030 typedef struct | |
1031 { | |
1032 BOOL limiter_enable; | |
1033 UWORD16 block_size; | |
1034 UWORD16 slope_update_period; | |
1035 UWORD16 nb_fir_coefs; | |
1036 WORD16 *filter_coefs; | |
1037 WORD16 thr_low_0; | |
1038 WORD16 thr_low_slope; | |
1039 WORD16 thr_high_0; | |
1040 WORD16 thr_high_slope; | |
1041 WORD16 gain_fall; | |
1042 WORD16 gain_rise; | |
1043 } | |
1044 T_LIMITER_PARAM; | |
1045 | |
1046 typedef struct | |
1047 { | |
1048 T_LIMITER_COMMAND command; | |
1049 T_LIMITER_PARAM parameters; | |
1050 } | |
1051 T_LIMITER_TASK; | |
1052 #endif | |
1053 | |
1054 #if (L1_ES == 1) | |
1055 /**************************************************************************/ | |
1056 /* ES l1a_l1s_com structure... */ | |
1057 /**************************************************************************/ | |
1058 typedef struct | |
1059 { | |
1060 BOOL update; | |
1061 } | |
1062 T_ES_COMMAND; | |
1063 | |
1064 typedef struct | |
1065 { | |
1066 UWORD8 es_mode; /* ES general configuration */ | |
1067 WORD16 es_gain_dl; | |
1068 WORD16 es_gain_ul_1; | |
1069 WORD16 es_gain_ul_2; | |
1070 WORD16 tcl_fe_ls_thr; /* TCL reference threshold in FE mode for loud signal */ | |
1071 WORD16 tcl_dt_ls_thr; /* TCL reference threshold in DT mode for loud signal */ | |
1072 WORD16 tcl_fe_ns_thr; /* TCL reference threshold in FE mode for nominal signal */ | |
1073 WORD16 tcl_dt_ns_thr; /* TCL reference threshold in DT mode for nominal signal */ | |
1074 WORD16 tcl_ne_thr; /* TCL reference threshold in NE mode */ | |
1075 WORD16 ref_ls_pwr; /* reference power for loud signals in DL */ | |
1076 WORD16 switching_time; /* switching time (idx) */ | |
1077 WORD16 switching_time_dt; /* switching time (idx) in DT mode */ | |
1078 WORD16 hang_time; /* hangover time (idx) */ | |
1079 WORD16 gain_lin_dl_vect[4]; /* downlink linear gain per state */ | |
1080 WORD16 gain_lin_ul_vect[4]; /* uplink linear gain per state */ | |
1081 } | |
1082 T_ES_CONFIG; | |
1083 | |
1084 typedef struct | |
1085 { | |
1086 UWORD8 es_enable; | |
1087 UWORD8 es_behavior; | |
1088 T_ES_CONFIG es_config; | |
1089 } | |
1090 T_ES_PARAM; | |
1091 | |
1092 typedef struct | |
1093 { | |
1094 T_ES_COMMAND command; | |
1095 T_ES_PARAM parameters; | |
1096 } | |
1097 T_ES_TASK; | |
1098 #endif | |
1099 | |
1100 typedef struct | |
1101 { | |
1102 BOOL start; | |
1103 } | |
1104 T_AUDIOIT_COMMAND; | |
1105 | |
1106 typedef struct | |
1107 { | |
1108 T_AUDIOIT_COMMAND command; | |
1109 } | |
1110 T_AUDIOIT_TASK; | |
1111 | |
1112 // Triton Audio ON/OFF Changes | |
1113 #if (L1_AUDIO_MCU_ONOFF == 1) | |
1114 typedef enum | |
1115 { | |
1116 L1_AUDIO_NO_ACTION = 0, | |
1117 L1_AUDIO_TURN_ON = 1, | |
1118 L1_AUDIO_TURN_OFF = 2 | |
1119 } | |
1120 T_L1_AUDIO_ACTION; | |
1121 | |
1122 typedef enum | |
1123 { | |
1124 L1_INVALID = 0xFF, | |
1125 L1_AUDIO_UL_OFF = 0, | |
1126 L1_AUDIO_UL_SWITCHON_STARTED = 1, | |
1127 L1_AUDIO_UL_ON = 2, | |
1128 L1_AUDIO_UL_SWITCHOFF_STARTED = 3 | |
1129 } | |
1130 T_L1_AUDIO_UL_STATE; | |
1131 | |
1132 typedef enum | |
1133 { | |
1134 L1_DL_INVALID = 0xFF, | |
1135 L1_AUDIO_DL_OFF = 0, | |
1136 L1_AUDIO_DL_SWITCHON_STARTED = 1, | |
1137 L1_AUDIO_DL_ON = 2, | |
1138 L1_AUDIO_DL_SWITCHOFF_STARTED = 3 | |
1139 } | |
1140 T_L1_AUDIO_DL_STATE; | |
1141 | |
1142 typedef enum | |
1143 { | |
1144 L1_AUDIO_DL_PATH = 0, | |
1145 L1_AUDIO_UL_PATH = 1 | |
1146 } | |
1147 T_L1_AUDIO_PATH; | |
1148 | |
1149 | |
1150 typedef struct | |
1151 { | |
1152 UWORD8 l1_audio_switch_on_ul_request; | |
1153 UWORD8 l1_audio_switch_on_dl_request; | |
1154 | |
1155 UWORD8 l1_audio_ul_on2off_hold_time; | |
1156 UWORD8 l1_audio_dl_on2off_hold_time; | |
1157 | |
1158 T_L1_AUDIO_ACTION l1_audio_ul_action; | |
1159 T_L1_AUDIO_ACTION l1_audio_dl_action; | |
1160 | |
1161 | |
1162 BOOL l1_audio_ul_switched_on; | |
1163 BOOL l1_audio_dl_switched_on; | |
1164 | |
1165 BOOL l1_audio_ul_switched_off; | |
1166 BOOL l1_audio_dl_switched_off; | |
1167 | |
1168 } | |
1169 T_L1S_AUDIO_ONOFF_MANAGER; | |
1170 | |
1171 #endif // L1_AUDIO_MCU_ONOFF | |
1172 | |
1173 #if(L1_MIDI_BUFFER == 1) | |
1174 typedef struct | |
1175 { | |
1176 UWORD8 a_midi_buffer_size; | |
1177 #if (DRP_FW_BUILD != 1) | |
1178 #if ((OP_L1_STANDALONE == 0) && (PSP_STANDALONE == 0)) | |
1179 UINT16 audio_play_buffer[AUDIO_EXT_MIDI_BUFFER_SIZE*2]; | |
1180 #endif | |
1181 #endif | |
1182 }T_MIDI_DMA_PARAM; | |
1183 #endif | |
1184 | |
1185 #if(L1_BT_AUDIO ==1) | |
1186 typedef struct | |
1187 { | |
1188 BOOL connected_status; | |
1189 BOOL pcm_data_ready; | |
1190 UWORD8 pcm_data_pending; | |
1191 UWORD8 pcm_data_end; | |
1192 UWORD8 pcm_data_failed; | |
1193 L1AudioPcmConfig pcmconfig; | |
1194 L1AudioPcmBlock pcmblock; | |
1195 L1AudioConfigureCallback audio_configure_callback; | |
1196 L1AudioPcmCallback audio_pcmblock_callback; | |
1197 } T_L1_BT_AUDIO; | |
1198 #endif | |
1199 | |
1200 | |
1201 #endif // AUDIO_TASK | 548 #endif // AUDIO_TASK |