summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 5a80231)
raw | patch | inline | side by side (parent: 5a80231)
author | Jianzhong Xu <a0869574@ti.com> | |
Thu, 14 Dec 2017 13:57:04 +0000 (08:57 -0500) | ||
committer | Jianzhong Xu <a0869574@ti.com> | |
Thu, 14 Dec 2017 13:57:04 +0000 (08:57 -0500) |
pasdk/test_dsp/framework/audioStreamInpProc.c | patch | blob | history | |
pasdk/test_dsp/framework/audioStreamOutProc.c | patch | blob | history |
diff --git a/pasdk/test_dsp/framework/audioStreamInpProc.c b/pasdk/test_dsp/framework/audioStreamInpProc.c
index e39d3b90ff2755366a8c8e46c6e3625e5d5e1886..fb7b6ec41b305d481e6640ab349bead587db140c 100644 (file)
#include "evmc66x_gpio_dbg.h"
/*
- * ======== taskAsipFxn ========
- * Audio Stream Input Processing task function
+ * ======== taskAsipFxnInit ========
+ * Audio Stream Input Processing initialization function
*/
-Void taskAsipFxn(
-// Int betaPrimeValue, // FL: revisit
+Void taskAsipFxnInit(
const PAF_ASIT_Params *pP,
const PAF_ASIT_Patchs *pQ
)
Int as; /* Audio Stream Number (1, 2, etc.) */
Int z; /* input/encode/stream/decode/output counter */
Int i; /* phase */
- Int errno; /* error number */
- Int zMD, zMI, zMS, zX;
- Int loopCount = 0; // used to stop trace to see startup behavior.
+ Int zMI, zMS, zX;
Int size;
// Messaging
- ASP_Msg *pAspMsg;
+ ASP_Msg *pAspMsg;
Int status;
- Int8 tempVar8;
- char asipMsgBuf[ASP_MSG_BUF_LEN];
- Log_info0("Enter taskAsipFxn()");
+ Log_info0("Enter taskAsipFxnInit()");
//
// Audio Stream Input Task Parameters & Patch (*pP, *pQ)
//
- if (!pP)
+ if (!pP)
{
TRACE_TERSE0("TaskAsip: No Parameters defined. Exiting.");
LINNO_RPRT(TaskAsip, -1);
TRACE_TERSE0("TaskAsip: No Patchs defined. Exiting.");
LINNO_RPRT(TaskAsip, -1);
return;
- }
-
+ }
+
//
// Audio Stream Input Task Configuration (*pAsitCfg):
//
/* Set Audio Stream Number (1, 2, etc.) */
as = gBetaPrimeValue + 1;
- pAstCfg->as = as;
+ pAstCfg->as = as;
TRACE_TERSE1("TaskAsip: Started with AS%d.", as);
//
TRACE_TERSE1("TaskAsip: AS%d: initiated", as+z);
}
LINNO_RPRT(TaskAsip, -1);
-
+
//
// Determine decoder and stream indices associated with the master input
//
break;
}
}
- zMD = pAstCfg->masterDec;
zMS = pAstCfg->masterStr;
// Initialize as per parametrized phases:
if (pP->fxns->initPhase[i])
{
linno = pP->fxns->initPhase[i](pP, pQ, pAsitCfg);
- if (linno)
+ if (linno)
{
LINNO_RPRT(TaskAsip, linno);
return;
}
}
- else
+ else
{
TRACE_TERSE1("TaskAsip: AS%d: initialization phase - null", as+zMS);
}
if (pP->fxns->memStatusPrint)
{
pP->fxns->memStatusPrint("ASIT MEMSTAT REPORT",
- HEAP_INTERNAL, HEAP_INTERNAL1, HEAP_EXTERNAL,
+ HEAP_INTERNAL, HEAP_INTERNAL1, HEAP_EXTERNAL,
HEAP_INTERNAL1_SHM, HEAP_EXTERNAL_SHM, HEAP_EXTERNAL_NONCACHED_SHM);
}
-
+
// (***) FL: revisit
// write back AST shared configuration
Cache_wb(pAstCfg, sizeof(PAF_AST_Config), Cache_Type_ALLD, 0);
// write back entire beta table
Cache_wb((Ptr)(&IACP_STD_BETA_TABLE.pStatus[0]), 512*sizeof(IALG_Status *), Cache_Type_ALLD, 0);
Cache_wait();
-
+
// FL: send start initialization message to slave
pAspMsg = (ASP_Msg *)MessageQ_alloc(hAspMsgMaster->heapId, hAspMsgMaster->msgSize); /* allocate message */
MessageQ_setReplyQueue(hAspMsgMaster->masterQue, (MessageQ_Msg)pAspMsg); /* set the return address in the message header */
status = MessageQ_get(hAspMsgMaster->masterQue, (MessageQ_Msg *)&pAspMsg, 0); // FL: no other thread is allowed to run until Slave finished startup
} while ((status != MessageQ_S_SUCCESS) || (pAspMsg->cmd != ASP_MASTER_START_DONE));
if ((pAspMsg->procId != hAspMsgMaster->slaveProcId) ||
- (pAspMsg->cmd != ASP_MASTER_START_DONE) ||
+ (pAspMsg->cmd != ASP_MASTER_START_DONE) ||
(pAspMsg->messageId != (hAspMsgMaster->messageId | ((UInt32)1<<31))))
{
TRACE_TERSE3("ERROR: Rx ASP message: procId=%d, cmd=%d, messageId=0x%04x", pAspMsg->procId, pAspMsg->cmd, pAspMsg->messageId);
if (!IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]) Log_info0("WARNING: beta unit for Dec==NULL");
if (!IACP_STD_BETA_TABLE.pStatus[STD_BETA_AAC]) Log_info0("WARNING: beta unit for Dec==NULL");
if (!IACP_STD_BETA_TABLE.pStatus[STD_BETA_AAC2]) Log_info0("WARNING: beta unit for Dec==NULL");
-
+
// (***) FL: revisit
// invalidate Status structures for Beta Units initialized on Slave
//
Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_AAC2]), size, Cache_Type_ALLD, 0);
Cache_wait();
}
-
+
#ifdef NON_CACHE_STATUS
// Get the shared status structure GateMP handles. Initialized at slave.
if (statusOp_Init(GATEMP_INDEX_DEC) == STATUSOP_INIT_FAIL)
// invalidate Dec configuration
Cache_inv(&gPAF_AST_config.xDec[0], DECODEN*sizeof(PAF_AST_Decode), Cache_Type_ALLD, 0);
Cache_wait();
+
+} /* taskAsipFxnInit */
+
+/*
+ * ======== taskAsipFxn ========
+ * Audio Stream Input Processing task function
+ */
+Void taskAsipFxn(
+// Int betaPrimeValue, // FL: revisit
+ const PAF_ASIT_Params *pP,
+ const PAF_ASIT_Patchs *pQ
+)
+{
+ PAF_ASIT_Config *pAsitCfg; /* ASIT configuration pointer */
+ PAF_AST_Config *pAstCfg; /* AST Common (shared) configuration pointer */
+ Int as; /* Audio Stream Number (1, 2, etc.) */
+ Int z; /* input/encode/stream/decode/output counter */
+ Int errno; /* error number */
+ Int zMD, zMI, zMS;
+ Int loopCount = 0; // used to stop trace to see startup behavior.
+ // Messaging
+ Int8 tempVar8;
+ char asipMsgBuf[ASP_MSG_BUF_LEN];
+
+ Log_info0("Enter taskAsipFxn()");
+
+ taskAsipFxnInit(pP, pQ); // initialization of input task
+
+ //
+ // Audio Stream Input Task Configuration (*pAsitCfg):
+ //
+ pAsitCfg = &gPAF_ASIT_config; // initialize pointer to task configuration
+ pAstCfg = pAsitCfg->pAstCfg; // get pointer to AST common (shared) configuration
+
+ /* Set Audio Stream Number (1, 2, etc.) */
+ as = pAstCfg->as;
+
+ //
+ // Determine decoder and stream indices associated with the master input
+ //
+ zMI = pP->zone.master;
+ zMD = pAstCfg->masterDec;
+ zMS = pAstCfg->masterStr;
//
// Main processing loop
diff --git a/pasdk/test_dsp/framework/audioStreamOutProc.c b/pasdk/test_dsp/framework/audioStreamOutProc.c
index daafbc014501680768613a4a4e7a16d6db528bbc..e744cd2a7b02ce31c0e60d0fb084e27924c9e26e 100644 (file)
UInt32 gAsopQuitCnt =0;
/*
- * ======== taskAsopFxn ========
- * Audio Stream Output Processing task function
+ * ======== taskAsopFxnInit ========
+ * Audio Stream Output Processing initialization function
*/
-Void taskAsopFxn(
-// Int betaPrimeValue, // FL: revisit
+Void taskAsopFxnInit(
const PAF_ASOT_Params *pP,
const PAF_ASOT_Patchs *pQ
)
Int z; /* input/encode/stream/decode/output counter */
Int i; /* phase */
Int zMS;
- Int errno; // error number
- Int8 procSleep; // whether to sleep: 0: No, 1: Yes
- Int8 procOutDevSel; // whether to perform output device selection: 0: No, 1:Yes
- Int outSel; // whether output device selected
- enum { INIT_OUT_PROC_STATE,
- INITSYNC_DEC_RESET_STATE, INITSYNC_DEC_INFO1_STATE, INITSYNC_DEC_DECODE1_STATE,
- INITSYNC_RESYNC_STATE,
- OUT_PROC_STATE } state;
- PAF_AudioFrame decResetAf;
- PAF_AudioFrame decInfo1Af;
- Int loopCount = 0; // used to stop trace to see startup behavior.
-
- Log_info0("Enter taskAsopFxn()");
+ Log_info0("Enter taskAsopFxnInit()");
//
// Audio Stream Output Task Parameters & Patch (*pP, *pQ)
//
- if (!pP)
+ if (!pP)
{
TRACE_TERSE0("TaskAsop: No Parameters defined. Exiting.");
LINNO_RPRT(TaskAsop, -1);
TRACE_TERSE0("TaskAsop: No Patchs defined. Exiting.");
LINNO_RPRT(TaskAsop, -1);
return;
- }
+ }
//
// Audio Stream Output Task Configuration (*pAsotCfg):
pAsotCfg->taskHandle = Task_self(); // set task handle
pAstCfg = pAsotCfg->pAstCfg; // get pointer to AST common (shared) configuration
- /* Obtain Audio Stream Number (1, 2, etc.) */
+ /* Obtain Audio Stream Number (1, 2, etc.) */
as = pAstCfg->as;
TRACE_TERSE1("TaskAsop: Started with AS%d.", as);
TRACE_TERSE1("TaskAsop: AS%d: initiated", as+z);
}
LINNO_RPRT(TaskAsop, -1);
-
+
//
// Determine stream index
//
if (pP->fxns->initPhase[i])
{
linno = pP->fxns->initPhase[i](pP, pQ, pAsotCfg);
- if (linno)
+ if (linno)
{
LINNO_RPRT(TaskAsop, linno);
return;
}
}
- else
+ else
{
TRACE_TERSE1("TaskAsop: AS%d: initialization phase - null", as+zMS);
}
TRACE_TERSE2("TaskAsop: AS%d: initialization phase - %d completed", as+zMS, i);
LINNO_RPRT(TaskAsop, -i-3);
}
-
+
//
// End of Initialization -- display memory usage report.
//
if (pP->fxns->memStatusPrint)
{
pP->fxns->memStatusPrint("ASOT MEMSTAT REPORT",
- HEAP_INTERNAL, HEAP_INTERNAL1, HEAP_EXTERNAL,
+ HEAP_INTERNAL, HEAP_INTERNAL1, HEAP_EXTERNAL,
HEAP_INTERNAL1_SHM, HEAP_EXTERNAL_SHM, HEAP_EXTERNAL_NONCACHED_SHM);
}
+} /* taskAsopFxnInit */
+
+
+/*
+ * ======== taskAsopFxn ========
+ * Audio Stream Output Processing task function
+ */
+Void taskAsopFxn(
+// Int betaPrimeValue, // FL: revisit
+ const PAF_ASOT_Params *pP,
+ const PAF_ASOT_Patchs *pQ
+)
+{
+ PAF_ASOT_Config *pAsotCfg; /* ASOT configuration pointer */
+ PAF_AST_Config *pAstCfg; /* Common (shared) configuration pointer */
+ Int as; /* Audio Stream Number (1, 2, etc.) */
+ Int z; /* input/encode/stream/decode/output counter */
+ Int zMS;
+ Int errno; // error number
+ Int8 procSleep; // whether to sleep: 0: No, 1: Yes
+ Int8 procOutDevSel; // whether to perform output device selection: 0: No, 1:Yes
+ Int outSel; // whether output device selected
+ enum { INIT_OUT_PROC_STATE,
+ INITSYNC_DEC_RESET_STATE, INITSYNC_DEC_INFO1_STATE, INITSYNC_DEC_DECODE1_STATE,
+ INITSYNC_RESYNC_STATE,
+ OUT_PROC_STATE } state;
+ PAF_AudioFrame decResetAf;
+ PAF_AudioFrame decInfo1Af;
+ Int loopCount = 0; // used to stop trace to see startup behavior.
+
+ Log_info0("Enter taskAsopFxn()");
+
+ taskAsopFxnInit(pP, pQ); // initialization of output task
+
+ //
+ // Audio Stream Output Task Configuration (*pAsotCfg):
+ //
+ pAsotCfg = &gPAF_ASOT_config; // initialize pointer to task configuration
+ pAstCfg = pAsotCfg->pAstCfg; // get pointer to AST common (shared) configuration
+
+ /* Obtain Audio Stream Number (1, 2, etc.) */
+ as = pAstCfg->as;
+
+ zMS = pAstCfg->masterStr;
//
// Main processing loop