113 /* to have here extra status information that can be returned for e.g. multi-read/write commands */ |
113 /* to have here extra status information that can be returned for e.g. multi-read/write commands */ |
114 OMX_AUDIO_NOT_SUPPORTED = 0xFFFF |
114 OMX_AUDIO_NOT_SUPPORTED = 0xFFFF |
115 } OMX_AUDIO_HWCTRL_STATUSTYPE; |
115 } OMX_AUDIO_HWCTRL_STATUSTYPE; |
116 |
116 |
117 typedef enum OMX_AUDIO_HWOPERATIONTYPE { |
117 typedef enum OMX_AUDIO_HWOPERATIONTYPE { |
118 OMX_AUDIO_NOOP = 0, |
118 OMX_AUDIO_NOOP = 0, |
119 OMX_AUDIO_16BIT_SINGLE_READ, |
119 OMX_AUDIO_8BIT_SINGLE_READ, |
120 OMX_AUDIO_16BIT_SINGLE_WRITE, |
120 OMX_AUDIO_8BIT_SINGLE_WRITE, |
121 OMX_AUDIO_32BIT_SINGLE_READ, |
121 OMX_AUDIO_16BIT_SINGLE_READ, |
122 OMX_AUDIO_32BIT_SINGLE_WRITE, |
122 OMX_AUDIO_16BIT_SINGLE_WRITE, |
123 OMX_AUDIO_16BIT_MULTI_READ, |
123 OMX_AUDIO_32BIT_SINGLE_READ, |
124 OMX_AUDIO_16BIT_MULTI_WRITE, |
124 OMX_AUDIO_32BIT_SINGLE_WRITE, |
125 OMX_AUDIO_32BIT_MULTI_READ, |
125 OMX_AUDIO_8BIT_MULTI_READ, |
126 OMX_AUDIO_32BIT_MULTI_WRITE, |
126 OMX_AUDIO_8BIT_MULTI_WRITE, |
127 OMX_AUDIO_16BIT_BURST_MULTI_READ, |
127 OMX_AUDIO_16BIT_MULTI_READ, |
128 OMX_AUDIO_16BIT_BURST_MULTI_WRITE, |
128 OMX_AUDIO_16BIT_MULTI_WRITE, |
129 OMX_AUDIO_32BIT_BURST_MULTI_READ, |
129 OMX_AUDIO_32BIT_MULTI_READ, |
130 OMX_AUDIO_32BIT_BURST_MULTI_WRITE = 0xFFFF |
130 OMX_AUDIO_32BIT_MULTI_WRITE, |
|
131 OMX_AUDIO_8BIT_BURST_MULTI_READ, |
|
132 OMX_AUDIO_8BIT_BURST_MULTI_WRITE, |
|
133 OMX_AUDIO_16BIT_BURST_MULTI_READ, |
|
134 OMX_AUDIO_16BIT_BURST_MULTI_WRITE, |
|
135 OMX_AUDIO_32BIT_BURST_MULTI_READ, |
|
136 OMX_AUDIO_32BIT_BURST_MULTI_WRITE = 0xFFFF |
131 } OMX_AUDIO_HWOPERATIONTYPE; |
137 } OMX_AUDIO_HWOPERATIONTYPE; |
132 |
138 |
133 /** Custom audio HW control. |
139 /** Custom audio HW control. |
134 */ |
140 */ |
135 typedef struct OMX_AUDIO_CONFIG_CUSTOMHWCONTROLTYPE { |
141 typedef struct OMX_AUDIO_CONFIG_CUSTOMHWCONTROLTYPE { |
138 OMX_U32 nPortIndex; |
144 OMX_U32 nPortIndex; |
139 OMX_AUDIO_HWCTRL_STATUSTYPE eStatus; |
145 OMX_AUDIO_HWCTRL_STATUSTYPE eStatus; |
140 OMX_AUDIO_HWOPERATIONTYPE eHwOperation; |
146 OMX_AUDIO_HWOPERATIONTYPE eHwOperation; |
141 OMX_AUDIO_HWREGISTERTYPE eRegisterType; |
147 OMX_AUDIO_HWREGISTERTYPE eRegisterType; |
142 OMX_U16 nDataCount; |
148 OMX_U16 nDataCount; |
143 OMX_U32 nLogicalAddress; |
149 OMX_U8 nAddressDataSequence[]; |
144 OMX_U16 nData; |
|
145 } OMX_AUDIO_CONFIG_CUSTOMHWCONTROLTYPE; |
150 } OMX_AUDIO_CONFIG_CUSTOMHWCONTROLTYPE; |
146 |
151 |
147 |
152 |
148 typedef enum OMX_AUDIO_HWLOOPSTYPE { |
153 typedef enum OMX_AUDIO_HWLOOPSTYPE { |
149 OMX_AUDIO_NOLOOP = 0, |
154 OMX_AUDIO_NOLOOP = 0, |
178 /** Non-OpenMAX API layers */ |
183 /** Non-OpenMAX API layers */ |
179 /***************************/ |
184 /***************************/ |
180 |
185 |
181 /* channel ID denoting special case of all channels being selected where possible */ |
186 /* channel ID denoting special case of all channels being selected where possible */ |
182 #define AUDIO_COMMON_CHANNEL_ALL 0x7FFFFFFF |
187 #define AUDIO_COMMON_CHANNEL_ALL 0x7FFFFFFF |
|
188 |
|
189 /** 8 bit unsigned quantity that is byte aligned */ |
|
190 typedef unsigned char uint8; |
|
191 |
|
192 /** 8 bit signed quantity that is byte aligned */ |
|
193 typedef signed char int8; |
183 |
194 |
184 /** 16 bit unsigned quantity that is 16 bit word aligned */ |
195 /** 16 bit unsigned quantity that is 16 bit word aligned */ |
185 typedef unsigned short uint16; |
196 typedef unsigned short uint16; |
186 |
197 |
187 /** 16 bit signed quantity that is 16 bit word aligned */ |
198 /** 16 bit signed quantity that is 16 bit word aligned */ |
213 |
224 |
214 } AUDIO_HAL_HW_LOOPS; |
225 } AUDIO_HAL_HW_LOOPS; |
215 |
226 |
216 typedef enum AUDIO_HAL_HW_OPERATION{ |
227 typedef enum AUDIO_HAL_HW_OPERATION{ |
217 AUDIO_HAL_NOOP = 0, |
228 AUDIO_HAL_NOOP = 0, |
|
229 AUDIO_HAL_8BIT_SINGLE_READ, |
|
230 AUDIO_HAL_8BIT_SINGLE_WRITE, |
218 AUDIO_HAL_16BIT_SINGLE_READ, |
231 AUDIO_HAL_16BIT_SINGLE_READ, |
219 AUDIO_HAL_16BIT_SINGLE_WRITE, |
232 AUDIO_HAL_16BIT_SINGLE_WRITE, |
220 AUDIO_HAL_32BIT_SINGLE_READ, |
233 AUDIO_HAL_32BIT_SINGLE_READ, |
221 AUDIO_HAL_32BIT_SINGLE_WRITE, |
234 AUDIO_HAL_32BIT_SINGLE_WRITE, |
|
235 AUDIO_HAL_8BIT_MULTI_READ, |
|
236 AUDIO_HAL_8BIT_MULTI_WRITE, |
222 AUDIO_HAL_16BIT_MULTI_READ, |
237 AUDIO_HAL_16BIT_MULTI_READ, |
223 AUDIO_HAL_16BIT_MULTI_WRITE, |
238 AUDIO_HAL_16BIT_MULTI_WRITE, |
224 AUDIO_HAL_32BIT_MULTI_READ, |
239 AUDIO_HAL_32BIT_MULTI_READ, |
225 AUDIO_HAL_32BIT_MULTI_WRITE, |
240 AUDIO_HAL_32BIT_MULTI_WRITE, |
|
241 AUDIO_HAL_8BIT_BURST_MULTI_READ, |
|
242 AUDIO_HAL_8BIT_BURST_MULTI_WRITE, |
226 AUDIO_HAL_16BIT_BURST_MULTI_READ, |
243 AUDIO_HAL_16BIT_BURST_MULTI_READ, |
227 AUDIO_HAL_16BIT_BURST_MULTI_WRITE, |
244 AUDIO_HAL_16BIT_BURST_MULTI_WRITE, |
228 AUDIO_HAL_32BIT_BURST_MULTI_READ, |
245 AUDIO_HAL_32BIT_BURST_MULTI_READ, |
229 AUDIO_HAL_32BIT_BURST_MULTI_WRITE = 0xFFFF |
246 AUDIO_HAL_32BIT_BURST_MULTI_WRITE = 0xFFFF |
230 } AUDIO_HAL_HW_OPERATION; |
247 } AUDIO_HAL_HW_OPERATION; |
316 |
333 |
317 void audio_hal_regbank_descriptors_query(AUDIO_HAL_REGBANK_DESCRIPTOR* register_banks); |
334 void audio_hal_regbank_descriptors_query(AUDIO_HAL_REGBANK_DESCRIPTOR* register_banks); |
318 |
335 |
319 void audio_hal_custom_hw_control (void (*call_back_fn_ptr)(AUDIO_COMMON_STATUS status, uint32 extra_status_info), |
336 void audio_hal_custom_hw_control (void (*call_back_fn_ptr)(AUDIO_COMMON_STATUS status, uint32 extra_status_info), |
320 AUDIO_HAL_HW_OPERATION hw_operation, AUDIO_HAL_HW_REGISTER_TYPE register_type, |
337 AUDIO_HAL_HW_OPERATION hw_operation, AUDIO_HAL_HW_REGISTER_TYPE register_type, |
321 uint16 num_data, uint32* address_data_sequence); |
338 uint16 num_data, uint8* address_data_sequence); |
322 |
339 |
323 |
340 |
324 /* Sequencer layer */ |
341 /* Sequencer layer */ |
325 void audio_sequencer_mute_control(void (*call_back_fn_ptr)(AUDIO_COMMON_STATUS status, uint32 channel_index, uint32 extra_status_info), |
342 void audio_sequencer_mute_control(void (*call_back_fn_ptr)(AUDIO_COMMON_STATUS status, uint32 channel_index, uint32 extra_status_info), |
326 uint32 channel_index, AUDIO_COMMON_SWITCH mute_control); |
343 uint32 channel_index, AUDIO_COMMON_SWITCH mute_control); |