]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - processor-sdk/performance-audio-sr.git/blobdiff - pasdk/test_dsp/framework/aspDecOpCircBuf_master.c
Merge branch 'dev_pasdk_frank_pasdk376Beta3Release' of ssh://git@bitbucket.itg.ti...
[processor-sdk/performance-audio-sr.git] / pasdk / test_dsp / framework / aspDecOpCircBuf_master.c
index f2331ae9240009e7683777ffe1bd3f93bfeeae0c..fce627ba953a92be28281ee0aa156239831f0c50 100644 (file)
@@ -871,6 +871,12 @@ Int cbReadAf(
         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.
@@ -883,8 +889,10 @@ Int cbReadAf(
         // 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];
             }
         }
@@ -927,8 +935,10 @@ Int cbReadAf(
             // 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);
                 }
             }
@@ -937,8 +947,10 @@ Int cbReadAf(
             // 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];
@@ -1031,8 +1043,10 @@ Int cbReadAf(
             // 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));
                 }
             }
@@ -1175,8 +1189,10 @@ static Void cbReadAfMute(
     // 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;
@@ -1256,8 +1272,10 @@ static Void cbReadMuteWithLastAfInfo(
     // 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;
@@ -1266,6 +1284,12 @@ static Void cbReadMuteWithLastAfInfo(
     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