diff --git a/pasdk/test_dsp/framework/audioStreamInpProc.c b/pasdk/test_dsp/framework/audioStreamInpProc.c
index ace2a1dc98405a10cddb490c22ea6adf663454ad..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_DECODE]), sizeof(Int), Cache_Type_ALLD, 0);
- size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DECODE]->size;
- Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DECODE]), size, Cache_Type_ALLD, 0);
- Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM]), sizeof(Int), Cache_Type_ALLD, 0);
- size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM]->size;
- Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM]), size, Cache_Type_ALLD, 0);
- Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM2]), sizeof(Int), Cache_Type_ALLD, 0);
- size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM2]->size;
- Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM2]), size, Cache_Type_ALLD, 0);
- Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP]), sizeof(Int), Cache_Type_ALLD, 0);
- size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP]->size;
- Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP]), size, Cache_Type_ALLD, 0);
- Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP2]), sizeof(Int), Cache_Type_ALLD, 0);
- size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP2]->size;
- Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP2]), size, Cache_Type_ALLD, 0);
- Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD]), sizeof(Int), Cache_Type_ALLD, 0);
- size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD]->size;
- Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD]), size, Cache_Type_ALLD, 0);
- Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD2]), sizeof(Int), Cache_Type_ALLD, 0);
- size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD2]->size;
- Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD2]), size, Cache_Type_ALLD, 0);
- size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]->size;
- Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]), size, Cache_Type_ALLD, 0);
- Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_AAC]), sizeof(Int), Cache_Type_ALLD, 0);
- size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_AAC]->size;
- Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_AAC]), size, Cache_Type_ALLD, 0);
- Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_AAC2]), sizeof(Int), Cache_Type_ALLD, 0);
- size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_AAC2]->size;
- Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_AAC2]), size, Cache_Type_ALLD, 0);
- Cache_wait();
-
+ //
+ if (IACP_STD_BETA_TABLE.pStatus[STD_BETA_DECODE] != NULL)
+ {
+ Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DECODE]), sizeof(Int), Cache_Type_ALLD, 0);
+ size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DECODE]->size;
+ Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DECODE]), size, Cache_Type_ALLD, 0);
+ Cache_wait();
+ }
+ if (IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM] != NULL)
+ {
+ Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM]), sizeof(Int), Cache_Type_ALLD, 0);
+ size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM]->size;
+ Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM]), size, Cache_Type_ALLD, 0);
+ Cache_wait();
+ }
+ if (IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM2] != NULL)
+ {
+ Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM2]), sizeof(Int), Cache_Type_ALLD, 0);
+ size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM2]->size;
+ Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM2]), size, Cache_Type_ALLD, 0);
+ Cache_wait();
+ }
+ if (IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP] != NULL)
+ {
+ Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP]), sizeof(Int), Cache_Type_ALLD, 0);
+ size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP]->size;
+ Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP]), size, Cache_Type_ALLD, 0);
+ Cache_wait();
+ }
+ if (IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP2] != NULL)
+ {
+ Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP2]), sizeof(Int), Cache_Type_ALLD, 0);
+ size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP2]->size;
+ Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP2]), size, Cache_Type_ALLD, 0);
+ Cache_wait();
+ }
+ if (IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD] != NULL)
+ {
+ Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD]), sizeof(Int), Cache_Type_ALLD, 0);
+ size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD]->size;
+ Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD]), size, Cache_Type_ALLD, 0);
+ Cache_wait();
+ }
+ if (IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD2] != NULL)
+ {
+ Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD2]), sizeof(Int), Cache_Type_ALLD, 0);
+ size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD2]->size;
+ Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD2]), size, Cache_Type_ALLD, 0);
+ Cache_wait();
+ }
+ if (IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA] != NULL)
+ {
+ Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]), sizeof(Int), Cache_Type_ALLD, 0);
+ size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]->size;
+ Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]), size, Cache_Type_ALLD, 0);
+ Cache_wait();
+ }
+ if (IACP_STD_BETA_TABLE.pStatus[STD_BETA_AAC] != NULL)
+ {
+ Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_AAC]), sizeof(Int), Cache_Type_ALLD, 0);
+ size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_AAC]->size;
+ Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_AAC]), size, Cache_Type_ALLD, 0);
+ Cache_wait();
+ }
+ if (IACP_STD_BETA_TABLE.pStatus[STD_BETA_AAC2] != NULL)
+ {
+ Cache_inv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_AAC2]), sizeof(Int), Cache_Type_ALLD, 0);
+ size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_AAC2]->size;
+ 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