[processor-sdk/performance-audio-sr.git] / processor_audio_sdk_1_00_00_00 / pasdk / test_dsp / framework / systemStream.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 * ======== systemStream.h ========
38 */
40 #ifndef _SYSTEM_STREAM_H_
41 #define _SYSTEM_STREAM_H_
43 #include <xdc/std.h>
44 #include <acp.h>
45 #include "pafsys.h"
47 #define PAF_SYSTEMSTREAMFXNS_XN 4
49 struct PAF_SST_Params;
50 struct PAF_SST_Config;
52 typedef void PAF_SST_FxnsMain
53 (const struct PAF_SST_Params *, struct PAF_SST_Config *);
54 typedef Int PAF_SST_FxnsCompute
55 (const struct PAF_SST_Params *, struct PAF_SST_Config *, Int64 *);
56 typedef Int PAF_SST_FxnsTransmit
57 (const struct PAF_SST_Params *, struct PAF_SST_Config *, Int64 *);
59 typedef struct PAF_SST_Fxns {
60 PAF_SST_FxnsMain *main;
61 Int32 count;
62 struct {
63 PAF_SST_FxnsCompute *compute;
64 PAF_SST_FxnsTransmit *transmit;
65 } sub[1];
66 } PAF_SST_Fxns;
68 typedef struct PAF_SST_Params {
69 Int8 streams;
70 Int8 stream1; /* unused */
71 Int8 streamN; /* unused */
72 Int8 ss;
73 const PAF_SST_Fxns *fxns;
74 } PAF_SST_Params;
76 typedef struct PAF_SST_Config {
77 ACP_Handle acp;
78 PAF_SystemStatus *pStatus;
79 } PAF_SST_Config;
81 typedef struct PAF_ERR_Config {
82 ACP_Handle acp;
83 PAF_ErrorStatus *pStatus;
84 } PAF_ERR_Config;
86 /* Audio Stream functions */
87 extern PAF_SST_FxnsMain systemStreamMain;
88 extern PAF_SST_FxnsCompute systemStream1Compute;
89 extern PAF_SST_FxnsTransmit systemStream1Transmit;
90 extern PAF_SST_FxnsCompute systemStream2Compute;
91 extern PAF_SST_FxnsTransmit systemStream2Transmit;
92 extern PAF_SST_FxnsCompute systemStream3Compute;
93 extern PAF_SST_FxnsTransmit systemStream3Transmit;
94 #ifdef THX
95 extern PAF_SST_FxnsCompute systemStream4Compute;
96 extern PAF_SST_FxnsTransmit systemStream4Transmit;
97 #endif
98 extern PAF_SST_FxnsCompute systemStream5Compute;
99 extern PAF_SST_FxnsTransmit systemStream5Transmit;
101 #endif /* _SYSTEM_STREAM_H_ */