]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - processor-sdk/performance-audio-sr.git/blob - pasdk/common/audioStreamProc_config.h
PASDK-419:Update 3p-ip-dts submodule
[processor-sdk/performance-audio-sr.git] / pasdk / common / audioStreamProc_config.h
2 /*
3 Copyright (c) 2017, 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 "aspDecOpCircBuf_common.h"
63 #include "aspOutInitSync_common.h"
65 #ifdef HSE_MSGQ
66 #include <msgq.h>
67 #include <pool.h>
68 #include <staticpool.h>
69 #endif
71 //
72 // Audio Framework Configuration
73 //
75 typedef struct PAF_AST_InpBuf {
76     SIO_Handle          hRxSio;
77     PAF_InpBufConfig    inpBufConfig;
78     PAF_InpBufConfig   *pInpBuf; /* Decode Processing Temporary */
79     PAF_InpBufStatus    inpBufStatus;
80     PAF_ASP_Chain       inpChainData;
81 } PAF_AST_InpBuf;
83 typedef struct PAF_AST_Decode {
84     PAF_DecodeControl   decodeControl;
85     PAF_DecodeStatus    decodeStatus;
86     PAF_DecodeInStruct  decodeInStruct;
87     PAF_DecodeOutStruct decodeOutStruct;
88     PAF_ASP_Chain       decChainData;
89     ALG_Handle          decAlg[PAF_SOURCE_N];
90     PAF_AudioFrame     *pAudioFrame;
91 } PAF_AST_Decode;
93 typedef struct PAF_AST_Stream {
94     PAF_AudioData      *audioFrameChannelPointers[PAF_MAXNUMCHAN_AF];
95     PAF_AudioSize       audioFrameChannelSizes[PAF_MAXNUMCHAN_AF];
96     PAF_AudioFrame     *pAudioFrame;
97     PAF_ASP_Chain       aspChainData[GEARS];
98     PAF_ASP_Chain      *aspChain[GEARS];
99     PAF_AudioData      *origAudioFrameChannelPointers[PAF_MAXNUMCHAN_AF];
100 } PAF_AST_Stream;
102 typedef struct PAF_AST_OutBuf {
103     SIO_Handle          hTxSio;
104     PAF_OutBufConfig    outBufConfig;
105     PAF_OutBufConfig   *pOutBuf; /* Decode Processing Temporary */
106     PAF_OutBufStatus    outBufStatus;
107     PAF_ASP_Chain       outChainData;
108 } PAF_AST_OutBuf;
110 typedef struct PAF_AST_Encode {
111     PAF_EncodeControl   encodeControl;
112     PAF_EncodeStatus    encodeStatus;
113     PAF_VolumeStatus    volumeStatus;
114     PAF_EncodeInStruct  encodeInStruct;
115     PAF_EncodeOutStruct encodeOutStruct;
116     PAF_ASP_Chain       encChainData;
117     ALG_Handle          encAlg[PAF_SOURCE_N];
118 } PAF_AST_Encode;
120 #ifdef HSE_MSGQ
121 typedef struct PAF_AST_MQ {
122     MSGQ_Queue rx;
123     MSGQ_Queue reply;
124 } PAF_AST_MQ;
125 #endif
127 typedef struct PAF_AST_Config {
128     Int                     as;
129     PAF_AST_InpBuf          *xInp;      /* INPUT1 -INPUTN  */
130     PAF_AST_Decode          *xDec;      /* DECODE1-DECODEN */
131     PAF_AST_Stream          *xStr;      /* STREAM1-STREAMN */
132     PAF_AST_Encode          *xEnc;      /* ENCODE1-ENCODEN */
133     PAF_AST_OutBuf          *xOut;      /* OUTPUT1-OUTPUTN */
134     PAF_AST_DecOpCircBuf    *xDecOpCb;  /* DECODE1-DECODEN */
135     PAF_AST_OutInitSyncInfo *xOutIsi;   /* DECODE1-DECODEN */
136     SmInt                   masterDec;  // these two are computed based on MASTER input
137     SmInt                   masterStr;
138 #ifdef HSE_MSGQ
139     PAF_AST_MQ              mq;
140 #endif
141 } PAF_AST_Config;
144 #endif  /* _ASP_CONFIG_H_ */