summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: e5aa6f8)
raw | patch | inline | side by side (parent: e5aa6f8)
author | Frank Livingston <frank-livingston@ti.com> | |
Fri, 22 Jul 2016 22:17:33 +0000 (17:17 -0500) | ||
committer | Frank Livingston <frank-livingston@ti.com> | |
Fri, 22 Jul 2016 22:17:33 +0000 (17:17 -0500) |
procsdk_audio_x_xx_xx_xx/test_arm/framework/itopo/params.c | [new file with mode: 0644] | patch | blob |
procsdk_audio_x_xx_xx_xx/test_arm/framework/itopo/patchs.c | [new file with mode: 0644] | patch | blob |
diff --git a/procsdk_audio_x_xx_xx_xx/test_arm/framework/itopo/params.c b/procsdk_audio_x_xx_xx_xx/test_arm/framework/itopo/params.c
--- /dev/null
@@ -0,0 +1,907 @@
+
+/*
+* Copyright (C) 2004-2014 Texas Instruments Incorporated - http://www.ti.com/
+* All rights reserved.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
+*
+* Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+*
+* Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the
+* distribution.
+*
+* Neither the name of Texas Instruments Incorporated nor the names of
+* its contributors may be used to endorse or promote products derived
+* from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+//
+// PAF_DEVICE_VERSION Symbol Definitions
+
+#define PAF_DEVICE_VERSION (PAF_DEVICE & 0xffff)
+
+#include <xdc/cfg/global.h>
+//#include <ti/procsdk_audio/procsdk_audio_typ.h>
+#include <procsdk_audio_typ.h>
+
+#include <stdasp.h>
+#include <pafsio_ialg.h>
+
+#include "paf_heapMgr.h"
+
+#include "asp1.h"
+#include "audioStreamProc_params.h"
+
+//
+// Framework Declarations
+//
+
+//#define PAF_AST_params_fxnsPA PAF_AST_params_fxnsPA17
+
+//
+// Audio Data Representation Definitions
+//
+// External declarations to patched IROM provide standard functionality.
+//
+
+#if 1
+// FL: extern this, making it look like shared information between ARM/DSP.
+// FL: Note could just define the same thing in separate file for ARM application (i.e. add "Slave" at end of identifier).
+/* audio frame "width" in channels */
+const SmInt PAF_AST_params_numchan[1] =
+{
+ 32,
+};
+#else
+extern const SmInt PAF_AST_params_numchan[];
+#endif
+
+///
+// Audio Stream Processing Function Table Definition
+//
+
+const PAF_AudioFunctions PAF_AST_params_audioFrameFunctions_Slave =
+{
+ &PAF_ASP_dB2ToLinear,
+ &PAF_ASP_channelMask,
+ &PAF_ASP_programFormat,
+ &PAF_ASP_sampleRateHz,
+ &PAF_ASP_delay,
+};
+
+//
+// Source Select Array Declarations -- algorithm keys & sio map
+//
+// External declarations to patched IROM provide standard functionality.
+//
+
+#if 1
+// FL: extern this, making it look like shared information between ARM/DSP.
+// FL: Note could just define the same thing in separate file for ARM application (i.e. add "Slave" at end of identifier).
+const PAF_ASP_AlgKey PAF_ASP_params_decAlgKey =
+{
+ PAF_SOURCE_N, // length
+ /* Relies on the fact that ACP_SERIES_* != 0 here */
+ 0, // PAF_SOURCE_UNKNOWN
+ 0, // PAF_SOURCE_NONE
+ 0, // PAF_SOURCE_PASS
+ PAF_ASP_ALPHACODE (STD, SNG), // PAF_SOURCE_SNG
+ 0, // PAF_SOURCE_AUTO
+ 0, // PAF_SOURCE_BITSTREAM
+ PAF_ASP_ALPHACODE (STD, DTSHD), // PAF_SOURCE_DTSALL
+ PAF_ASP_ALPHACODE (STD, PCM), // PAF_SOURCE_PCMAUTO
+ PAF_ASP_ALPHACODE (STD, PCM), // PAF_SOURCE_PCM
+ PAF_ASP_ALPHACODE (STD, PCN), // PAF_SOURCE_PC8 /* unused */
+ PAF_ASP_ALPHACODE (STD, DDP), // PAF_SOURCE_AC3
+ PAF_ASP_ALPHACODE (STD, DTSHD), // PAF_SOURCE_DTS
+ PAF_ASP_ALPHACODE (STD, AAC), // PAF_SOURCE_AAC
+ PAF_ASP_ALPHACODE (STD, MPG), // PAF_SOURCE_MPEG /* unused */
+ PAF_ASP_ALPHACODE (STD, DTSHD), // PAF_SOURCE_DTS12
+ PAF_ASP_ALPHACODE (STD, DTSHD), // PAF_SOURCE_DTS13
+ PAF_ASP_ALPHACODE (STD, DTSHD), // PAF_SOURCE_DTS14
+ PAF_ASP_ALPHACODE (STD, DTSHD), // PAF_SOURCE_DTS16
+ 0, // PAF_SOURCE_WMA9PRO
+ 0, // PAF_SOURCE_MP3
+ PAF_ASP_ALPHACODE (STD, DSD), // PAF_SOURCE_DSD1
+ PAF_ASP_ALPHACODE (STD, DSD), // PAF_SOURCE_DSD2
+ PAF_ASP_ALPHACODE (STD, DSD), // PAF_SOURCE_DSD3
+ PAF_ASP_ALPHACODE (STD, DDP), // PAF_SOURCE_DDP
+ PAF_ASP_ALPHACODE (STD, DTSHD), // PAF_SOURCE_DTSHD
+ PAF_ASP_ALPHACODE (STD, THD), // PAF_SOURCE_THD
+ PAF_ASP_ALPHACODE (STD, DXP), // PAF_SOURCE_DXP
+};
+#else
+extern const PAF_ASP_AlgKey PAF_ASP_params_decAlgKey;
+#endif
+
+#if 0
+const PAF_ASP_AlgKey PAF_ASP_params_encAlgKey =
+{
+ PAF_SOURCE_N, // length
+ /* Relies on the fact that ACP_SERIES_* != 0 here */
+ 0, // PAF_SOURCE_UNKNOWN
+ 0, // PAF_SOURCE_NONE
+ 0, // PAF_SOURCE_PASS
+ 0, // PAF_SOURCE_SNG
+ 0, // PAF_SOURCE_AUTO
+ 0, // PAF_SOURCE_BITSTREAM
+ 0, // PAF_SOURCE_DTSALL
+ 0, // PAF_SOURCE_PCMAUTO
+ PAF_ASP_ALPHACODE (STD, PCE), // PAF_SOURCE_PCM
+ 0, // PAF_SOURCE_PC8
+ 0, // PAF_SOURCE_AC3
+ 0, // PAF_SOURCE_DTS
+ 0, // PAF_SOURCE_AAC
+ 0, // PAF_SOURCE_MPEG
+ 0, // PAF_SOURCE_DTS12
+ 0, // PAF_SOURCE_DTS13
+ 0, // PAF_SOURCE_DTS14
+ 0, // PAF_SOURCE_DTS16
+ 0, // PAF_SOURCE_WMA9PRO
+ PAF_ASP_ALPHACODE (STD, MPE), // PAF_SOURCE_MP3
+ 0, // PAF_SOURCE_DSD1
+ 0, // PAF_SOURCE_DSD2
+ 0 // PAF_SOURCE_DSD3
+};
+#endif // FL: #if 0
+
+#if 0
+const PAF_ASP_SioMap PAF_ASP_params_decSioMap =
+{
+ PAF_SOURCE_N, // length
+ PAF_SOURCE_UNKNOWN, // PAF_SOURCE_UNKNOWN -> ...
+ PAF_SOURCE_NONE, // PAF_SOURCE_NONE -> ...
+ PAF_SOURCE_PASS, // PAF_SOURCE_PASS -> ...
+ PAF_SOURCE_PCM, // PAF_SOURCE_SNG -> PCM
+ PAF_SOURCE_AUTO, // PAF_SOURCE_AUTO -> ...
+ PAF_SOURCE_BITSTREAM, // PAF_SOURCE_BITSTREAM -> ...
+ PAF_SOURCE_DTSALL, // PAF_SOURCE_UNUSED1 -> ...
+ PAF_SOURCE_PCMAUTO, // PAF_SOURCE_UNUSED2 -> ...
+ PAF_SOURCE_PCM, // PAF_SOURCE_PCM -> ...
+ PAF_SOURCE_PC8, // PAF_SOURCE_PC8 -> ...
+ PAF_SOURCE_AC3, // PAF_SOURCE_AC3 -> ...
+ PAF_SOURCE_DTS, // PAF_SOURCE_DTS -> ...
+ PAF_SOURCE_AAC, // PAF_SOURCE_AAC -> ...
+ PAF_SOURCE_MPEG, // PAF_SOURCE_MPEG -> ...
+ PAF_SOURCE_DTS12, // PAF_SOURCE_DTS12 -> ...
+ PAF_SOURCE_DTS13, // PAF_SOURCE_DTS13 -> ...
+ PAF_SOURCE_DTS14, // PAF_SOURCE_DTS14 -> ...
+ PAF_SOURCE_DTS16, // PAF_SOURCE_DTS16 -> ...
+ PAF_SOURCE_WMA9PRO, // PAF_SOURCE_WMA9PRO -> ...
+ PAF_SOURCE_MP3, // PAF_SOURCE_MP3 -> ...
+ PAF_SOURCE_DSD1, // PAF_SOURCE_DSD1 -> ...
+ PAF_SOURCE_DSD2, // PAF_SOURCE_DSD2 -> ...
+ PAF_SOURCE_DSD3, // PAF_SOURCE_DSD3 -> ...
+ PAF_SOURCE_DDP, // PAF_SOURCE_DDP -> ...
+ PAF_SOURCE_DTSHD, // PAF_SOURCE_DTSHD -> ...
+ PAF_SOURCE_THD, // PAF_SOURCE_THD -> ...
+ PAF_SOURCE_DXP, // PAF_SOURCE_DXP -> ...
+};
+#endif // FL: #if 0
+
+#if 1
+// FL: This MUST be shared between ARM/DSP.
+// FL: extern this, making it look like shared information between ARM/DSP.
+//
+// Mapping Declarations -- from *coders to *puts
+//
+// External declarations to patched IROM provide standard functionality.
+//
+const SmInt PAF_AST_streamsFromDecodes_std[DECODEN_MAX] =
+{
+ 0, 1, 2,
+};
+#else
+extern const SmInt PAF_AST_streamsFromDecodes_std[DECODEN_MAX];
+#endif
+
+#if 0
+const SmInt PAF_AST_streamsFromEncodes_std[ENCODEN_MAX] =
+{
+ 0, 1, 2,
+};
+#endif
+
+const SmInt PAF_AST_inputsFromDecodes_std[DECODEN_MAX] =
+{
+ 0, 1, 2,
+};
+
+#if 0
+extern const SmInt PAF_AST_outputsFromEncodes_std[ENCODEN_MAX];
+#ifndef __TI_EABI__
+asm ("_PAF_AST_outputsFromEncodes_std .set _PAF_AST_inputsFromDecodes_std");
+#else
+asm ("PAF_AST_outputsFromEncodes_std .set PAF_AST_inputsFromDecodes_std");
+#endif
+
+#endif // FL: #if 0
+
+#if 0
+//
+// Setting of audio stream order
+//
+
+const SmInt PAF_AST_streamOrder[1] =
+{
+ 0,
+};
+#endif // FL: #if 0
+
+//
+// Audio Framework Initialization Function Table Declarations
+//
+// External declarations to patched IROM provide standard functionality.
+//
+
+extern const PAF_AST_Fxns PAF_ASDT_params_fxns;
+
+#if 0
+//
+// Audio Framework Status Initialization Declarations
+//
+// External declarations to patched IROM provide standard functionality.
+//
+
+const PAF_InpBufStatus PAF_AST_params_inpBufStatus =
+{
+ sizeof (PAF_InpBufStatus), // size
+ 0, // mode
+ 0, // sioSelect
+ 0x80, // lockOverride = none
+ 0, // unused
+ PAF_SAMPLERATE_UNKNOWN, // sampleRateOverride
+ PAF_SAMPLERATE_NONE, // sampleRateData
+ PAF_SAMPLERATE_NONE, // sampleRateMeasured
+ PAF_SAMPLERATE_UNKNOWN, // sampleRateStatus
+ PAF_IEC_AUDIOMODE_UNKNOWN, // nonaudio
+ PAF_IEC_PREEMPHASIS_UNKNOWN, // emphasisData
+ 0, // emphasisOverride
+ PAF_IEC_PREEMPHASIS_NO, // emphasisStatus
+ 0, // lock
+ 0, // scanAtHighSampleRateMode
+ 0, // zeroRun
+ 0, // unused2[1] // FL: rateTrackMode
+ 24, // precisionDefault
+ -1, // precisionDetect
+ 0, // precisionOverride
+ 0, // precisionInput
+ 100, // zeroRunTrigger
+ 100, // zeroRunRestart
+ 2048, // unknownTimeout
+ 0, // lastFrameMask
+ 0, // lastFrameFlag
+ 0, // reportDTS16AsDTSForLargeSampleRate
+ 0, 0 // reserved
+};
+#endif // FL: #if 0
+
+#if 1
+// FL: This MUST be shared between ARM/DSP.
+// FL: extern this, making it look like shared information between ARM/DSP.
+const PAF_DecodeStatus PAF_AST_params_decodeStatus_primary =
+{
+ sizeof (PAF_DecodeStatus), // size
+ 1, // mode
+ 0, // unused1
+ 0, // command.action
+ 0, // command.result
+ PAF_SAMPLERATE_UNKNOWN, // sampleRate
+ PAF_SOURCE_NONE, // sourceSelect
+ PAF_SOURCE_UNKNOWN, // sourceProgram
+ PAF_SOURCE_UNKNOWN, // sourceDecode
+ PAF_SOURCE_DUAL_STEREO, // sourceDual
+ 4, // sourceKaraoke: both
+ 0, // aspGearControl: unused
+ 0, // aspGearStatus: unused
+ 0, 0, 0, 0, // Unused
+ 0, 0, 0, 0, // Unused
+ 0, 0, 0, 0, // Unused
+ 0, 0, 0, 0, // Unused
+ 0, 0, 0, 0, // Unused
+ 0, // frameCount
+ 0x40, // karaoka: Vocal 1 Level
+ 0x40, // karaoka: Vocal 1 Pan
+ 0x40, // karaoka: Vocal 2 Level
+ 0xc0, // karaoka: Vocal 2 Pan
+ 0x40, // karaoka: Melody Level
+ 0x00, // karaoka: Melody Pan
+ 0, // decBypass
+ 0, // unused
+ 0, // frameLength: reset later
+ 1, // bufferRatio: unity
+ PAF_IEC_PREEMPHASIS_UNKNOWN, // emphasis
+ 0, // bufferDrift
+ 0, 0,
+ PAF_CC_SAT_SURROUND4, PAF_CC_SUB_ONE, PAF_CC_AUX_SURROUND4_UNKNOWN, 0, 0, 0, 0, 0,
+ // channelConfigurationRequest.full
+ PAF_CC_SAT_UNKNOWN, PAF_CC_SUB_ZERO, 0, 0, 0, 0, 0, 0,
+ // channelConfigurationProgram.full
+ PAF_CC_SAT_UNKNOWN, PAF_CC_SUB_ZERO, 0, 0, 0, 0, 0, 0,
+ // channelConfigurationDecode.full
+ PAF_CC_SAT_UNKNOWN, PAF_CC_SUB_ZERO, 0, 0, 0, 0, 0, 0,
+ // channelConfigurationDownmix.full
+ PAF_CC_SAT_UNKNOWN, PAF_CC_SUB_ZERO, 0, 0, 0, 0, 0, 0,
+ // channelConfigurationOverride.full
+ -3, // channelMap.from[0]
+ -3, // channelMap.from[1]
+ -3, // channelMap.from[2]
+ -3, // channelMap.from[3]
+ -3, // channelMap.from[4]
+ -3, // channelMap.from[5]
+ -3, // channelMap.from[6]
+ -3, // channelMap.from[7]
+ -3, // channelMap.from[8]
+ -3, // channelMap.from[9]
+ -3, // channelMap.from[10]
+ -3, // channelMap.from[11]
+ -3, // channelMap.from[12]
+ -3, // channelMap.from[13]
+ -3, // channelMap.from[14]
+ -3, // channelMap.from[15]
+ -3, // channelMap.from[16]
+ -3, // channelMap.from[17]
+ -3, // channelMap.from[18]
+ -3, // channelMap.from[19]
+ -3, // channelMap.from[20]
+ -3, // channelMap.from[21]
+ -3, // channelMap.from[22]
+ -3, // channelMap.from[23]
+ -3, // channelMap.from[24]
+ -3, // channelMap.from[25]
+ -3, // channelMap.from[26]
+ -3, // channelMap.from[27]
+ -3, // channelMap.from[28]
+ -3, // channelMap.from[29]
+ -3, // channelMap.from[30]
+ -3, // channelMap.from[31]
+ -3, // channelMap.to[0]
+ -3, // channelMap.to[1]
+ -3, // channelMap.to[2]
+ -3, // channelMap.to[3]
+ -3, // channelMap.to[4]
+ -3, // channelMap.to[5]
+ -3, // channelMap.to[6]
+ -3, // channelMap.to[7]
+ -3, // channelMap.to[8]
+ -3, // channelMap.to[9]
+ -3, // channelMap.to[10]
+ -3, // channelMap.to[11]
+ -3, // channelMap.to[12]
+ -3, // channelMap.to[13]
+ -3, // channelMap.to[14]
+ -3, // channelMap.to[15]
+ -3, // channelMap.to[16]
+ -3, // channelMap.to[17]
+ -3, // channelMap.to[18]
+ -3, // channelMap.to[19]
+ -3, // channelMap.to[20]
+ -3, // channelMap.to[21]
+ -3, // channelMap.to[22]
+ -3, // channelMap.to[23]
+ -3, // channelMap.to[24]
+ -3, // channelMap.to[25]
+ -3, // channelMap.to[26]
+ -3, // channelMap.to[27]
+ -3, // channelMap.to[28]
+ -3, // channelMap.to[29]
+ -3, // channelMap.to[30]
+ -3, // channelMap.to[31]
+ 0, // programFormat.mask
+ 0, // programFormat.form
+
+};
+#else
+extern const PAF_DecodeStatus PAF_AST_params_decodeStatus_primary;
+#endif
+
+#if 1
+// FL: extern this, making it look like shared information between ARM/DSP.
+// FL: Note could just define the same thing in separate file for ARM application (i.e. add "Slave" at end of identifier).
+/* audio frame "width" in channels */
+const PAF_DecodeStatus *const PAF_AST_params_decodeStatus[] =
+{
+ &PAF_AST_params_decodeStatus_primary,
+};
+#else
+extern const PAF_DecodeStatus *const PAF_AST_params_decodeStatus[];
+#endif // FL: #if 0
+
+#if 0
+const PAF_OutBufStatus PAF_AST_params_outBufStatus =
+{
+ sizeof (PAF_OutBufStatus), // size
+ 1, // mode
+ 0, // sioSelect
+ PAF_SAMPLERATE_UNKNOWN, // sampleRate
+ 0, // audio
+ PAF_OB_CLOCK_INTERNAL, // clock
+ PAF_OB_FLUSH_ENABLE, // flush
+ 0, // unused[2] // FL: rateTrackMode
+ 0, // PAF_OB_MARKER_ENABLED // FL: markerMode
+ 0 // FL: maxNumBufOverride
+ // FL: (*** ?) missing init. values for numBufOverride[PAF_SOURCE_N]
+};
+#endif // FL: #if 0
+
+#if 0
+const PAF_EncodeStatus PAF_AST_params_encodeStatus_primary =
+{
+ sizeof (PAF_EncodeStatus), // size
+ 1, // mode
+ 0, // unused1
+ PAF_SAMPLERATE_UNKNOWN, // sampleRate
+ 0, // channelCount
+ 0, 0, 0, 0, //Unused
+ 0, 0, 0, 0, //Unused
+ 0, 0, 0, 0, //Unused
+ 0, 0, 0, 0, //Unused
+ 0, 0, 0, 0, //Unused
+ 0, // frameLength
+ 0, // encBypass
+ PAF_SOURCE_PCM, // select
+ PAF_CC_SAT_SURROUND4, PAF_CC_SUB_ONE, PAF_CC_AUX_SURROUND4_UNKNOWN, 0,0,0,0,0,
+ // channelConfigurationRequest.full
+ PAF_CC_SAT_UNKNOWN, PAF_CC_SUB_ZERO, 0, 0,0,0,0,0,
+ // channelConfigurationStream.full
+ PAF_CC_SAT_UNKNOWN, PAF_CC_SUB_ZERO, 0, 0,0,0,0,0,
+ // channelConfigurationEncode.full
+ 0, 0, 0, 0, 0, 0, 0, 0, //Unused
+ -3, // channelMap.from[0]
+ -3, // channelMap.from[1]
+ -3, // channelMap.from[2]
+ -3, // channelMap.from[3]
+ -3, // channelMap.from[4]
+ -3, // channelMap.from[5]
+ -3, // channelMap.from[6]
+ -3, // channelMap.from[7]
+ -3, // channelMap.from[8]
+ -3, // channelMap.from[9]
+ -3, // channelMap.from[10]
+ -3, // channelMap.from[11]
+ -3, // channelMap.from[12]
+ -3, // channelMap.from[13]
+ -3, // channelMap.from[14]
+ -3, // channelMap.from[15]
+ -3, // channelMap.to[0]
+ -3, // channelMap.to[1]
+ -3, // channelMap.to[2]
+ -3, // channelMap.to[3]
+ -3, // channelMap.to[4]
+ -3, // channelMap.to[5]
+ -3, // channelMap.to[6]
+ -3, // channelMap.to[7]
+ -3, // channelMap.to[8]
+ -3, // channelMap.to[9]
+ -3, // channelMap.to[10]
+ -3, // channelMap.to[11]
+ -3, // channelMap.to[12]
+ -3, // channelMap.to[13]
+ -3, // channelMap.to[14]
+ -3, // channelMap.to[15]
+ -3, // channelMap.from[0]
+ -3, // channelMap.from[1]
+ -3, // channelMap.from[2]
+ -3, // channelMap.from[3]
+ -3, // channelMap.from[4]
+ -3, // channelMap.from[5]
+ -3, // channelMap.from[6]
+ -3, // channelMap.from[7]
+ -3, // channelMap.from[8]
+ -3, // channelMap.from[9]
+ -3, // channelMap.from[10]
+ -3, // channelMap.from[11]
+ -3, // channelMap.from[12]
+ -3, // channelMap.from[13]
+ -3, // channelMap.from[14]
+ -3, // channelMap.from[15]
+ -3, // channelMap.to[0]
+ -3, // channelMap.to[1]
+ -3, // channelMap.to[2]
+ -3, // channelMap.to[3]
+ -3, // channelMap.to[4]
+ -3, // channelMap.to[5]
+ -3, // channelMap.to[6]
+ -3, // channelMap.to[7]
+ -3, // channelMap.to[8]
+ -3, // channelMap.to[9]
+ -3, // channelMap.to[10]
+ -3, // channelMap.to[11]
+ -3, // channelMap.to[12]
+ -3, // channelMap.to[13]
+ -3, // channelMap.to[14]
+ -3, // channelMap.to[15]
+ 0, // programFormat.mask
+ 0, // programFormat.form
+ 0, // sampleProcess[0]
+};
+#endif // FL: #if 0
+
+#if 0
+const PAF_EncodeStatus *const PAF_AST_params_encodeStatus[] =
+{
+ &PAF_AST_params_encodeStatus_primary,
+};
+#endif // FL: #if 0
+
+#if 0
+const PAF_VolumeStatus PAF_AST_params_volumeStatus =
+{
+ sizeof (PAF_VolumeStatus), // size
+ 1, // mode
+ PAF_MAXNUMCHAN, // channelCount
+ 0x0f, // implementation
+ 0, // unused1
+ 50, // rampTime: 50 msec/dB (20 dB/sec)
+ 0, // unused2
+ 0, // unused3
+ -2 * 20, 0, 0, 0, // master
+ -2 * 0, 0, 0, 0, // trim
+ -2 * 0, 0, 0, 0, //
+ -2 * 0, 0, 0, 0, //
+ -2 * 0, 0, 0, 0, //
+ -2 * 0, 0, 0, 0, //
+ -2 * 0, 0, 0, 0, //
+ -2 * 0, 0, 0, 0, //
+ -2 * 0, 0, 0, 0, //
+ -2 * 0, 0, 0, 0, //
+ -2 * 0, 0, 0, 0, //
+ -2 * 0, 0, 0, 0, //
+ -2 * 0, 0, 0, 0, //
+ -2 * 0, 0, 0, 0, //
+ -2 * 0, 0, 0, 0, //
+ -2 * 0, 0, 0, 0, //
+ -2 * 0, 0, 0, 0, //
+ -2 * 0, 0, 0, 0, // trim - upper16
+ -2 * 0, 0, 0, 0, //
+ -2 * 0, 0, 0, 0, //
+ -2 * 0, 0, 0, 0, //
+ -2 * 0, 0, 0, 0, //
+ -2 * 0, 0, 0, 0, //
+ -2 * 0, 0, 0, 0, //
+ -2 * 0, 0, 0, 0, //
+ -2 * 0, 0, 0, 0, //
+ -2 * 0, 0, 0, 0, //
+ -2 * 0, 0, 0, 0, //
+ -2 * 0, 0, 0, 0, //
+ -2 * 0, 0, 0, 0, //
+ -2 * 0, 0, 0, 0, //
+ -2 * 0, 0, 0, 0, //
+ -2 * 0, 0, 0, 0, //
+
+};
+#endif // FL: #if 0
+
+//
+// Common Space Parameter Declarations and Definitions
+//
+// Local definitions in RAM provide non-standard functionality.
+// The NULL pointer provides standard functionality.
+//
+
+/* baseline definition - NULL equivalent */
+/* May be used for overrides of IALG_MemSpace */
+
+static const IALG_MemSpace params_memspace_PAi_Slave[] = {
+ PAF_IALG_NONE, // Scratch
+ PAF_IALG_NONE, // Persistant
+ PAF_IALG_NONE, // Write once
+ PAF_IALG_NONE, // Common 1
+ PAF_IALG_NONE, // Common 2
+ PAF_IALG_NONE, // Common 3
+ PAF_IALG_NONE, // Common 4
+ PAF_IALG_NONE, // Common 5
+ PAF_IALG_NONE, // Common 6
+ PAF_IALG_NONE, // Common 7
+ IALG_EXTERNAL, // Common 8
+ PAF_IALG_NONE, // Common 9
+ PAF_IALG_NONE, // Common 10
+ PAF_IALG_NONE, // Common 11
+ PAF_IALG_NONE, // Common 12
+ PAF_IALG_NONE, // Common 13
+ PAF_IALG_NONE, // Common 14
+ PAF_IALG_NONE, // Common 15
+};
+
+//
+// Heap Declarations
+//
+
+//#include <pafhjt.h>
+
+//extern int IRAM;
+//extern int SDRAM;
+//extern int L3RAM;
+
+#if 0
+// .............................................................................
+// DIB memory requirements
+
+// primary input
+const IALG_MemRec inpMemTabPrimary[] =
+{
+ // SDRAM circular buffer
+ // 2 buffers * 256 samples/buffer * 8 words/sample * 3 bytes/word
+ {
+ 3 * 60 * 1024, // size
+ //180 * 1024, // size
+ //6 * 60 * 1024, // size
+ 128, // alignment
+ IALG_SARAM1, //IALG_EXTERNAL, // space
+ IALG_PERSIST, // attrs
+ NULL, // base
+ },
+
+ // IRAM scratch memory for autodetection and stereo PCM input
+ // High watermark needs are set by the latter:
+ // double buffer stereo 32bit PCM input 512 max frame size
+ // 1 buffers * 512 samples/buffer * 2 words/sample * 4 bytes/word
+ {
+ 8 * 1024, // size
+ 128, // alignment
+ IALG_SARAM, // space
+ IALG_SCRATCH, // attrs
+ NULL, // base
+ }
+};
+
+const PAF_SIO_IALG_Params inpSioAlgParamsPrimary =
+{
+ 2,
+ inpMemTabPrimary
+};
+
+const PAF_ASP_LinkInit inpLinkInitPrimary[] =
+{
+ PAF_ASP_LINKINITPARAMS (STD, IB, TIH, &inpSioAlgParamsPrimary),
+ PAF_ASP_LINKNONE
+};
+
+const PAF_ASP_LinkInit *const inpLinkInit[] =
+{
+ inpLinkInitPrimary
+};
+
+// .............................................................................
+// DOB memory requirements
+
+// primary output
+const IALG_MemRec outMemTabPrimary[] =
+{
+ // SDRAM buffer
+ // 4 buffers * 256 samples * 32 ch * 4 bytes
+ {
+ 4 * 256 * 32 * 4, // size: note:
+ //6 * 256 * 32 * 4, // size: note:
+ //16 * 256 * 32 * 4, // size: note:
+ 128, // alignment
+ IALG_EXTERNAL, // space
+ IALG_PERSIST, // attrs
+ NULL, // base
+ }
+};
+
+
+const PAF_SIO_IALG_Params outSioAlgParamsPrimary =
+{
+ 1,
+ outMemTabPrimary
+};
+
+const PAF_ASP_LinkInit outLinkInitPrimary[] =
+{
+ PAF_ASP_LINKINITPARAMS (STD, OB, TIH, &outSioAlgParamsPrimary),
+ PAF_ASP_LINKNONE
+};
+
+const PAF_ASP_LinkInit * const outLinkInit[] =
+{
+ outLinkInitPrimary,
+};
+
+
+// .............................................................................
+// sourceProgram mapped to DOB num of buffers
+const PAF_ASP_outNumBufMap outPrimaryNumBufMap =
+{
+ 4, // maxNumBuf
+// 6, // maxNumBuf
+// 16, // maxNumBuf
+ PAF_SOURCE_N, // length
+ 0, // PAF_SOURCE_UNKNOWN
+ 0, // PAF_SOURCE_NONE
+ 2, // PAF_SOURCE_PASS
+ 2, // PAF_SOURCE_SNG
+ 0, // PAF_SOURCE_AUTO
+ 0, // PAF_SOURCE_BITSTREAM
+ 0, // PAF_SOURCE_DTSALL
+ 0, // PAF_SOURCE_PCMAUTO
+ 2, // PAF_SOURCE_PCM
+ 0, // PAF_SOURCE_PC8
+ 2, // PAF_SOURCE_AC3
+ 2, // PAF_SOURCE_DTS
+ 2, // PAF_SOURCE_AAC
+ 0, // PAF_SOURCE_MPEG
+ 2, // PAF_SOURCE_DTS12
+ 2, // PAF_SOURCE_DTS13
+ 2, // PAF_SOURCE_DTS14
+ 2, // PAF_SOURCE_DTS16
+ 0, // PAF_SOURCE_WMA9PRO
+ 0, // PAF_SOURCE_MP3
+ 2, // PAF_SOURCE_DSD1,
+ 2, // PAF_SOURCE_DSD2,
+ 2, // PAF_SOURCE_DSD3,
+ 4, // PAF_SOURCE_DDP
+ 4, // PAF_SOURCE_DTSHD
+ 4, // PAF_SOURCE_THD
+// 6, // PAF_SOURCE_THD
+// 16, // PAF_SOURCE_THD
+ 4, // PAF_SOURCE_DXP
+
+};
+
+const PAF_ASP_outNumBufMap *const outNumBufMap[] =
+{
+ &outPrimaryNumBufMap,
+};
+#endif // FL: #if 0
+
+// .............................................................................
+const PAF_MetadataBufStatus PAF_AST_params_MetadataBufStatus_Slave[] =
+{
+ 4 * 1024, // bufSize
+ PAF_MAX_NUM_PRIVATE_MD, // NumBuf
+ 128, // alignment
+ &gPafHeapIdExt //&SDRAM // &IRAM, // pSpace
+};
+
+#if 0 // FL: maybe needed on ARM if there's an audio frame buffer defined for decode (and possible stream)
+// .............................................................................
+//
+// This structure defines the memory allocation of audio frame buffers (channel buffers). Users can customize this structure based
+// on their requirement. IALG_SARAM specifies the audio frame buffer is allocated in IRAM and IALG_EXTERNAL
+// specifies the audio frame buffer is allocated in SDRAM. By allocating few channel buffers in SDRAM, users can save internal memory
+// but trading performance
+// This structure defined for PAF_MAXNUMCHAN number of channels. But channel buffers will be allocated for "PAF_AST_params_numchan"
+// number of channels only.
+//
+
+const PAF_AudioFrameBufStatus PAF_AST_params_AudioFrameBufStatus[PAF_MAXNUMCHAN] =
+{
+ IALG_SARAM, // 0
+ IALG_SARAM,
+ IALG_SARAM,
+ IALG_SARAM,
+ IALG_SARAM,
+ IALG_SARAM,
+ IALG_SARAM,
+ IALG_SARAM,
+ IALG_SARAM,
+ IALG_SARAM,
+ IALG_SARAM,
+ IALG_SARAM,
+ IALG_SARAM,
+ IALG_SARAM,
+ IALG_SARAM,
+ IALG_SARAM,
+ IALG_SARAM, // 16
+ IALG_SARAM,
+ IALG_SARAM,
+ IALG_SARAM,
+ IALG_SARAM,
+ IALG_SARAM,
+ IALG_SARAM,
+ IALG_SARAM,
+ IALG_SARAM,
+ IALG_SARAM,
+ IALG_SARAM,
+ IALG_SARAM,
+ IALG_SARAM,
+ IALG_SARAM,
+ IALG_SARAM,
+ IALG_SARAM, // 31
+ //IALG_EXTERNAL, // 16
+ //IALG_EXTERNAL,
+ //IALG_EXTERNAL,
+ //IALG_EXTERNAL,
+ //IALG_EXTERNAL,
+ //IALG_EXTERNAL,
+ //IALG_EXTERNAL,
+ //IALG_EXTERNAL,
+ //IALG_EXTERNAL,
+ //IALG_EXTERNAL,
+ //IALG_EXTERNAL,
+ //IALG_EXTERNAL,
+ //IALG_EXTERNAL,
+ //IALG_EXTERNAL,
+ //IALG_EXTERNAL,
+ //IALG_EXTERNAL // 31
+};
+#endif // FL: #if 0
+
+// .............................................................................
+//
+// Audio Stream Parameter Definitions
+//
+// Global definition in RAM provides standard & non-standard functionality.
+//
+
+const PAF_AST_Params asdp_params_PAi =
+{
+ &PAF_ASDT_params_fxns, // fxns
+ { // zone
+ 0, // master
+ 1, // inputs
+ 0, // input1
+ 1, // inputN
+ 1, // decodes
+ 0, // decode1
+ 1, // decodeN
+ 1, // streams
+ 0, // stream1 /* unused */
+ 1, // streamN /* unused */
+ 1, // encodes
+ 0, // encode1
+ 1, // encodeN
+ 1, // outputs
+ 0, // output1
+ 1, // outputN
+ },
+ PAF_AST_inputsFromDecodes_std,
+ NULL, //PAF_AST_outputsFromEncodes_std,
+ { // heap
+ &gPafHeapIdInt1, //&IRAM // pIntern
+ &gPafHeapIdExt, //&SDRAM, // pExtern
+ NULL, //&IRAM, // pInpbuf
+ NULL, //&IRAM, // pOutbuf
+ &gPafHeapIdInt1, //&IRAM, // pFrmbuf
+ &gPafHeapIdInt1, //&L3RAM, // pIntern1
+ 1, // clear
+ },
+ { // common
+ params_memspace_PAi_Slave, // space
+ },
+ NULL, // z_rx_bufsiz
+ NULL, // z_tx_bufsiz
+ PAF_AST_params_numchan, // z_numchan
+ 256, // framelength
+ &PAF_AST_params_audioFrameFunctions_Slave, // pAudioFrameFunctions
+ &PAF_ASP_chainFxns, // pChainFxns
+ NULL, //&PAF_AST_params_inpBufStatus, // pInpBufStatus
+ PAF_AST_params_decodeStatus, // z_pDecodeStatus
+ NULL, //&PAF_AST_params_outBufStatus, // pOutBufStatus
+ NULL, //PAF_AST_params_encodeStatus, // z_pEncodeStatus
+ NULL, //&PAF_AST_params_volumeStatus, // pVolumeStatus
+ &PAF_ASP_params_decAlgKey, // pDecAlgKey
+ NULL, //&PAF_ASP_params_encAlgKey, // pEncAlgKey
+ NULL, //&PAF_ASP_params_decSioMap, // pDecSioMap
+ PAF_AST_streamsFromDecodes_std, // streamsFromDecodes
+ NULL, //PAF_AST_streamsFromEncodes_std, // streamsFromEncodes
+ 1536, // maxFramelength
+ NULL, //PAF_AST_streamOrder, // streamOrder
+ NULL, //inpLinkInit, // i_inpLinkInit
+ NULL, //outLinkInit, // i_outLinkInit
+ NULL, //outNumBufMap, // outNumBufMap // FL: poutNumBufMap
+ PAF_AST_params_MetadataBufStatus_Slave, //metadata buffer status
+ NULL, //PAF_AST_params_AudioFrameBufStatus //Audio frame buffer status
+};
+
+// EOF
diff --git a/procsdk_audio_x_xx_xx_xx/test_arm/framework/itopo/patchs.c b/procsdk_audio_x_xx_xx_xx/test_arm/framework/itopo/patchs.c
--- /dev/null
@@ -0,0 +1,171 @@
+
+/*
+* Copyright (C) 2004-2014 Texas Instruments Incorporated - http://www.ti.com/
+* All rights reserved.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions
+* are met:
+*
+* Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+*
+* Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the
+* distribution.
+*
+* Neither the name of Texas Instruments Incorporated nor the names of
+* its contributors may be used to endorse or promote products derived
+* from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+
+//
+//
+//
+//
+// Framework Declarations
+//
+
+#include <audioStreamProc_patchs.h>
+#include <asp0.h>
+#include <asp1.h>
+
+//
+// Decoder Definitions
+//
+
+//#include <dwr_inp.h>
+#include <pcm.h>
+#include <pcm_mds.h>
+
+#define _DDPAT_
+//#define _SRC4_
+
+#ifdef _DDPAT_
+#include <ddpat.h>
+#include <ddpat_tid.h>
+#endif
+
+#ifdef _SRC4_
+#include <src.h>
+#include <src_tih.h>
+#define SUC_TIH_init SRC_TIH_init
+#define SUC_TIH_ISUC SRC_TIH_ISRC
+#endif
+
+const PAF_ASP_LinkInit decLinkInitI13[] =
+{
+ //PAF_ASP_LINKINITPARAMS (STD, DWRPCM, TII, &IDWRPCM_PARAMS),
+ PAF_ASP_LINKINIT(STD, PCM, MDS),
+
+#ifdef _DDPAT_
+ PAF_ASP_LINKINIT(STD, DDP, TID),
+#endif
+
+ PAF_ASP_LINKNONE,
+};
+
+const PAF_ASP_LinkInit *const patchs_decLinkInit[] =
+{
+ decLinkInitI13,
+};
+
+#if 0 // FL: master
+//
+// Audio Stream Processing Declarations & Definitions
+//
+
+//#include <ae.h>
+//#include <ae_mds.h>
+
+#include <aspstd.h>
+
+const PAF_ASP_LinkInit aspLinkInitAllI13[] =
+{
+#ifdef _SRC4_
+// PAF_ASP_LINKINIT(STD, SRC, MDS),
+ PAF_ASP_LINKINITPARAMS (STD, SRC, TIH, &ISRC_PARAMS_DS_8CH_HBW),
+#endif
+
+ PAF_ASP_LINKNONE,
+};
+
+const PAF_ASP_LinkInit aspLinkInitNilI13[] =
+{
+ PAF_ASP_LINKNONE,
+};
+
+const PAF_ASP_LinkInit aspLinkInitStdI13[] =
+{
+ PAF_ASP_LINKNONE,
+};
+
+const PAF_ASP_LinkInit aspLinkInitCusI13[] =
+{
+ PAF_ASP_LINKNONE,
+};
+
+
+const PAF_ASP_LinkInit *const patchs_aspLinkInit[1][GEARS] =
+{
+ {
+ aspLinkInitAllI13,
+ aspLinkInitNilI13,
+ aspLinkInitStdI13,
+ aspLinkInitCusI13,
+ },
+};
+
+//
+// Encoder Definitions
+//
+
+#include <pce.h>
+#include <pce_tii.h>
+extern const IPCE_Params IPCE_PARAMS_NODELAY;
+
+const PAF_ASP_LinkInit encLinkInitI13[] =
+{
+ PAF_ASP_LINKINITPARAMS (STD, PCE, TII, &IPCE_PARAMS_NODELAY),
+ PAF_ASP_LINKNONE,
+};
+
+
+const PAF_ASP_LinkInit *const patchs_encLinkInit[] =
+{
+ encLinkInitI13,
+};
+#endif
+
+//
+// Audio Stream Patch Definition
+//
+
+// FL: master
+//extern const PAF_SIO_ParamsN patchs_devinp[];
+//extern const PAF_SIO_ParamsN patchs_devout[];
+
+const PAF_AST_Patchs asdp_patchs_PAi =
+{
+ NULL, //patchs_devinp,
+ NULL, //patchs_devout,
+ patchs_decLinkInit,
+ NULL, //patchs_aspLinkInit,
+ NULL, //patchs_encLinkInit,
+};
+
+// EOF