]> 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
PASDK183: Updates for DTS legacy stream decode.
[processor-sdk/performance-audio-sr.git] / pasdk / test_dsp / framework / aspDecOpCircBuf_master.c
index 783768d0eb925242f4478d85333b706e9312cb8a..2382aa12cd2816a03b0bdd0b264d80c127816531 100644 (file)
@@ -354,6 +354,44 @@ Int cbInitSourceSel(
             pAfCb->bsMetadata_offset   = 0;                             /* offset into audio frame for change in bsMetadata_type field */
         }
     }
+    else if ((sourceSelect == PAF_SOURCE_DTS)   ||
+             (sourceSelect == PAF_SOURCE_DTSHD) ||
+             (sourceSelect == PAF_SOURCE_DTS12) ||
+             (sourceSelect == PAF_SOURCE_DTS13) ||
+             (sourceSelect == PAF_SOURCE_DTS14) ||
+             (sourceSelect == PAF_SOURCE_DTS16) ||
+             (sourceSelect == PAF_SOURCE_DTSALL)
+            )
+    {
+        pCb->maxNumAfCb = ASP_DECOP_CB_MAX_NUM_AF_DTS;
+        pCb->afWrtIdx = ASP_DECOP_CB_INIT_WRTIDX_DTS;
+        pCb->afRdIdx = ASP_DECOP_CB_INIT_RDIDX_DTS;
+        pCb->pcmRdIdx = decOpFrameLen - ASP_DECOP_CB_INIT_LAG_DTS*strFrameLen;
+        pCb->maxAFChanNum = ASP_DECOP_CB_MAX_NUM_PCM_CH;
+        pCb->maxAFSampCount = ASP_DECOP_CB_MAX_PCM_FRAME_LEN_48kDTS;
+
+        // initialize audio frames
+        for (n=0; n<pCb->maxNumAfCb; n++)
+        {
+            pAfCb = &pCb->afCb[n];
+            pAfCb->sampleDecode = sourceSelect;
+            PAF_PROCESS_ZERO(pAfCb->sampleProcess);
+            pAfCb->sampleRate = PAF_SAMPLERATE_48000HZ;
+            pAfCb->sampleCount = decOpFrameLen;
+            pAfCb->channelConfigurationRequest.full = 0;
+            pAfCb->channelConfigurationRequest.part.sat = PAF_CC_SAT_SURROUND4;
+            pAfCb->channelConfigurationRequest.part.sub = PAF_CC_SUB_ONE;
+            pAfCb->channelConfigurationStream.full = 0;
+            pAfCb->channelConfigurationStream.part.sat = PAF_CC_SAT_SURROUND4;
+            pAfCb->channelConfigurationStream.part.sub = PAF_CC_SUB_ONE;
+
+            // write metadata information updated by decoder
+            pAfCb->bsMetadata_type     = PAF_bsMetadata_channelData;    /* non zero if metadata is attached. */
+            pAfCb->pafBsMetadataUpdate = 0;                             /* indicates whether bit-stream metadata update */
+            pAfCb->numPrivateMetadata  = 0;                             /* number of valid private metadata (0 or 1 if metadata filtering enabled) */
+            pAfCb->bsMetadata_offset   = 0;                             /* offset into audio frame for change in bsMetadata_type field */
+        }
+    }
     else
     {
         SW_BREAKPOINT;