diff --git a/pasdk/test_arm/framework/audioStreamDecodeProc.c b/pasdk/test_arm/framework/audioStreamDecodeProc.c
index b5cf0c8ecc73bc90365ff1684e8a3cc909f2c173..7681fbf35e26a6488a29a2852ab0186ae009c228 100644 (file)
#include "statusOp_common.h"
-#define CACHE_COHERENCE
+
// FL: debug
//#include "fwkSim.h"
#include "dbgCapAf.h"
pP->fxns->memStatusPrint(HEAP_INTERNAL, HEAP_INTERNAL1, HEAP_EXTERNAL, HEAP_INTERNAL1_SHM);
}
+#ifdef NON_CACHE_STATUS
+ //
+ // init Status structure Gate
+ //
+ if (statusOp_Init(GATEMP_INDEX_DEC) == STATUSOP_INIT_FAIL)
+ {
+ TRACE_TERSE1("TaskAsdp: Gate Index %d:initialization status GateMP Fail.", GATEMP_INDEX_DEC);
+ }
+ if (statusOp_Init(GATEMP_INDEX_DDP) == STATUSOP_INIT_FAIL)
+ {
+ TRACE_TERSE1("TaskAsdp: Gate Index %d:initialization status GateMP Fail.", GATEMP_INDEX_DDP);
+ }
+ if (statusOp_Init(GATEMP_INDEX_PCM) == STATUSOP_INIT_FAIL)
+ {
+ TRACE_TERSE1("TaskAsdp: Gate Index %d:initialization status GateMP Fail.", GATEMP_INDEX_PCM);
+ }
+ if (statusOp_Init(GATEMP_INDEX_THD) == STATUSOP_INIT_FAIL)
+ {
+ TRACE_TERSE1("TaskAsdp: Gate Index %d:initialization status GateMP Fail.", GATEMP_INDEX_THD);
+ }
+#endif
+
// (***) FL: revisit
// write back Status structure addresses for Beta Units initialized on Slave
Cache_wb((Ptr)(&IACP_STD_BETA_TABLE.pStatus[STD_BETA_DECODE]), sizeof(IALG_Status *), Cache_Type_ALLD, 0);
Cache_wb((Ptr)(&IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM2]), sizeof(IALG_Status *), Cache_Type_ALLD, 0);
Cache_wb((Ptr)(&IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP]), sizeof(IALG_Status *), Cache_Type_ALLD, 0);
Cache_wb((Ptr)(&IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP2]), sizeof(IALG_Status *), Cache_Type_ALLD, 0);
+ Cache_wb((Ptr)(&IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD]), sizeof(IALG_Status *), Cache_Type_ALLD, 0);
+ Cache_wb((Ptr)(&IACP_STD_BETA_TABLE.pStatus[STD_BETA_THD2]), sizeof(IALG_Status *), Cache_Type_ALLD, 0);
+ Cache_wb((Ptr)(&IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]), sizeof(IALG_Status *), Cache_Type_ALLD, 0);
Cache_wait();
// (***) FL: revisit
// write back Status structures for Beta Units initialized on Slave
- size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DECODE]->size;
+ /* size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DECODE]->size;
Cache_wbInv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DECODE]), size, Cache_Type_ALLD, 0);
size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM]->size;
Cache_wbInv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_PCM]), size, Cache_Type_ALLD, 0);
// (***) FL: revisit
// write back Dec configuration
Cache_wbInv(&pAstCfg->xDec[0], DECODEN*sizeof(PAF_AST_Decode), Cache_Type_ALLD, 0);
+ Cache_wait();*/
+ size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]->size;
+ Cache_wbInv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]), size, Cache_Type_ALLD, 0);
Cache_wait();
// Send initialization complete message to master
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();*/
+ 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();
argIdx = 0; // get decIdx
z = *(Int32 *)&pAspMsg->buf[argIdx];
}
// write back Dec configuration
- Cache_wbInv(&pAstCfg->xDec[z], sizeof(PAF_AST_Decode), Cache_Type_ALLD, 0);
+ Cache_wb(&pAstCfg->xDec[z], sizeof(PAF_AST_Decode), Cache_Type_ALLD, 0);
Cache_wait();
// (***) FL: revisit
size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP]->size;
Cache_wbInv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DDP]), size, Cache_Type_ALLD, 0);
Cache_wait();*/
+ size = IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]->size;
+ Cache_wbInv((Ptr)(IACP_STD_BETA_TABLE.pStatus[STD_BETA_DTSUHDA]), size, Cache_Type_ALLD, 0);
+ Cache_wait();
// send dec reset complete message to master
queId = MessageQ_getReplyQueue(pAspMsg);
TRACE_TERSE2("slaveCmd=%d,decIdx=%d", slaveCmd, z);
// Get input associated w/ decoder
zI = pP->inputsFromDecodes[z];
-
+
// (***) FL: revisit
// invalidate Inp configuration
Cache_inv(&pAstCfg->xInp[zI], sizeof(PAF_AST_InpBuf), Cache_Type_ALLD, 0);
wrapSize = size - chunkSize;
// invalidate input data
Cache_inv((Ptr)pIpBufConfig->pntr.pSmInt, chunkSize, Cache_Type_ALLD, 0);
- TRACE_MSG2("IBUF : pIpBufConfig->pntr.pSmInt: 0x%x and chunkSize: %d", pIpBufConfig->pntr.pSmInt, chunkSize);
// invalidate Dec configuration
+ TRACE_MSG2("IBUF : pIpBufConfig->pntr.pSmInt: 0x%x and chunkSize: %d", (IArg)pIpBufConfig->pntr.pSmInt, chunkSize);
Cache_inv(&pAstCfg->xDec[z], sizeof(PAF_AST_Decode), Cache_Type_ALLD, 0);
// status for selected decoder should be invalidated
Cache_wait();
{
// invalidate input data
Cache_inv((Ptr)pIpBufConfig->base.pSmInt, wrapSize, Cache_Type_ALLD, 0);
- TRACE_MSG2("IBUF : pIpBufConfig->base.pSmInt: 0x%x and wrapSize: %d",pIpBufConfig->base.pSmInt, wrapSize);
+ TRACE_MSG2("IBUF : pIpBufConfig->base.pSmInt: 0x%x and wrapSize: %d", (IArg)pIpBufConfig->base.pSmInt, wrapSize);
// status for selected decoder should be invalidated
Cache_wait();
}
}
// write back Dec configuration
- Cache_wbInv(&pAstCfg->xDec[z], sizeof(PAF_AST_Decode), Cache_Type_ALLD, 0);
+ Cache_wb(&pAstCfg->xDec[z], sizeof(PAF_AST_Decode), Cache_Type_ALLD, 0);
Cache_wait();
-#ifdef CACHE_COHERENCE
- statusOp_read(&(temp8), &(pAstCfg->xDec[z].decodeStatus.mode), sizeof(Int8));
+#ifdef NON_CACHE_STATUS
+ statusOp_read(&(temp8),
+ &(pAstCfg->xDec[z].decodeStatus.mode),
+ sizeof(Int8),
+ GATEMP_INDEX_DEC);
// Re-initialize audio frame if decoder is disabled or
// doesn't have a valid input
if (!temp8 || !pAstCfg->xInp[zI].hRxSio)
}
// write back Dec configuration
- Cache_wbInv(&pAstCfg->xDec[z], sizeof(PAF_AST_Decode), Cache_Type_ALLD, 0);
+ Cache_wb(&pAstCfg->xDec[z], sizeof(PAF_AST_Decode), Cache_Type_ALLD, 0);
Cache_wait();
-#ifdef CACHE_COHERENCE
- statusOp_read(&(temp8), &(pAstCfg->xDec[z].decodeStatus.mode), sizeof(Int8));
+#ifdef NON_CACHE_STATUS
+ statusOp_read(&(temp8),
+ &(pAstCfg->xDec[z].decodeStatus.mode),
+ sizeof(Int8),
+ GATEMP_INDEX_DEC);
// Re-initialize audio frame if decoder is disabled or
// doesn't have a valid input
if (!temp8 || !pAstCfg->xInp[zI].hRxSio)
case PAF_SOURCE_DDP:
pAudioFrame->data.nSamples = 1536;
break;
+ case PAF_SOURCE_THD:
+ pAudioFrame->data.nSamples = 5120; //QIN FIX ME
+ break;
+ case PAF_SOURCE_DTS:
+ case PAF_SOURCE_DTSHD:
+ case PAF_SOURCE_DTS12:
+ case PAF_SOURCE_DTS13:
+ case PAF_SOURCE_DTS14:
+ case PAF_SOURCE_DTS16:
+ case PAF_SOURCE_DTSALL:
+ pAudioFrame->data.nSamples = 8192; // TODO: Need to set correct value, max Sample output
+ break;
default:
pAudioFrame->data.nSamples = FRAMELENGTH;
break;