| 1 | /*************************************************************************** |
|---|
| 2 | * Copyright (c) 2003-2007, Broadcom Corporation |
|---|
| 3 | * All Rights Reserved |
|---|
| 4 | * Confidential Property of Broadcom Corporation |
|---|
| 5 | * |
|---|
| 6 | * THIS SOFTWARE MAY ONLY BE USED SUBJECT TO AN EXECUTED SOFTWARE LICENSE |
|---|
| 7 | * AGREEMENT BETWEEN THE USER AND BROADCOM. YOU HAVE NO RIGHT TO USE OR |
|---|
| 8 | * EXPLOIT THIS MATERIAL EXCEPT SUBJECT TO THE TERMS OF SUCH AN AGREEMENT. |
|---|
| 9 | * |
|---|
| 10 | * $brcm_Workfile: bacm_spdif.h $ |
|---|
| 11 | * $brcm_Revision: Hydra_Software_Devel/1 $ |
|---|
| 12 | * $brcm_Date: 3/15/07 3:17p $ |
|---|
| 13 | * |
|---|
| 14 | * Module Description: |
|---|
| 15 | * |
|---|
| 16 | * Revision History: |
|---|
| 17 | * |
|---|
| 18 | * $brcm_Log: /magnum/commonutils/acm/bacm_spdif.h $ |
|---|
| 19 | * |
|---|
| 20 | * Hydra_Software_Devel/1 3/15/07 3:17p rgreen |
|---|
| 21 | * PR27181: Initial audio common support for SPDIF Channel Status |
|---|
| 22 | * types/functions |
|---|
| 23 | * |
|---|
| 24 | * Hydra_Software_Devel/1 9/22/05 9:42p bandrews |
|---|
| 25 | * PR17068: Refactored common spdif stuff. Improved status reporting. |
|---|
| 26 | ***************************************************************************/ |
|---|
| 27 | |
|---|
| 28 | #ifndef BAVC_AUDIO_H__ |
|---|
| 29 | #define BAVC_AUDIO_H__ |
|---|
| 30 | |
|---|
| 31 | #include "bavc.h" |
|---|
| 32 | #include "bacm_spdif_defs.h" |
|---|
| 33 | |
|---|
| 34 | /*************************************************************************** |
|---|
| 35 | Summary: |
|---|
| 36 | An enum of the channel status clock accuracies. |
|---|
| 37 | **************************************************************************/ |
|---|
| 38 | typedef enum BACM_SPDIF_Application |
|---|
| 39 | { |
|---|
| 40 | BACM_SPDIF_Application_eConsumer = BACM_SPDIF_CHAN_STAT0_APPLICATION_Consumer, |
|---|
| 41 | BACM_SPDIF_Application_eProfessional = BACM_SPDIF_CHAN_STAT0_APPLICATION_Professional |
|---|
| 42 | } BACM_SPDIF_Application; |
|---|
| 43 | |
|---|
| 44 | /*************************************************************************** |
|---|
| 45 | Summary: |
|---|
| 46 | This enumeration defines the stream type of incoming digaud data |
|---|
| 47 | |
|---|
| 48 | ***************************************************************************/ |
|---|
| 49 | typedef enum BACM_SPDIF_StreamType |
|---|
| 50 | { |
|---|
| 51 | BACM_SPDIF_StreamType_eLinear = BACM_SPDIF_CHAN_STAT0_STREAM_TYPE_Linear, |
|---|
| 52 | BACM_SPDIF_StreamType_eNonlinear = BACM_SPDIF_CHAN_STAT0_STREAM_TYPE_Nonlinear |
|---|
| 53 | } BACM_SPDIF_StreamType; |
|---|
| 54 | |
|---|
| 55 | /*************************************************************************** |
|---|
| 56 | Summary: |
|---|
| 57 | An enum of the channel status clock accuracies. |
|---|
| 58 | **************************************************************************/ |
|---|
| 59 | typedef enum BACM_SPDIF_PCM_AdditionalFormatInfo |
|---|
| 60 | { |
|---|
| 61 | BACM_SPDIF_PCM_AdditionalFormatInfo_2ChannelNoPreEmphasis = BACM_SPDIF_CHAN_STAT0_ADDED_FORMAT_INFO_PCM_2ChannelNoPreEmphasis, |
|---|
| 62 | BACM_SPDIF_PCM_AdditionalFormatInfo_2ChannelPreEmphasis50us15us = BACM_SPDIF_CHAN_STAT0_ADDED_FORMAT_INFO_PCM_2ChannelPreEmphasis50us15us, |
|---|
| 63 | BACM_SPDIF_PCM_AdditionalFormatInfo_2ChannelPreEmphasisReserved0 = BACM_SPDIF_CHAN_STAT0_ADDED_FORMAT_INFO_PCM_2ChannelPreEmphasisReserved0, |
|---|
| 64 | BACM_SPDIF_PCM_AdditionalFormatInfo_2ChannelPreEmphasisReserved1 = BACM_SPDIF_CHAN_STAT0_ADDED_FORMAT_INFO_PCM_2ChannelPreEmphasisReserved1 |
|---|
| 65 | } BACM_SPDIF_PCM_AdditionalFormatInfo; |
|---|
| 66 | |
|---|
| 67 | /*************************************************************************** |
|---|
| 68 | Summary: |
|---|
| 69 | An enum of the channel status clock accuracies. |
|---|
| 70 | **************************************************************************/ |
|---|
| 71 | typedef enum BACM_SPDIF_Nonlinear_AdditionalFormatInfo |
|---|
| 72 | { |
|---|
| 73 | BACM_SPDIF_Nonlinear_AdditionalFormatInfo_Default = BACM_SPDIF_CHAN_STAT0_ADDED_FORMAT_INFO_NonLinear_Default |
|---|
| 74 | } BACM_SPDIF_Nonlinear_AdditionalFormatInfo; |
|---|
| 75 | |
|---|
| 76 | /*************************************************************************** |
|---|
| 77 | Summary: |
|---|
| 78 | An enum of the channel status clock accuracies. |
|---|
| 79 | **************************************************************************/ |
|---|
| 80 | typedef enum BACM_SPDIF_ChannelStatusMode |
|---|
| 81 | { |
|---|
| 82 | BACM_SPDIF_ChannelStatusMode_e0 = BACM_SPDIF_CHAN_STAT0_MODE_Mode0 |
|---|
| 83 | } BACM_SPDIF_ChannelStatusMode; |
|---|
| 84 | |
|---|
| 85 | /*************************************************************************** |
|---|
| 86 | Summary: |
|---|
| 87 | An enum of the channel status clock accuracies. |
|---|
| 88 | **************************************************************************/ |
|---|
| 89 | typedef enum BACM_SPDIF_SourceNumber |
|---|
| 90 | { |
|---|
| 91 | BACM_SPDIF_SourceNumber_eUnspecified = BACM_SPDIF_CHAN_STAT2_SOURCE_NUM_Unspecified, |
|---|
| 92 | BACM_SPDIF_SourceNumber_e1 = BACM_SPDIF_CHAN_STAT2_SOURCE_NUM_1, |
|---|
| 93 | BACM_SPDIF_SourceNumber_e2 = BACM_SPDIF_CHAN_STAT2_SOURCE_NUM_2, |
|---|
| 94 | BACM_SPDIF_SourceNumber_e3 = BACM_SPDIF_CHAN_STAT2_SOURCE_NUM_3, |
|---|
| 95 | BACM_SPDIF_SourceNumber_e4 = BACM_SPDIF_CHAN_STAT2_SOURCE_NUM_4, |
|---|
| 96 | BACM_SPDIF_SourceNumber_e5 = BACM_SPDIF_CHAN_STAT2_SOURCE_NUM_5, |
|---|
| 97 | BACM_SPDIF_SourceNumber_e6 = BACM_SPDIF_CHAN_STAT2_SOURCE_NUM_6, |
|---|
| 98 | BACM_SPDIF_SourceNumber_e7 = BACM_SPDIF_CHAN_STAT2_SOURCE_NUM_7, |
|---|
| 99 | BACM_SPDIF_SourceNumber_e8 = BACM_SPDIF_CHAN_STAT2_SOURCE_NUM_8, |
|---|
| 100 | BACM_SPDIF_SourceNumber_e9 = BACM_SPDIF_CHAN_STAT2_SOURCE_NUM_9, |
|---|
| 101 | BACM_SPDIF_SourceNumber_e10 = BACM_SPDIF_CHAN_STAT2_SOURCE_NUM_10, |
|---|
| 102 | BACM_SPDIF_SourceNumber_e11 = BACM_SPDIF_CHAN_STAT2_SOURCE_NUM_11, |
|---|
| 103 | BACM_SPDIF_SourceNumber_e12 = BACM_SPDIF_CHAN_STAT2_SOURCE_NUM_12, |
|---|
| 104 | BACM_SPDIF_SourceNumber_e13 = BACM_SPDIF_CHAN_STAT2_SOURCE_NUM_13, |
|---|
| 105 | BACM_SPDIF_SourceNumber_e14 = BACM_SPDIF_CHAN_STAT2_SOURCE_NUM_14, |
|---|
| 106 | BACM_SPDIF_SourceNumber_e15 = BACM_SPDIF_CHAN_STAT2_SOURCE_NUM_15 |
|---|
| 107 | } BACM_SPDIF_SourceNumber; |
|---|
| 108 | |
|---|
| 109 | /*************************************************************************** |
|---|
| 110 | Summary: |
|---|
| 111 | An enum of the channel status clock accuracies. |
|---|
| 112 | **************************************************************************/ |
|---|
| 113 | typedef enum BACM_SPDIF_ChannelNumber |
|---|
| 114 | { |
|---|
| 115 | BACM_SPDIF_ChannelNumber_eUnspecified = BACM_SPDIF_CHAN_STAT2_CHAN_NUM_Unspecified, |
|---|
| 116 | BACM_SPDIF_ChannelNumber_e1 = BACM_SPDIF_CHAN_STAT2_CHAN_NUM_1, |
|---|
| 117 | BACM_SPDIF_ChannelNumber_e2 = BACM_SPDIF_CHAN_STAT2_CHAN_NUM_2, |
|---|
| 118 | BACM_SPDIF_ChannelNumber_e3 = BACM_SPDIF_CHAN_STAT2_CHAN_NUM_3, |
|---|
| 119 | BACM_SPDIF_ChannelNumber_e4 = BACM_SPDIF_CHAN_STAT2_CHAN_NUM_4, |
|---|
| 120 | BACM_SPDIF_ChannelNumber_e5 = BACM_SPDIF_CHAN_STAT2_CHAN_NUM_5, |
|---|
| 121 | BACM_SPDIF_ChannelNumber_e6 = BACM_SPDIF_CHAN_STAT2_CHAN_NUM_6, |
|---|
| 122 | BACM_SPDIF_ChannelNumber_e7 = BACM_SPDIF_CHAN_STAT2_CHAN_NUM_7, |
|---|
| 123 | BACM_SPDIF_ChannelNumber_e8 = BACM_SPDIF_CHAN_STAT2_CHAN_NUM_8, |
|---|
| 124 | BACM_SPDIF_ChannelNumber_e9 = BACM_SPDIF_CHAN_STAT2_CHAN_NUM_9, |
|---|
| 125 | BACM_SPDIF_ChannelNumber_e10 = BACM_SPDIF_CHAN_STAT2_CHAN_NUM_10, |
|---|
| 126 | BACM_SPDIF_ChannelNumber_e11 = BACM_SPDIF_CHAN_STAT2_CHAN_NUM_11, |
|---|
| 127 | BACM_SPDIF_ChannelNumber_e12 = BACM_SPDIF_CHAN_STAT2_CHAN_NUM_12, |
|---|
| 128 | BACM_SPDIF_ChannelNumber_e13 = BACM_SPDIF_CHAN_STAT2_CHAN_NUM_13, |
|---|
| 129 | BACM_SPDIF_ChannelNumber_e14 = BACM_SPDIF_CHAN_STAT2_CHAN_NUM_14, |
|---|
| 130 | BACM_SPDIF_ChannelNumber_e15 = BACM_SPDIF_CHAN_STAT2_CHAN_NUM_15 |
|---|
| 131 | } BACM_SPDIF_ChannelNumber; |
|---|
| 132 | |
|---|
| 133 | /*************************************************************************** |
|---|
| 134 | Summary: |
|---|
| 135 | An enum of the channel status clock accuracies. |
|---|
| 136 | **************************************************************************/ |
|---|
| 137 | typedef enum BACM_SPDIF_SamplingFrequency |
|---|
| 138 | { |
|---|
| 139 | BACM_SPDIF_SamplingFrequency_e44100 = BACM_SPDIF_CHAN_STAT3_FS_44100, |
|---|
| 140 | BACM_SPDIF_SamplingFrequency_eUnspecified = BACM_SPDIF_CHAN_STAT3_FS_Unspecified, |
|---|
| 141 | BACM_SPDIF_SamplingFrequency_e48000 = BACM_SPDIF_CHAN_STAT3_FS_48000, |
|---|
| 142 | BACM_SPDIF_SamplingFrequency_e32000 = BACM_SPDIF_CHAN_STAT3_FS_32000, |
|---|
| 143 | BACM_SPDIF_SamplingFrequency_e22050 = BACM_SPDIF_CHAN_STAT3_FS_22050, |
|---|
| 144 | BACM_SPDIF_SamplingFrequency_e24000 = BACM_SPDIF_CHAN_STAT3_FS_24000, |
|---|
| 145 | BACM_SPDIF_SamplingFrequency_e88200 = BACM_SPDIF_CHAN_STAT3_FS_88200, |
|---|
| 146 | BACM_SPDIF_SamplingFrequency_e96000 = BACM_SPDIF_CHAN_STAT3_FS_96000, |
|---|
| 147 | BACM_SPDIF_SamplingFrequency_e176400 = BACM_SPDIF_CHAN_STAT3_FS_176400, |
|---|
| 148 | BACM_SPDIF_SamplingFrequency_e192000 = BACM_SPDIF_CHAN_STAT3_FS_192000 |
|---|
| 149 | } BACM_SPDIF_SamplingFrequency; |
|---|
| 150 | |
|---|
| 151 | /*************************************************************************** |
|---|
| 152 | Summary: |
|---|
| 153 | An enum of the channel status clock accuracies. |
|---|
| 154 | **************************************************************************/ |
|---|
| 155 | typedef enum BACM_SPDIF_ClockAccuracy |
|---|
| 156 | { |
|---|
| 157 | BACM_SPDIF_ClockAccuracy_eLevel2 = BACM_SPDIF_CHAN_STAT3_CLK_ACCURACY_LevelII, |
|---|
| 158 | BACM_SPDIF_ClockAccuracy_eLevel1 = BACM_SPDIF_CHAN_STAT3_CLK_ACCURACY_LevelI, |
|---|
| 159 | BACM_SPDIF_ClockAccuracy_eLevel3 = BACM_SPDIF_CHAN_STAT3_CLK_ACCURACY_LevelIII, |
|---|
| 160 | BACM_SPDIF_ClockAccuracy_eUnmatched = BACM_SPDIF_CHAN_STAT3_CLK_ACCURACY_Unmatched |
|---|
| 161 | } BACM_SPDIF_ClockAccuracy; |
|---|
| 162 | |
|---|
| 163 | /*************************************************************************** |
|---|
| 164 | Summary: |
|---|
| 165 | An enum of the channel status clock accuracies. |
|---|
| 166 | **************************************************************************/ |
|---|
| 167 | typedef enum BACM_SPDIF_WordLength |
|---|
| 168 | { |
|---|
| 169 | BACM_SPDIF_WordLength_eUnspecifiedOf20 = BACM_SPDIF_CHAN_STAT4_WORD_LEN_UNSPECIFIED_OF_20_BITS, |
|---|
| 170 | BACM_SPDIF_WordLength_e16Of20 = BACM_SPDIF_CHAN_STAT4_WORD_LEN_16_OF_20_BITS, |
|---|
| 171 | BACM_SPDIF_WordLength_e17Of20 = BACM_SPDIF_CHAN_STAT4_WORD_LEN_17_OF_20_BITS, |
|---|
| 172 | BACM_SPDIF_WordLength_e18Of20 = BACM_SPDIF_CHAN_STAT4_WORD_LEN_18_OF_20_BITS, |
|---|
| 173 | BACM_SPDIF_WordLength_e19Of20 = BACM_SPDIF_CHAN_STAT4_WORD_LEN_19_OF_20_BITS, |
|---|
| 174 | BACM_SPDIF_WordLength_e20Of20 = BACM_SPDIF_CHAN_STAT4_WORD_LEN_20_OF_20_BITS, |
|---|
| 175 | BACM_SPDIF_WordLength_eUnspecifiedOf24 = BACM_SPDIF_CHAN_STAT4_WORD_LEN_UNSPECIFIED_OF_24_BITS, |
|---|
| 176 | BACM_SPDIF_WordLength_e20Of24 = BACM_SPDIF_CHAN_STAT4_WORD_LEN_20_OF_24_BITS, |
|---|
| 177 | BACM_SPDIF_WordLength_e21Of24 = BACM_SPDIF_CHAN_STAT4_WORD_LEN_21_OF_24_BITS, |
|---|
| 178 | BACM_SPDIF_WordLength_e22Of24 = BACM_SPDIF_CHAN_STAT4_WORD_LEN_22_OF_24_BITS, |
|---|
| 179 | BACM_SPDIF_WordLength_e23Of24 = BACM_SPDIF_CHAN_STAT4_WORD_LEN_23_OF_24_BITS, |
|---|
| 180 | BACM_SPDIF_WordLength_e24Of24 = BACM_SPDIF_CHAN_STAT4_WORD_LEN_24_OF_24_BITS |
|---|
| 181 | } BACM_SPDIF_WordLength; |
|---|
| 182 | |
|---|
| 183 | /*************************************************************************** |
|---|
| 184 | Summary: |
|---|
| 185 | An enum of the channel status clock accuracies. |
|---|
| 186 | **************************************************************************/ |
|---|
| 187 | typedef enum BACM_SPDIF_OriginalSamplingFrequency |
|---|
| 188 | { |
|---|
| 189 | BACM_SPDIF_OriginalSamplingFrequency_eUnspecified = BACM_SPDIF_CHAN_STAT4_ORIG_FS_Unspecified, |
|---|
| 190 | BACM_SPDIF_OriginalSamplingFrequency_e192000 = BACM_SPDIF_CHAN_STAT4_ORIG_FS_192000, |
|---|
| 191 | BACM_SPDIF_OriginalSamplingFrequency_e12000 = BACM_SPDIF_CHAN_STAT4_ORIG_FS_12000, |
|---|
| 192 | BACM_SPDIF_OriginalSamplingFrequency_e176400 = BACM_SPDIF_CHAN_STAT4_ORIG_FS_176400, |
|---|
| 193 | BACM_SPDIF_OriginalSamplingFrequency_eReserved0 = BACM_SPDIF_CHAN_STAT4_ORIG_FS_Reserved0, |
|---|
| 194 | BACM_SPDIF_OriginalSamplingFrequency_e96000 = BACM_SPDIF_CHAN_STAT4_ORIG_FS_96000, |
|---|
| 195 | BACM_SPDIF_OriginalSamplingFrequency_e8000 = BACM_SPDIF_CHAN_STAT4_ORIG_FS_8000, |
|---|
| 196 | BACM_SPDIF_OriginalSamplingFrequency_e88200 = BACM_SPDIF_CHAN_STAT4_ORIG_FS_88200, |
|---|
| 197 | BACM_SPDIF_OriginalSamplingFrequency_e16000 = BACM_SPDIF_CHAN_STAT4_ORIG_FS_16000, |
|---|
| 198 | BACM_SPDIF_OriginalSamplingFrequency_e24000 = BACM_SPDIF_CHAN_STAT4_ORIG_FS_24000, |
|---|
| 199 | BACM_SPDIF_OriginalSamplingFrequency_e11025 = BACM_SPDIF_CHAN_STAT4_ORIG_FS_11025, |
|---|
| 200 | BACM_SPDIF_OriginalSamplingFrequency_e22050 = BACM_SPDIF_CHAN_STAT4_ORIG_FS_22050, |
|---|
| 201 | BACM_SPDIF_OriginalSamplingFrequency_e32000 = BACM_SPDIF_CHAN_STAT4_ORIG_FS_32000, |
|---|
| 202 | BACM_SPDIF_OriginalSamplingFrequency_e48000 = BACM_SPDIF_CHAN_STAT4_ORIG_FS_48000, |
|---|
| 203 | BACM_SPDIF_OriginalSamplingFrequency_eReserved1 = BACM_SPDIF_CHAN_STAT4_ORIG_FS_Reserved1, |
|---|
| 204 | BACM_SPDIF_OriginalSamplingFrequency_e44100 = BACM_SPDIF_CHAN_STAT4_ORIG_FS_44100 |
|---|
| 205 | } BACM_SPDIF_OriginalSamplingFrequency; |
|---|
| 206 | |
|---|
| 207 | /*************************************************************************** |
|---|
| 208 | Summary: |
|---|
| 209 | The SPDIF channel status. See IEC60958 for more information. |
|---|
| 210 | |
|---|
| 211 | **************************************************************************/ |
|---|
| 212 | typedef struct BACM_SPDIF_ChannelStatus |
|---|
| 213 | { |
|---|
| 214 | BACM_SPDIF_Application eApplication; |
|---|
| 215 | BACM_SPDIF_StreamType eStreamType; |
|---|
| 216 | bool bCopyrighted; |
|---|
| 217 | union BACM_SPDIF_AdditionalFormatInfo |
|---|
| 218 | { |
|---|
| 219 | BACM_SPDIF_PCM_AdditionalFormatInfo ePCM; |
|---|
| 220 | BACM_SPDIF_Nonlinear_AdditionalFormatInfo eNonlinear; |
|---|
| 221 | } uAdditionalFormatInfo; |
|---|
| 222 | BACM_SPDIF_ChannelStatusMode eChannelStatusMode; |
|---|
| 223 | uint8_t uiCategoryCode; |
|---|
| 224 | BACM_SPDIF_SourceNumber eSourceNumber; |
|---|
| 225 | BACM_SPDIF_ChannelNumber eChannelNumber; |
|---|
| 226 | BACM_SPDIF_SamplingFrequency eSamplingFrequency; |
|---|
| 227 | BACM_SPDIF_ClockAccuracy eClockAccuracy; |
|---|
| 228 | BACM_SPDIF_WordLength eWordLength; |
|---|
| 229 | BACM_SPDIF_OriginalSamplingFrequency eOriginalSamplingFrequency; |
|---|
| 230 | } BACM_SPDIF_ChannelStatus; |
|---|
| 231 | |
|---|
| 232 | #define BACM_SPDIF_ChannelStatusMaxByteCount 24 /* 192 bits */ |
|---|
| 233 | |
|---|
| 234 | /*************************************************************************** |
|---|
| 235 | Summary: |
|---|
| 236 | Takes the channel status byte array and converts it to a struct |
|---|
| 237 | **************************************************************************/ |
|---|
| 238 | #define BACM_SPDIF_InitChannelStatus_isr BACM_SPDIF_InitChannelStatus |
|---|
| 239 | void BACM_SPDIF_InitChannelStatus(BACM_SPDIF_ChannelStatus * psChannelStatus); |
|---|
| 240 | |
|---|
| 241 | /*************************************************************************** |
|---|
| 242 | Summary: |
|---|
| 243 | Takes the channel status byte array and converts it to a struct |
|---|
| 244 | **************************************************************************/ |
|---|
| 245 | #define BACM_SPDIF_ParseChannelStatus_isr BACM_SPDIF_ParseChannelStatus |
|---|
| 246 | void BACM_SPDIF_ParseChannelStatus(BACM_SPDIF_ChannelStatus * psChannelStatus, uint8_t uiChannelStatusSize, uint8_t auiChannelStatus[]); |
|---|
| 247 | |
|---|
| 248 | /*************************************************************************** |
|---|
| 249 | Summary: |
|---|
| 250 | This enumeration defines the data type of SPDIF Preamble C. |
|---|
| 251 | |
|---|
| 252 | ***************************************************************************/ |
|---|
| 253 | typedef enum BACM_SPDIF_DataType |
|---|
| 254 | { |
|---|
| 255 | BACM_SPDIF_DataType_eNULL = BACM_SPDIF_PC_DATA_TYPE_Null, |
|---|
| 256 | BACM_SPDIF_DataType_eAC3 = BACM_SPDIF_PC_DATA_TYPE_AC3, |
|---|
| 257 | BACM_SPDIF_DataType_eReserved2 = BACM_SPDIF_PC_DATA_TYPE_Reserved2, |
|---|
| 258 | BACM_SPDIF_DataType_ePause = BACM_SPDIF_PC_DATA_TYPE_Pause, |
|---|
| 259 | BACM_SPDIF_DataType_eMpeg1L1 = BACM_SPDIF_PC_DATA_TYPE_Mpeg1L1, |
|---|
| 260 | BACM_SPDIF_DataType_eMpeg1L23Mpeg2noext = BACM_SPDIF_PC_DATA_TYPE_Mpeg1L23Mpeg2noext, |
|---|
| 261 | BACM_SPDIF_DataType_eMpeg2withext = BACM_SPDIF_PC_DATA_TYPE_Mpeg2withext, |
|---|
| 262 | BACM_SPDIF_DataType_eAAC = BACM_SPDIF_PC_DATA_TYPE_AAC, |
|---|
| 263 | BACM_SPDIF_DataType_eMpeg2L1LF = BACM_SPDIF_PC_DATA_TYPE_Mpeg2L1LF, |
|---|
| 264 | BACM_SPDIF_DataType_eMpeg2L2LF = BACM_SPDIF_PC_DATA_TYPE_Mpeg2L2LF, |
|---|
| 265 | BACM_SPDIF_DataType_eMpeg2L3LF = BACM_SPDIF_PC_DATA_TYPE_Mpeg2L3LF, |
|---|
| 266 | BACM_SPDIF_DataType_eDTS1 = BACM_SPDIF_PC_DATA_TYPE_DTS1, |
|---|
| 267 | BACM_SPDIF_DataType_eDTS2 = BACM_SPDIF_PC_DATA_TYPE_DTS2, |
|---|
| 268 | BACM_SPDIF_DataType_eDTS3 = BACM_SPDIF_PC_DATA_TYPE_DTS3, |
|---|
| 269 | BACM_SPDIF_DataType_eATRAC = BACM_SPDIF_PC_DATA_TYPE_ATRAC, |
|---|
| 270 | BACM_SPDIF_DataType_eATRAC23 = BACM_SPDIF_PC_DATA_TYPE_ATRAC23, |
|---|
| 271 | BACM_SPDIF_DataType_eExtended = BACM_SPDIF_PC_DATA_TYPE_Extended |
|---|
| 272 | } BACM_SPDIF_DataType; |
|---|
| 273 | |
|---|
| 274 | /*************************************************************************** |
|---|
| 275 | Summary: |
|---|
| 276 | This structure defines the Burst Preamble C. |
|---|
| 277 | |
|---|
| 278 | ***************************************************************************/ |
|---|
| 279 | typedef struct BACM_SPDIF_PreambleC |
|---|
| 280 | { |
|---|
| 281 | bool bPayloadMayContainErrors; /* true if the payload may contain errors, false otherwise */ |
|---|
| 282 | uint8_t uiBitstreamNumber; /* the bitstream number, 0 - 7 */ |
|---|
| 283 | uint8_t uiDataTypeDependentInfo; /* info that depends on the data type */ |
|---|
| 284 | BACM_SPDIF_DataType eDataType; /* input data type */ |
|---|
| 285 | } BACM_SPDIF_PreambleC; |
|---|
| 286 | |
|---|
| 287 | /*************************************************************************** |
|---|
| 288 | Summary: |
|---|
| 289 | Takes the channel status byte array and converts it to a struct |
|---|
| 290 | **************************************************************************/ |
|---|
| 291 | #define BACM_SPDIF_ParsePreambleC_isr BACM_SPDIF_ParsePreambleC |
|---|
| 292 | void BACM_SPDIF_ParsePreambleC(BACM_SPDIF_PreambleC * psPreambleC, uint16_t uiPreambleC); |
|---|
| 293 | |
|---|
| 294 | #endif /* BACM_SPDIF_COMMON_H__ */ |
|---|
| 295 | |
|---|