1 /*
2 * Copyright {C} 2016 Texas Instruments Incorporated - http://www.ti.com/
3 * ALL RIGHTS RESERVED
4 *
5 *
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
8 * are met:
9 *
10 * Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 *
13 * Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the
16 * distribution.
17 *
18 * Neither the name of Texas Instruments Incorporated nor the names of
19 * its contributors may be used to endorse or promote products derived
20 * from this software without specific prior written permission.
21 *
22 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
23 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
24 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
25 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
26 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
27 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
28 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
29 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
30 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
32 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33 *
34 */
36 //
37 // DDPAT alpha codes
38 //
39 // Revision: 1.1
40 // Initial version
41 //
43 #ifndef _DDP_A
44 #define _DDP_A
45 #include <stdbeta.h>
47 #define readDDPMode 0xc200+STD_BETA_DDP,0x0400
48 #define readDDPOperationalMode 0xc200+STD_BETA_DDP,0x0600
49 #define readDDPDynrngScaleHiQ6 0xc200+STD_BETA_DDP,0x0b00
50 #define readDDPDynrngScaleLoQ6 0xc200+STD_BETA_DDP,0x0c00
51 #define readDDPSpeakerRemapping 0xc200+STD_BETA_DDP,0x0e00
54 #define writeDDPOperationalModeCustom0 0xca00+STD_BETA_DDP,0x0600
55 #define writeDDPOperationalModeCustom1 0xca00+STD_BETA_DDP,0x0601
56 #define writeDDPOperationalModeLine 0xca00+STD_BETA_DDP,0x0602
57 #define writeDDPOperationalModeRF 0xca00+STD_BETA_DDP,0x0603
58 #define writeDDPOperationalModePortableL8 0xca00+STD_BETA_DDP,0x0604
59 #define writeDDPOperationalModePortableL11 0xca00+STD_BETA_DDP,0x0605
60 #define writeDDPOperationalModePortableL14 0xca00+STD_BETA_DDP,0x0606
61 #define writeDDPOperationalModePortableTest 0xca00+STD_BETA_DDP,0x0607
63 #define readDDPLfe 0xc200+STD_BETA_DDP,0x0700
64 #define writeDDPLfeDwnmixInclude 0xca00+STD_BETA_DDP,0x0700
65 // to be used with stereo downmix and does lfe downmix to stereo
66 #define writeDDPLfeOnDefault 0xca00+STD_BETA_DDP,0x0701
67 // this should be the default - the decoder must always generate LFE and let the system decide what to do with it.
68 #define writeDDPLfe2 0xca00+STD_BETA_DDP,0x0702
69 // this generates the second LFE also - currently dont know how to connect speakers for second LFE
71 #define writeDDPDynrngScaleHiQ6N(NN) 0xca00+STD_BETA_DDP,0x0b00+((NN)&0xff)
72 #define writeDDPDynrngScaleLoQ6N(NN) 0xca00+STD_BETA_DDP,0x0c00+((NN)&0xff)
73 /* in support of inverse compilation only */
74 #define writeDDPDynrngScaleHiQ6N__100__ writeDDPDynrngScaleHiQ6N(100)
75 #define writeDDPDynrngScaleLoQ6N__100__ writeDDPDynrngScaleLoQ6N(100)
77 // currently only mapping to PA Surround4 i.e. Lb,Rb is supported
78 #define writeDDPSpeakerRemappingOff 0xca00+STD_BETA_DDP,0x0e00
79 #define writeDDPSpeakerRemappingOn 0xca00+STD_BETA_DDP,0x0e01
81 #define readDDPRemappingScaleFactor 0xc300+STD_BETA_DDP,0x0010
83 /* Ensure that DECChannelConfigurationRequest.part.sat is set to PAF_CC_SAT_UNKNOWN before using these options */
85 #define readDDPExtDownmixMode 0xc200+STD_BETA_DDP,0x0800
86 #define writeDDPExtDownmixRaw 0xca00+STD_BETA_DDP,0x08ff
87 #define writeDDPExtDownmixMode1 0xca00+STD_BETA_DDP,0x0801
88 /* 1 - C */
89 #define writeDDPExtDownmixMode2 0xca00+STD_BETA_DDP,0x0802
90 /* 2 - L, R */
91 #define writeDDPExtDownmixMode3 0xca00+STD_BETA_DDP,0x0803
92 /* 3 - L, C, R */
93 #define writeDDPExtDownmixMode4 0xca00+STD_BETA_DDP,0x0804
94 /* 4 - L, R, Cs */
95 #define writeDDPExtDownmixMode5 0xca00+STD_BETA_DDP,0x0805
96 /* 5 - L, C, R, Cs */
97 #define writeDDPExtDownmixMode6 0xca00+STD_BETA_DDP,0x0806
98 /* 6 - L, R, Ls, Rs */
99 #define writeDDPExtDownmixMode7 0xca00+STD_BETA_DDP,0x0807
100 /* 7 - L, C, R, Ls, Rs */
101 //#define writeDDPExtDownmixMode8 0xca00+STD_BETA_DDP,0x0808
102 /* 8 - L, C, R, Cvh [not supported]*/
103 #define writeDDPExtDownmixMode9 0xca00+STD_BETA_DDP,0x0809
104 /* 9 - L, R, l, r, Ts */
105 #define writeDDPExtDownmixMode10 0xca00+STD_BETA_DDP,0x080a
106 /* 10 - L, C, R, l, r, Ts */
107 #define writeDDPExtDownmixMode11 0xca00+STD_BETA_DDP,0x080b
108 /* 11 - L, C, R, l, r, Cvh */
109 #define writeDDPExtDownmixMode12 0xca00+STD_BETA_DDP,0x080c
110 /* 12 - L, C, R, Lc, Rc */
111 #define writeDDPExtDownmixMode13 0xca00+STD_BETA_DDP,0x080d
112 /* 13 - L, R, l, r, Lw, Rw */
113 #define writeDDPExtDownmixMode14 0xca00+STD_BETA_DDP,0x080e
114 /* 14 - L, R, l, r, Lvh, Rvh */
115 #define writeDDPExtDownmixMode15 0xca00+STD_BETA_DDP,0x080f
116 /* 15 - L, R, l, r, Lsd, Rsd */
117 #define writeDDPExtDownmixMode16 0xca00+STD_BETA_DDP,0x0810
118 /* 16 - L, R, l, r, Lrs, Rrs */
119 #define writeDDPExtDownmixMode17 0xca00+STD_BETA_DDP,0x0811
120 /* 17 - L, C, R, l, r, Lc, Rc */
121 #define writeDDPExtDownmixMode18 0xca00+STD_BETA_DDP,0x0812
122 /* 18 - L, C, R, l, r, Lw, Rw */
123 #define writeDDPExtDownmixMode19 0xca00+STD_BETA_DDP,0x0813
124 /* 19 - L, C, R, l, r, Lvh, Rvh */
125 #define writeDDPExtDownmixMode20 0xca00+STD_BETA_DDP,0x0814
126 /* 20 - L, C, R, l, r, Lsd, Rsd */
127 #define writeDDPExtDownmixMode21 0xca00+STD_BETA_DDP,0x0815
128 /* 21 - L, C, R, l, r, Lrs, Rrs */
129 #define writeDDPExtDownmixMode22 0xca00+STD_BETA_DDP,0x0816
130 /* 22 - L, C, R, l, r, Ts, Cvh */
131 #define writeDDPExtDownmixMode28 0xca00+STD_BETA_DDP,0x081c
132 /* 28 - L, C, R, Ls, Rs, Lts, Rts */
135 #define readDDPStereoMode 0xc200+STD_BETA_DDP,0x0900
136 #define writeDDPStereoModeAuto 0xca00+STD_BETA_DDP,0x0900
137 #define writeDDPStereoModeLtRt 0xca00+STD_BETA_DDP,0x0901
138 #define writeDDPStereoModeLoRo 0xca00+STD_BETA_DDP,0x0902
139 //#define writeDDPStereoModeAutoLoRo 0xca00+STD_BETA_DDP,0x0903
141 #define readDDPChanInfo 0xc300+STD_BETA_DDP,0x0012
143 #define readDDPDlgNorm 0xc200+STD_BETA_DDP,0x0f00
144 #define writeDDPDlgNormAuto 0xca00+STD_BETA_DDP,0x0f00
145 #define writeDDPDlgNormEnable 0xca00+STD_BETA_DDP,0x0f01
146 #define writeDDPDlgNormDisable 0xca00+STD_BETA_DDP,0x0f02
148 #define readDDPRFModeGain 0xc200+STD_BETA_DDP,0x0500
149 #define writeDDPRFModeGainAuto 0xca00+STD_BETA_DDP,0x0500
150 #define writeDDPRFModeGainEnable 0xca00+STD_BETA_DDP,0x0501
151 #define writeDDPRFModeGainDisable 0xca00+STD_BETA_DDP,0x0502
153 #define readDDPPCMWordSize 0xc200+STD_BETA_DDP,0x1500
154 #define writeDDPPCMWordSize16bitInt 0xca00+STD_BETA_DDP,0x1500
155 #define writeDDPPCMWordSize24bitInt 0xca00+STD_BETA_DDP,0x1501
156 #define writeDDPPCMWordSize32bitInt 0xca00+STD_BETA_DDP,0x1502
157 #define writeDDPPCMWordSize32bitFloat 0xca00+STD_BETA_DDP,0x1503
159 #define readDDPAssociatedAudioSubstreamSelect 0xc200+STD_BETA_DDP,0x1600
160 #define writeDDPAssociatedAudioSubstreamSelect1 0xca00+STD_BETA_DDP,0x1601
161 #define writeDDPAssociatedAudioSubstreamSelect2 0xca00+STD_BETA_DDP,0x1602
162 #define writeDDPAssociatedAudioSubstreamSelect3 0xca00+STD_BETA_DDP,0x1603
164 #define readDDPPCMOutErrorConcealment 0xc200+STD_BETA_DDP,0x1700
165 #define writeDDPPCMOutErrorConcealmentDisable 0xca00+STD_BETA_DDP,0x1700
166 #define writeDDPPCMOutErrorConcealmentRepeat 0xca00+STD_BETA_DDP,0x1701
167 #define writeDDPPCMOutErrorConcealmentMute 0xca00+STD_BETA_DDP,0x1702
168 #define writeDDPPCMOutErrorConcealmentRepeatMute 0xca00+STD_BETA_DDP,0x1703
170 #define readDDPMetadataOut 0xc200+STD_BETA_DDP,0x1800
171 #define writeDDPMetadataOut(X) 0xca00+STD_BETA_DDP,0x1800+((X)&0xff)
172 #define writeDDPMetadataOutNo 0xca00+STD_BETA_DDP,0x1800
173 #define writeDDPMetadataOutTimeSlice 0xca00+STD_BETA_DDP,0x1801
174 #define writeDDPMetadataOutBitstreamInfo 0xca00+STD_BETA_DDP,0x1802
175 #define writeDDPMetadataOutAudioBlock 0xca00+STD_BETA_DDP,0x1804
176 #define writeDDPMetadataOutAuxData 0xca00+STD_BETA_DDP,0x1808
177 #define writeDDPMetadataOutMixing 0xca00+STD_BETA_DDP,0x1810
178 #define writeDDPMetadataOutRencoding 0xca00+STD_BETA_DDP,0x1820
179 #define writeDDPMetadataOutChannelCfg 0xca00+STD_BETA_DDP,0x1840
180 #define writeDDPMetadataOutIntelligentLoudness 0xca00+STD_BETA_DDP,0x1880
182 #define readDDPDecorrelationMode 0xc200+STD_BETA_DDP,0x1900
183 #define writeDDPDecorrelationModeNo 0xca00+STD_BETA_DDP,0x1900
184 #define writeDDPDecorrelationModeGuided 0xca00+STD_BETA_DDP,0x1901
185 #define writeDDPDecorrelationModeNonguided 0xca00+STD_BETA_DDP,0x1902
187 #define readDDPMDCTBandLimitingMode 0xc200+STD_BETA_DDP,0x1a00
188 #define writeDDPMDCTBandLimitingModeDisable 0xca00+STD_BETA_DDP,0x1a00
189 #define writeDDPMDCTBandLimitingModeEnable 0xca00+STD_BETA_DDP,0x1a01
191 #define readDDPDLBBufferDataType 0xc200+STD_BETA_DDP,0x1b00
192 #define writeDDPDLBBufferDataTypeShort16 0xca00+STD_BETA_DDP,0x1b00
193 #define writeDDPDLBBufferDataTypeIntLeft 0xca00+STD_BETA_DDP,0x1b01
194 #define writeDDPDLBBufferDataTypeLong32 0xca00+STD_BETA_DDP,0x1b02
195 #define writeDDPDLBBufferDataTypeFloat 0xca00+STD_BETA_DDP,0x1b03
197 #define readDDPDLBBufferInterleaveFormat 0xc200+STD_BETA_DDP,0x1c00
198 #define writeDDPDLBBufferInterleaveFormatNonInterleave 0xca00+STD_BETA_DDP,0x1c00
199 #define writeDDPDLBBufferInterleaveFormatInterleave 0xca00+STD_BETA_DDP,0x1c01
201 #define readDDPJOCDecodeMode 0xc200+STD_BETA_DDP,0x1d00
202 #define writeDDPJOCDecodeModeDisable 0xca00+STD_BETA_DDP,0x1d00
203 #define writeDDPJOCDecodeModePCM 0xca00+STD_BETA_DDP,0x1d01
205 #define readDDPBitStreamInformation 0xc600+STD_BETA_DDP2,0x0426
206 #define readDDPBitStreamInformation0 0xc300+STD_BETA_DDP2,0x0004
207 #define readDDPBitStreamInformationAcmodBsid 0xc300+STD_BETA_DDP2,0x0006
208 #define readDDPBitStreamInformation1 readDDPBitStreamInformationAcmodBsid
209 #define readDDPBitStreamInformationBsmodCmixLev 0xc300+STD_BETA_DDP2,0x0008
210 #define readDDPBitStreamInformation2 readDDPBitStreamInformationBsmodCmixLev
211 #define readDDPBitStreamInformationComprCopyrightB 0xc300+STD_BETA_DDP2,0x000a
212 #define readDDPBitStreamInformation3 readDDPBitStreamInformationComprCopyrightB
213 #define readDDPBitStreamInformationDHeadPhonmodDialNorm 0xc300+STD_BETA_DDP2,0x000c
214 #define readDDPBitStreamInformation4 readDDPBitStreamInformationDHeadPhonmodDialNorm
215 #define readDDPBitStreamInformationDmixModDSurExMod 0xc300+STD_BETA_DDP2,0x000e
216 #define readDDPBitStreamInformation5 readDDPBitStreamInformationDmixModDSurExMod
217 #define readDDPBitStreamInformationDSurModFrmSizCod 0xc300+STD_BETA_DDP2,0x0010
218 #define readDDPBitStreamInformation6 readDDPBitStreamInformationDSurModFrmSizCod
219 #define readDDPBitStreamInformationFrmSize 0xc300+STD_BETA_DDP2,0x0012
220 #define readDDPBitStreamInformation7 readDDPBitStreamInformationFrmSize
221 #define readDDPBitStreamInformationLfeOnLfeMixLevCod 0xc300+STD_BETA_DDP2,0x0014
222 #define readDDPBitStreamInformation8 readDDPBitStreamInformationLfeOnLfeMixLevCod
223 #define readDDPBitStreamInformationLoRoCMixLevLoRoSurMixLev 0xc300+STD_BETA_DDP2,0x0016
224 #define readDDPBitStreamInformation9 readDDPBitStreamInformationLoRoCMixLevLoRoSurMixLev
225 #define readDDPBitStreamInformationLtRtCmixLevLtRtSurMixLev 0xc300+STD_BETA_DDP2,0x0018
226 #define readDDPBitStreamInformation10 readDDPBitStreamInformationLtRtCmixLevLtRtSurMixLev
227 #define readDDPBitStreamInformationMixLevOrigBs 0xc300+STD_BETA_DDP2,0x001a
228 #define readDDPBitStreamInformation11 readDDPBitStreamInformationMixLevOrigBs
229 #define readDDPBitStreamInformationRoomTypSourceFsCod 0xc300+STD_BETA_DDP2,0x001c
230 #define readDDPBitStreamInformation12 readDDPBitStreamInformationRoomTypSourceFsCod
231 #define readDDPBitStreamInformationStrmTypeSubstreamId 0xc300+STD_BETA_DDP2,0x01e
232 #define readDDPBitStreamInformation13 readDDPBitStreamInformationStrmTypeSubstreamId
233 #define readDDPBitStreamInformationSurMixLevFsCod 0xc300+STD_BETA_DDP2,0x0020
234 #define readDDPBitStreamInformation14 readDDPBitStreamInformationSurMixLevFsCod
235 #define readDDPBitStreamInformationMixExtProgProgAdjust 0xc300+STD_BETA_DDP2,0x0022
236 #define readDDPBitStreamInformation15 readDDPBitStreamInformationMixExtProgProgAdjust
237 #define readDDPBitStreamInformationAtoDConverterType 0xc300+STD_BETA_DDP2,0x0024
238 #define readDDPBitStreamInformation16 readDDPBitStreamInformationAtoDConverterType
239 #define readDDPBitStreamInformationChanMap 0xc300+STD_BETA_DDP2,0x0026
240 #define readDDPBitStreamInformation17 readDDPBitStreamInformationChanMap
241 #define readDDPBitStreamInformationJOCDecodeOutMode 0xc300+STD_BETA_DDP2,0x0028
242 #define readDDPBitStreamInformation18 readDDPBitStreamInformationJOCDecodeOutMode
244 #define readDDPStatus 0xc508,STD_BETA_DDP
245 #define readDDPCommon 0xc508,STD_BETA_DDP2
247 // Legacy needed by SIDK testing
248 #define readDDPLegacyDecodeMode 0xc200+STD_BETA_DDP,0x1400
249 #define writeDDPLegacyDecodeModeDisable 0xca00+STD_BETA_DDP,0x1400
250 #define writeDDPLegacyDecodeModeEnable 0xca00+STD_BETA_DDP,0x1401
252 #define readDDPControl \
253 readDDPOperationalMode, \
254 readDDPDynrngScaleHiQ6, \
255 readDDPDynrngScaleLoQ6, \
256 readDDPStereoMode, \
257 readDDPSpeakerRemapping, \
258 readDDPLfe, \
259 readDDPExtDownmixMode, \
260 readDDPLegacyDecodeMode, \
261 readDDPDlgNorm, \
262 readDDPRFModeGain
264 #define readAC3Mode readDDPMode
265 #define readAC3OperationalMode readDDPOperationalMode
266 #define readAC3DynrngScaleHiQ6 readDDPDynrngScaleHiQ6
267 #define readAC3DynrngScaleLoQ6 readDDPDynrngScaleLoQ6
269 #define writeAC3OperationalModeCustom0 writeDDPOperationalModeCustom0
270 #define writeAC3OperationalModeCustom1 writeDDPOperationalModeCustom1
271 #define writeAC3OperationalModeLine writeDDPOperationalModeLine
272 #define writeAC3OperationalModeRF writeDDPOperationalModeRF
274 #define writeAC3DynrngScaleHiQ6N(NN) writeDDPDynrngScaleHiQ6N(NN)
275 #define writeAC3DynrngScaleLoQ6N(NN) writeDDPDynrngScaleLoQ6N(NN)
276 /* in support of inverse compilation only */
277 #define writeAC3DynrngScaleHiQ6N__64__ writeAC3DynrngScaleHiQ6N(64)
278 #define writeAC3DynrngScaleLoQ6N__64__ writeAC3DynrngScaleLoQ6N(64)
280 #define readAC3StereoMode readDDPStereoMode
281 #define writeAC3StereoModeAuto writeDDPStereoModeAuto
282 #define writeAC3StereoModeLtRt writeDDPStereoModeLtRt
283 #define writeAC3StereoModeLoRo writeDDPStereoModeLoRo
284 //#define writeAC3StereoModeAutoLoRo writeDDPStereoModeAutoLoRo
286 #define readAC3BitStreamInformation readDDPBitStreamInformation
287 #define readAC3BitStreamInformation0 readDDPBitStreamInformation0
288 #define readAC3BitStreamInformation1 readDDPBitStreamInformation1
289 #define readAC3BitStreamInformation2 readDDPBitStreamInformation2
290 #define readAC3BitStreamInformation3 readDDPBitStreamInformation3
291 #define readAC3BitStreamInformation4 readDDPBitStreamInformation4
292 #define readAC3BitStreamInformation5 readDDPBitStreamInformation5
293 #define readAC3BitStreamInformation6 readDDPBitStreamInformation6
294 #define readAC3BitStreamInformation7 readDDPBitStreamInformation7
295 #define readAC3BitStreamInformation8 readDDPBitStreamInformation8
296 #define readAC3BitStreamInformation9 readDDPBitStreamInformation9
298 /* Currently not available in DDP as AC3
299 #define wroteAC3BitStreamInformation 0xce00+STD_BETA_AC32,0x0414
300 */
301 #define readAC3Status readDDPStatus
302 #define readAC3Common readDDPCommon
303 #define readAC3Control readDDPControl
305 #define readAC3RFModeGain readDDPRFModeGain
306 #define writeAC3RFModeGainAuto writeDDPRFModeGainAuto
307 #define writeAC3RFModeGainEnable writeDDPRFModeGainEnable
308 #define writeAC3RFModeGainDisable writeDDPRFModeGainDisable
310 #define readAC3DlgNorm readDDPDlgNorm
311 #define writeAC3DlgNormAuto writeDDPDlgNormAuto
312 #define writeAC3DlgNormEnable writeDDPDlgNormEnable
313 #define writeAC3DlgNormDisable writeDDPDlgNormDisable
316 // XX symbolic definitions are obsolete; please replace use. For backards compatibility:
317 #define writeAC3DynrngScaleHiQ6XX(N) writeAC3DynrngScaleHiQ6N(0x##N)
318 #define writeAC3DynrngScaleLoQ6XX(N) writeAC3DynrngScaleLoQ6N(0x##N)
321 #endif /* _DDP_A */