diff --git a/pasdk/test_dsp/framework/audioStreamOutProc.c b/pasdk/test_dsp/framework/audioStreamOutProc.c
index 3f2f22907911ae1e08f6ba16b978d9836e530f17..63789bcc5f7093e56e425e6c5ce31c933c3e8846 100644 (file)
#include "dbgCapAf.h"
+// -----------------------------------------------------------------------------
+// Debugging Trace Control, local to this file.
+//
+#include "logp.h"
+
#define TRACE_TIME(a)
+// Allow a developer to selectively enable tracing.
+#define CURRENT_TRACE_MASK 0x07
+
+#define TRACE_MASK_TERSE 0x01 // only flag errors and show init
+#define TRACE_MASK_GENERAL 0x02 // half dozen lines per frame
+#define TRACE_MASK_VERBOSE 0x04 // trace full operation
+
+#if !(CURRENT_TRACE_MASK & TRACE_MASK_TERSE)
+ #undef TRACE_TERSE0
+ #undef TRACE_TERSE1
+ #undef TRACE_TERSE2
+ #undef TRACE_TERSE3
+ #undef TRACE_TERSE4
+ #define TRACE_TERSE0(a)
+ #define TRACE_TERSE1(a,b)
+ #define TRACE_TERSE2(a,b,c)
+ #define TRACE_TERSE3(a,b,c,d)
+ #define TRACE_TERSE4(a,b,c,d,e)
+#endif
+
+#if !(CURRENT_TRACE_MASK & TRACE_MASK_GENERAL)
+ #undef TRACE_GEN0
+ #undef TRACE_GEN1
+ #undef TRACE_GEN2
+ #undef TRACE_GEN3
+ #undef TRACE_GEN4
+ #define TRACE_GEN0(a)
+ #define TRACE_GEN1(a,b)
+ #define TRACE_GEN2(a,b,c)
+ #define TRACE_GEN3(a,b,c,d)
+ #define TRACE_GEN4(a,b,c,d,e)
+#endif
+
+#if !(CURRENT_TRACE_MASK & TRACE_MASK_VERBOSE)
+ #undef TRACE_VERBOSE0
+ #undef TRACE_VERBOSE1
+ #undef TRACE_VERBOSE2
+ #undef TRACE_VERBOSE3
+ #undef TRACE_VERBOSE4
+ #define TRACE_VERBOSE0(a)
+ #define TRACE_VERBOSE1(a,b)
+ #define TRACE_VERBOSE2(a,b,c)
+ #define TRACE_VERBOSE3(a,b,c,d)
+ #define TRACE_VERBOSE4(a,b,c,d,e)
+#endif
+
+// .............................................................................
+
//
// Audio Stream Definitions
//
UInt32 gMasterCbResetCnt =0; // master circular buffer reset count
// Global debug counters */
+UInt32 gAsopTxSioReclaimCnt =0;
UInt32 gAsopInitOutProcCnt =0;
UInt32 gAsopInitSyncDecResetCnt =0;
UInt32 gAsopInitSyncDecInfo1Cnt =0;
UInt32 gAsopFinalCnt =0;
UInt32 gAsopOutSioUpdateCnt =0;
UInt32 gAsopQuitCnt =0;
-UInt32 gAsopTxSioReclaimCnt =0;
/*
* ======== taskAsopFxn ========
if (!pQ)
{
- TRACE_TERSE0("TaskAsip: No Patchs defined. Exiting.");
+ TRACE_TERSE0("TaskAsop: No Patchs defined. Exiting.");
LINNO_RPRT(TaskAsop, -1);
return;
}
//
for (z=STREAM1; z < STREAMN; z++)
{
- TRACE_VERBOSE1("TaskAsip: AS%d: running", as+z);
+ TRACE_VERBOSE1("TaskAsop: AS%d: running", as+z);
}
errno = 0; // init error indicator -- no error
} //PAF_ASOT_encodeCommand
//debug -- allow dynamic config
-Int16 gStrFrameLen=DEF_STR_FRAME_LEN; // stream frame length (PCM samples)
+//Int16 gStrFrameLen=DEF_STR_FRAME_LEN; // stream frame length (PCM samples)
// Purpose: Decoding Function for reinitializing the decoding process.
Int
for (z=DECODE1; z < DECODEN; z++)
{
- // FRAMELENGTH: pP->frameLength.
- // Formerly ASIT, now ASOT but same value (PAF_SYS_FRAMELENGTH).
- //
-
// Initialize decoder output circular buffer for stream reads
- //errno = cbInitStreamRead(pCbCtl, z, FRAMELENGTH); // use pP->frameLength from ASOT params
- errno = cbInitStreamRead(pCbCtl, z, gStrFrameLen);
+ //errno = cbInitStreamRead(pCbCtl, z, gStrFrameLen);
+ errno = cbInitStreamRead(pCbCtl, z);
if (errno)
{
TRACE_TERSE1("PAF_ASOT_decodeInit:cbInitStreamRead() error=%d", errno);
Int z; /* decode/stream counter */
PAF_AudioFrame *pAfRd;
Int cbErrno;
- PAF_AST_DecOpCircBufStats cbStats; /* circular buffer statistics */
+ //PAF_AST_DecOpCircBufStats cbStats; /* circular buffer statistics */
Int errno;
// Read decoder output circular buffer
//
pAfRd = pAstCfg->xStr[zS].pAudioFrame;
- //GPIOSetOutput(GPIO_PORT_0, GPIO_PIN_106); // debug
+ //GPIOSetOutput(GPIO_PORT_0, GPIO_PIN_106); // debug
cbErrno = cbReadAf(pCbCtl, z, pAfRd);
- //GPIOClearOutput(GPIO_PORT_0, GPIO_PIN_106);
+ //GPIOClearOutput(GPIO_PORT_0, GPIO_PIN_106); // debug
if ((cbErrno < 0) &&
(cbErrno != ASP_DECOP_CB_AF_READ_UNDERFLOW) &&
(cbErrno != ASP_DECOP_CB_PCM_READ_UNDERFLOW))
gDecOpCbRdAfUnd = 0; // reset circular buffer underflow count
}
//Log_info0("PAF_ASOT_decodeStream:cbReadAf() complete.");
- //GPIOClearOutput(GPIO_PORT_0, GPIO_PIN_106);
+ //GPIOClearOutput(GPIO_PORT_0, GPIO_PIN_106); // debug
Log_info0("PAF_ASOT_decodeStream:cbReadAf() complete.");
#if 0 // (***) FL: shows timing of CB read
Int z; /* encode/output counter */
Int errno; /* error number */
Int zX, zE, zS;
- UInt32 curTime;
+ // debug
+ //UInt32 curTime;
pAstCfg = pAsotCfg->pAstCfg; // get pointer to AST common (shared) configuration
as = pAstCfg->as;
pAstCfg->xOut[z].outBufConfig.lengthofFrame =
pAstCfg->xEnc[zE].encodeInStruct.pAudioFrame->sampleCount;
TRACE_GEN2("PAF_ASOT_decodeEncode: AS%d: processing block %d -- idle", as+zS, block);
- //GPIOClearOutput(GPIO_PORT_0, GPIO_PIN_106);
+ //GPIOClearOutput(GPIO_PORT_0, GPIO_PIN_106); // debug
errno = SIO_reclaim(pAstCfg->xOut[z].hTxSio,(Ptr *) &pAstCfg->xOut[z].pOutBuf, NULL);
- //GPIOSetOutput(GPIO_PORT_0, GPIO_PIN_106); // debug
+ //GPIOSetOutput(GPIO_PORT_0, GPIO_PIN_106); // debug
if (errno < 0)
{
SIO_idle(pAstCfg->xOut[z].hTxSio);
}
#endif
- gAsopTxSioReclaimCnt++;
-
//
// Simulate Tx SIO_reclaim() pend
//
//Semaphore_pend(semaphoreTxAudio, BIOS_WAIT_FOREVER);
- curTime = Clock_getTicks();
- //System_printf("System time in TaskAsipFxn Tx audio = %lu\n", (ULong)curTime);
+ //curTime = Clock_getTicks();
+ //System_printf("System time in TaskAsopFxn Tx audio = %lu\n", (ULong)curTime);
//Log_info1("outputEncode():Tx SIO reclaim(), system time = %u", curTime);
+
+ gAsopTxSioReclaimCnt++;
}
else
{
if (pAstCfg->xOut[z].hTxSio)
{
TRACE_GEN2("PAF_ASOT_decodeEncode: AS%d: processing block %d -- output", as+zS, block);
- //GPIOSetOutput(GPIO_PORT_0, GPIO_PIN_106); // debug
+ //GPIOSetOutput(GPIO_PORT_0, GPIO_PIN_106); // debug
errno = SIO_issue(pAstCfg->xOut[z].hTxSio,
&pAstCfg->xOut[z].outBufConfig, sizeof (pAstCfg->xOut[z].outBufConfig), 0);
- //GPIOClearOutput(GPIO_PORT_0, GPIO_PIN_106);
+ //GPIOClearOutput(GPIO_PORT_0, GPIO_PIN_106); // debug
if (errno)
{
SIO_idle(pAstCfg->xOut[z].hTxSio);
return errno;
} //PAF_ASOT_stopOutput
-UInt32 gNumRateXCalc1=0;
-UInt32 gNumRateXCalc2=0;
-UInt32 gNumDobErrRateChange=0;
-Int gCheck[100];
-float gRateI[100];
-float gRateO[100];
-float gRateX[100];
-
// -----------------------------------------------------------------------------
// ASOT Decoding Function Helper - SIO Driver Change
}
// FL: debug, allow modification of output frame length via JTAG
-Int16 gOutFrameLen=DEF_STR_FRAME_LEN; // stream frame length (PCM samples)
+Int16 gOutFrameLen=PAF_ASOT_FRAMELENGTH; // output frame length (PCM samples)
// Purpose: Init-Sync Dec Info1 state function.
// Performes Dec Info1 Init-Sync.
zMD = pAsotCfg->pAstCfg->masterDec; // get master Dec index
// Check circular buffer drain state
- //GPIOSetOutput(GPIO_PORT_0, GPIO_PIN_107);
+ //GPIOSetOutput(GPIO_PORT_0, GPIO_PIN_107); // debug
errno = cbCheckDrainState(pCbCtl, zMD, &drainedFlag);
- //GPIOClearOutput(GPIO_PORT_0, GPIO_PIN_107);
+ //GPIOClearOutput(GPIO_PORT_0, GPIO_PIN_107); // debug
if (errno < 0)
{
return errno;