diff --git a/pasdk/test_dsp/framework/aspDecOpCircBuf_master.c b/pasdk/test_dsp/framework/aspDecOpCircBuf_master.c
index f2331ae9240009e7683777ffe1bd3f93bfeeae0c..fce627ba953a92be28281ee0aa156239831f0c50 100644 (file)
pAfRd->pafBsMetadataUpdate = pAfCb->pafBsMetadataUpdate; /* indicates whether bit-stream metadata update */
pAfRd->bsMetadata_offset = pAfCb->bsMetadata_offset; /* offset into audio frame for change in bsMetadata_type field */
+#ifdef DTS_BUILD
+ pAfRd->mode = pAfCb->mode; /* mode is used in DTSX to pass info to PARMA */
+ pAfRd->numChansUsedForMetadata = pAfCb->numChansUsedForMetadata; /* if metadata is used in DTSX */
+ pAfRd->pafBsFixedData = pAfCb->pafBsFixedData; /* if true, do not convert float to fixed in DTSX metadata transfer */
+ pAfRd->root = pAfCb->root; /* used for channel MASK in DTSX. BAD IDEA, need fix */
+#endif
// Compute stream mask for current CB AF.
// Mask indicates which channels are present in AF.
// Mask needed for cache invalidate and read of PCM samples in AF.
// Read CB AF samsiz array
for (i = 0; i < pCb->maxAFChanNum; i++)
{
+#ifndef DTS_BUILD
if ((streamMask >> i) & 0x1)
- {
+#endif
+ {//DTSX needs up to 16 channels to transfer metadata.
pAfRd->data.samsiz[i] = pAfCb->data.samsiz[i];
}
}
// Cache invalidate CB AF PCM samples
for (i = 0; i < pCb->maxAFChanNum; i++)
{
- if ((streamMask >> i) & 0x1)
- {
+#ifndef DTS_BUILD
+ if ((streamMask >> i) & 0x1)
+#endif
+ {//DTSX needs up to 16 channels to transfer metadata.
Cache_inv(&pAfCb->data.sample[i][pCb->pcmRdIdx], numSampsRd*sizeof(PAF_AudioData), Cache_Type_ALLD, 0);
}
}
// Read PCM samples from CB AF
for (i = 0; i < pCb->maxAFChanNum; i++)
{
- if ((streamMask >> i) & 0x1)
- {
+#ifndef DTS_BUILD
+ if ((streamMask >> i) & 0x1)
+#endif
+ {//DTSX needs up to 16 channels to transfer metadata.
for (j = 0; j < numSampsRd; j++)
{
pAfRd->data.sample[i][pcmWrtIdx+j] = pAfCb->data.sample[i][pCb->pcmRdIdx+j];
// Clear remaining Read AF PCM samples
for (i = 0; i < pCb->maxAFChanNum; i++)
{
- if ((streamMask >> i) & 0x1)
- {
+#ifndef DTS_BUILD
+ if ((streamMask >> i) & 0x1)
+#endif
+ {//DTSX needs up to 16 channels to transfer metadata.
memset(&pAfRd->data.sample[i][pcmWrtIdx], 0, (pCb->strFrameLen-totNumSampsRd));
}
}
// Clear PCM data
for (i = 0; i < ASP_DECOP_CB_MAX_NUM_PCM_CH; i++)
{
+#ifndef DTS_BUILD
if ((streamMask >> i) & 0x1)
- {
+#endif
+ {//DTSX needs up to 16 channels to transfer metadata.
memset(pAfRd->data.sample[i], 0, strFrameLen*sizeof(PAF_AudioData));
}
pAfRd->data.samsiz[i] = 0;
// Clear PCM data
for (i = 0; i < ASP_DECOP_CB_MAX_NUM_PCM_CH; i++)
{
+#ifndef DTS_BUILD
if ((streamMask >> i) & 0x1)
- {
+#endif
+ {//DTSX needs up to 16 channels to transfer metadata.
memset(pAfRd->data.sample[i], 0, pAfRd->sampleCount*sizeof(PAF_AudioData));
}
pAfRd->data.samsiz[i] = 0;
pAfRd->pafBsMetadataUpdate = 0; /* indicates whether bit-stream metadata update */
pAfRd->numPrivateMetadata = 0; /* number of valid private metadata (0 or 1 if metadata filtering enabled) */
pAfRd->bsMetadata_offset = 0; /* offset into audio frame for change in bsMetadata_type field */
+#ifdef DTS_BUILD
+ pAfRd->mode = 0; /* mode used by PARMA */
+ pAfRd->numChansUsedForMetadata = 15; /* constant of 15 */
+ pAfRd->pafBsFixedData = TRUE; /* if true, do not convert float to fixed in DTSX metadata transfer */
+ pAfRd->root = 0x1BF; /* used for channel MASK in DTSX. 0x1BF = 7.1 as defined in dtshd_dec_api_common.h */
+#endif
}
// Check circular buffer drain state