[processor-sdk/performance-audio-sr.git] / processor_audio_sdk_1_00_00_00 / pasdk / common / audioStreamProc_config.h
2 /*
3 Copyright (c) 2016, Texas Instruments Incorporated - http://www.ti.com/
4 All rights reserved.
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 *
13 * Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the
16 * distribution.
17 *
18 * Neither the name of Texas Instruments Incorporated nor the names of
19 * its contributors may be used to endorse or promote products derived
20 * from this software without specific prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
26 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
27 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
28 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 *
34 */
36 //
37 // Framework -- Configuration Declarations
38 //
40 #ifndef _ASP_CONFIG_H_
41 #define _ASP_CONFIG_H_
43 #include <xdc/std.h>
44 //#include <ti/procsdk_audio/procsdk_audio_typ.h>
45 #include <procsdk_audio_typ.h>
47 #include "alg.h"
48 #include <sio.h>
50 #include <acp.h>
52 #include <paftyp.h>
53 #include <inpbuf.h>
54 #include <pafdec.h>
55 #include <pafenc.h>
56 #include <pafvol.h>
57 #include <outbuf.h>
59 #include "as1-f2.h"
60 #include "asp0.h"
62 #include "paf_decOpCircBuf.h"
64 #ifdef HSE_MSGQ
65 #include <msgq.h>
66 #include <pool.h>
67 #include <staticpool.h>
68 #endif
70 //
71 // Audio Framework Configuration
72 //
74 typedef struct PAF_AST_InpBuf {
75 SIO_Handle hRxSio;
76 PAF_InpBufConfig inpBufConfig;
77 PAF_InpBufConfig *pInpBuf; /* Decode Processing Temporary */
78 PAF_InpBufStatus inpBufStatus;
79 PAF_ASP_Chain inpChainData;
80 } PAF_AST_InpBuf;
82 typedef struct PAF_AST_Decode {
83 PAF_DecodeControl decodeControl;
84 PAF_DecodeStatus decodeStatus;
85 PAF_DecodeInStruct decodeInStruct;
86 PAF_DecodeOutStruct decodeOutStruct;
87 PAF_ASP_Chain decChainData;
88 ALG_Handle decAlg[PAF_SOURCE_N];
89 PAF_AudioFrame *pAudioFrame;
90 } PAF_AST_Decode;
92 typedef struct PAF_AST_Stream {
93 PAF_AudioData *audioFrameChannelPointers[PAF_MAXNUMCHAN_AF];
94 PAF_AudioSize audioFrameChannelSizes[PAF_MAXNUMCHAN_AF];
95 PAF_AudioFrame *pAudioFrame;
96 PAF_ASP_Chain aspChainData[GEARS];
97 PAF_ASP_Chain *aspChain[GEARS];
98 PAF_AudioData *origAudioFrameChannelPointers[PAF_MAXNUMCHAN_AF];
99 } PAF_AST_Stream;
101 typedef struct PAF_AST_OutBuf {
102 SIO_Handle hTxSio;
103 PAF_OutBufConfig outBufConfig;
104 PAF_OutBufConfig *pOutBuf; /* Decode Processing Temporary */
105 PAF_OutBufStatus outBufStatus;
106 PAF_ASP_Chain outChainData;
107 } PAF_AST_OutBuf;
109 typedef struct PAF_AST_Encode {
110 PAF_EncodeControl encodeControl;
111 PAF_EncodeStatus encodeStatus;
112 PAF_VolumeStatus volumeStatus;
113 PAF_EncodeInStruct encodeInStruct;
114 PAF_EncodeOutStruct encodeOutStruct;
115 PAF_ASP_Chain encChainData;
116 ALG_Handle encAlg[PAF_SOURCE_N];
117 } PAF_AST_Encode;
119 #ifdef HSE_MSGQ
120 typedef struct PAF_AST_MQ {
121 MSGQ_Queue rx;
122 MSGQ_Queue reply;
123 } PAF_AST_MQ;
124 #endif
126 typedef struct PAF_AST_Config {
127 Int as;
128 ACP_Handle acp;
129 //ACP_Handle acpSlave;
130 PAF_AST_InpBuf *xInp; /* INPUT1 -INPUTN */
131 PAF_AST_Decode *xDec; /* DECODE1-DECODEN */
132 PAF_AST_Stream *xStr; /* STREAM1-STREAMN */
133 PAF_AST_Encode *xEnc; /* ENCODE1-ENCODEN */
134 PAF_AST_OutBuf *xOut; /* OUTPUT1-OUTPUTN */
135 PAF_AST_DecOpCircBuf *xDecOpCb; /* DECODE1-DECODEN */
136 SmInt masterDec; // these two are computer based on MASTER input
137 SmInt masterStr;
138 #ifdef HSE_MSGQ
139 PAF_AST_MQ mq;
140 #endif
141 } PAF_AST_Config;
143 extern PAF_AST_Config *pC; /* Global configuration pointer */
146 #endif /* _ASP_CONFIG_H_ */