comparison L1/audio_include/l1audio_msgty.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 ada79372df56
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_MSGTY.H 3 * L1AUDIO_MSGTY.H
4 * 4 *
5 * Filename l1audio_msgty.h 5 * Filename l1audio_msgty.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 #ifndef _L1AUDIO_MSGTY_H
10 #define _L1AUDIO_MSGTY_H
11
12 #include "../../include/config.h"
13 #include "../include/l1_confg.h"
14 9
15 #if (AUDIO_TASK == 1) 10 #if (AUDIO_TASK == 1)
16 11
17 #if (OP_RIV_AUDIO == 1) 12 #if (OP_RIV_AUDIO == 1)
18 #include "rv_general.h" 13 #include "rv_general.h"
348 UWORD16 *model_RAM_address_output; 343 UWORD16 *model_RAM_address_output;
349 } 344 }
350 T_L1_SRBACK_TEMP_SAVE_DATA_REQ; 345 T_L1_SRBACK_TEMP_SAVE_DATA_REQ;
351 #endif 346 #endif
352 347
353 #if (L1_AEC == 1) 348 #if (AEC)
354 typedef struct 349 typedef struct
355 { 350 {
356 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1)) 351 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
357 T_RV_HDR header; 352 T_RV_HDR header;
358 #endif 353 #endif
379 } 374 }
380 T_L1_AEC_IND; 375 T_L1_AEC_IND;
381 #endif 376 #endif
382 #endif 377 #endif
383 378
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) 379 #if (FIR)
463 typedef struct 380 typedef struct
464 { 381 {
465 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1)) 382 #if (defined _WINDOWS && (OP_RIV_AUDIO == 1))
466 T_RV_HDR header; 383 T_RV_HDR header;
570 T_MMI_CPORT_CONFIGURE_CON; 487 T_MMI_CPORT_CONFIGURE_CON;
571 #else 488 #else
572 typedef T_L1_CPORT_CONFIGURE_CON T_MMI_CPORT_CONFIGURE_CON; 489 typedef T_L1_CPORT_CONFIGURE_CON T_MMI_CPORT_CONFIGURE_CON;
573 #endif 490 #endif
574 #endif 491 #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 492 #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