PASDK-516:Add updates for PCE
[processor-sdk/performance-audio-sr.git] / pasdk / test_dsp / framework / audioStreamOutDec.h
2 /*
3 Copyright (c) 2018, 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  *  ======== audioStreamOutDec.h ========
38  */
40 #ifndef _ASOP_DEC_H_
41 #define _ASOP_DEC_H_
43 #include <xdc/std.h>
45 #include "audioStreamOutProc.h"
47 // status codes
48 #define ASOP_DOP_SOK                        (   0 ) // ok
49 #define ASOP_DOP_ERR_RESET_ENCRESET         (  -1 ) // error - reset, enc reset
50 #define ASOP_DOP_ERR_INFO1_ASPCHAINRESET    (  -2 ) // error - info1, ASP chain reset
51 #define ASOP_DOP_ERR_INFO1_ENCINFO          (  -3 ) // error - info1, enc info
52 #define ASOP_DOP_ERR_INFO1_SETRATEX         (  -4 ) // error - info1, set rate X
53 #define ASOP_DOP_ERR_INFO1_STARTOUTPUT      (  -5 ) // error - info1, start output
54 #define ASOP_DOP_ERR_INFO1_INITOUTBUFCFG    (  -6 ) // error - info1, init out buf config
55 #define ASOP_DOP_ERR_INFO2_SETRATEX         (  -7 ) // error - info2, set rate X
56 #define ASOP_DOP_ERR_INIT_CBINITREAD        (  -8 ) // error - init, CB init read
57 #define ASOP_DOP_ERR_INIT_CBREADSTART       (  -9 ) // error - init, CB read start
58 #define ASOP_DOP_ERR_STREAM_CBREAD          ( -10 ) // error - stream, CB read
59 #define ASOP_DOP_ERR_STREAM_CBREADUNDTHR    ( -11 ) // error - stream, CB read underflow threshold reached
60 #define ASOP_DOP_ERR_STREAM_ASPCHAINAPPLY   ( -12 ) // error - stream, ASP chain apply
61 #define ASOP_DOP_ERR_ENCODE_ENCSELECT       ( -13 ) // error - encode, encoder (re-)select
62 #define ASOP_DOP_ERR_ENCODE_ENC             ( -14 ) // error - encode, encoder 
63 #define ASOP_DOP_ERR_ENCODE_WRTOPBUFS       ( -15 ) // error - encode, write output buffers 
64 #define ASOP_DOP_ERR_FINALTEST_CBCHKDRAIN   ( -16 ) // error - final test, CB check drained
65 #define ASOP_DOP_ERR_FINALTEST_CBDRAINED    ( -17 ) // error - final test, CB drained
66 #define ASOP_DOP_ERR_COMPLETE_CBREADSTOP    ( -18 ) // error - complete, CB read stop
67 #define ASOP_DOP_ERR_COMPLETE_STOPOUTPUT    ( -19 ) // error - complete, stop output
70 //   Purpose:   ASOT Function for Output reset
71 Int asopDecOutProcReset(
72     const PAF_ASOT_Params *pP, 
73     const PAF_ASOT_Patchs *pQ, 
74     PAF_ASOT_Config *pAsotCfg,
75     Int frame
76 );
78 //   Purpose:   Reset ASP chain, execute ENC info, and initiate Output
79 Int asopDecOutProcInfo1(
80     const PAF_ASOT_Params *pP, 
81     const PAF_ASOT_Patchs *pQ, 
82     PAF_ASOT_Config *pAsotCfg, 
83     Int frame 
84 );
86 //   Purpose:   Re-initiate Output
87 Int asopDecOutProcInfo2(
88     const PAF_ASOT_Params *pP, 
89     const PAF_ASOT_Patchs *pQ, 
90     PAF_ASOT_Config *pAsotCfg, 
91     Int frame 
92 );
94 // Initialize Decoder output processing
95 Int asopDecOutProcInit(
96     const PAF_ASOT_Params *pP,
97     const PAF_ASOT_Patchs *pQ,
98     PAF_ASOT_Config *pAsotCfg, 
99     Int frame 
100 );
102 // Process Decoder output audio data using ASP chain
103 Int asopDecOutProcStream(
104     const PAF_ASOT_Params *pP, 
105     const PAF_ASOT_Patchs *pQ, 
106     PAF_ASOT_Config *pAsotCfg, 
107     Int frame 
108 );
110 // Process ASP chain output audio data using Encoder
111 Int asopDecOutProcEncode(
112     const PAF_ASOT_Params *pP, 
113     const PAF_ASOT_Patchs *pQ, 
114     PAF_ASOT_Config *pAsotCfg, 
115     Int frame 
116 );
118 // Check if processing of current stream is complete
119 Int asopDecOutProcFinalTest(
120     const struct PAF_ASOT_Params *pP, 
121     const struct PAF_ASOT_Patchs *pQ, 
122     struct PAF_ASOT_Config *pAsotCfg, 
123     Int frame
124 );
126 // Terminate Decoder output processing
127 Int asopDecOutProcComplete(
128     const PAF_ASOT_Params *pP, 
129     const PAF_ASOT_Patchs *pQ, 
130     PAF_ASOT_Config *pAsotCfg, 
131     Int frame
132 );
134 //   Purpose:   Decoding output processing function for processing Encode Commands.
135 Int asopDecOutProcEncodeCommand(
136     const PAF_ASOT_Params *pP, 
137     const PAF_ASOT_Patchs *pQ, 
138     PAF_ASOT_Config *pAsotCfg
139 );
141 #endif /* _ASOP_DEC_H_ */