Skip to main content

basis_universal_sys/
transcoding_bindings.rs

1/* automatically generated by rust-bindgen 0.66.1 */
2
3pub const basisu_texture_format_cInvalidTextureFormat: basisu_texture_format = -1;
4pub const basisu_texture_format_cETC1: basisu_texture_format = 0;
5pub const basisu_texture_format_cETC1S: basisu_texture_format = 1;
6pub const basisu_texture_format_cETC2_RGB: basisu_texture_format = 2;
7pub const basisu_texture_format_cETC2_RGBA: basisu_texture_format = 3;
8pub const basisu_texture_format_cETC2_ALPHA: basisu_texture_format = 4;
9pub const basisu_texture_format_cBC1: basisu_texture_format = 5;
10pub const basisu_texture_format_cBC3: basisu_texture_format = 6;
11pub const basisu_texture_format_cBC4: basisu_texture_format = 7;
12pub const basisu_texture_format_cBC5: basisu_texture_format = 8;
13pub const basisu_texture_format_cBC7: basisu_texture_format = 9;
14pub const basisu_texture_format_cASTC4x4: basisu_texture_format = 10;
15pub const basisu_texture_format_cPVRTC1_4_RGB: basisu_texture_format = 11;
16pub const basisu_texture_format_cPVRTC1_4_RGBA: basisu_texture_format = 12;
17pub const basisu_texture_format_cATC_RGB: basisu_texture_format = 13;
18pub const basisu_texture_format_cATC_RGBA_INTERPOLATED_ALPHA: basisu_texture_format = 14;
19pub const basisu_texture_format_cFXT1_RGB: basisu_texture_format = 15;
20pub const basisu_texture_format_cPVRTC2_4_RGBA: basisu_texture_format = 16;
21pub const basisu_texture_format_cETC2_R11_EAC: basisu_texture_format = 17;
22pub const basisu_texture_format_cETC2_RG11_EAC: basisu_texture_format = 18;
23pub const basisu_texture_format_cUASTC4x4: basisu_texture_format = 19;
24pub const basisu_texture_format_cBC1_NV: basisu_texture_format = 20;
25pub const basisu_texture_format_cBC1_AMD: basisu_texture_format = 21;
26pub const basisu_texture_format_cRGBA32: basisu_texture_format = 22;
27pub const basisu_texture_format_cRGB565: basisu_texture_format = 23;
28pub const basisu_texture_format_cBGR565: basisu_texture_format = 24;
29pub const basisu_texture_format_cRGBA4444: basisu_texture_format = 25;
30pub const basisu_texture_format_cABGR4444: basisu_texture_format = 26;
31pub type basisu_texture_format = ::std::os::raw::c_int;
32pub const basist_block_format_cETC1: basist_block_format = 0;
33pub const basist_block_format_cETC2_RGBA: basist_block_format = 1;
34pub const basist_block_format_cBC1: basist_block_format = 2;
35pub const basist_block_format_cBC3: basist_block_format = 3;
36pub const basist_block_format_cBC4: basist_block_format = 4;
37pub const basist_block_format_cBC5: basist_block_format = 5;
38pub const basist_block_format_cPVRTC1_4_RGB: basist_block_format = 6;
39pub const basist_block_format_cPVRTC1_4_RGBA: basist_block_format = 7;
40pub const basist_block_format_cBC7: basist_block_format = 8;
41pub const basist_block_format_cBC7_M5_COLOR: basist_block_format = 9;
42pub const basist_block_format_cBC7_M5_ALPHA: basist_block_format = 10;
43pub const basist_block_format_cETC2_EAC_A8: basist_block_format = 11;
44pub const basist_block_format_cASTC_4x4: basist_block_format = 12;
45pub const basist_block_format_cATC_RGB: basist_block_format = 13;
46pub const basist_block_format_cATC_RGBA_INTERPOLATED_ALPHA: basist_block_format = 14;
47pub const basist_block_format_cFXT1_RGB: basist_block_format = 15;
48pub const basist_block_format_cPVRTC2_4_RGB: basist_block_format = 16;
49pub const basist_block_format_cPVRTC2_4_RGBA: basist_block_format = 17;
50pub const basist_block_format_cETC2_EAC_R11: basist_block_format = 18;
51pub const basist_block_format_cETC2_EAC_RG11: basist_block_format = 19;
52pub const basist_block_format_cIndices: basist_block_format = 20;
53pub const basist_block_format_cRGB32: basist_block_format = 21;
54pub const basist_block_format_cRGBA32: basist_block_format = 22;
55pub const basist_block_format_cA32: basist_block_format = 23;
56pub const basist_block_format_cRGB565: basist_block_format = 24;
57pub const basist_block_format_cBGR565: basist_block_format = 25;
58pub const basist_block_format_cRGBA4444_COLOR: basist_block_format = 26;
59pub const basist_block_format_cRGBA4444_ALPHA: basist_block_format = 27;
60pub const basist_block_format_cRGBA4444_COLOR_OPAQUE: basist_block_format = 28;
61pub const basist_block_format_cRGBA4444: basist_block_format = 29;
62pub const basist_block_format_cUASTC_4x4: basist_block_format = 30;
63pub const basist_block_format_cTotalBlockFormats: basist_block_format = 31;
64pub type basist_block_format = ::std::os::raw::c_int;
65pub const basist_basis_texture_type_cBASISTexType2D: basist_basis_texture_type = 0;
66pub const basist_basis_texture_type_cBASISTexType2DArray: basist_basis_texture_type = 1;
67pub const basist_basis_texture_type_cBASISTexTypeCubemapArray: basist_basis_texture_type = 2;
68pub const basist_basis_texture_type_cBASISTexTypeVideoFrames: basist_basis_texture_type = 3;
69pub const basist_basis_texture_type_cBASISTexTypeVolume: basist_basis_texture_type = 4;
70pub const basist_basis_texture_type_cBASISTexTypeTotal: basist_basis_texture_type = 5;
71pub type basist_basis_texture_type = ::std::os::raw::c_int;
72pub const basist_basis_tex_format_cETC1S: basist_basis_tex_format = 0;
73pub const basist_basis_tex_format_cUASTC4x4: basist_basis_tex_format = 1;
74pub type basist_basis_tex_format = ::std::os::raw::c_int;
75pub const basist_transcoder_texture_format_cTFETC1_RGB: basist_transcoder_texture_format = 0;
76pub const basist_transcoder_texture_format_cTFETC2_RGBA: basist_transcoder_texture_format = 1;
77pub const basist_transcoder_texture_format_cTFBC1_RGB: basist_transcoder_texture_format = 2;
78pub const basist_transcoder_texture_format_cTFBC3_RGBA: basist_transcoder_texture_format = 3;
79pub const basist_transcoder_texture_format_cTFBC4_R: basist_transcoder_texture_format = 4;
80pub const basist_transcoder_texture_format_cTFBC5_RG: basist_transcoder_texture_format = 5;
81pub const basist_transcoder_texture_format_cTFBC7_RGBA: basist_transcoder_texture_format = 6;
82pub const basist_transcoder_texture_format_cTFPVRTC1_4_RGB: basist_transcoder_texture_format = 8;
83pub const basist_transcoder_texture_format_cTFPVRTC1_4_RGBA: basist_transcoder_texture_format = 9;
84pub const basist_transcoder_texture_format_cTFASTC_4x4_RGBA: basist_transcoder_texture_format = 10;
85pub const basist_transcoder_texture_format_cTFATC_RGB: basist_transcoder_texture_format = 11;
86pub const basist_transcoder_texture_format_cTFATC_RGBA: basist_transcoder_texture_format = 12;
87pub const basist_transcoder_texture_format_cTFFXT1_RGB: basist_transcoder_texture_format = 17;
88pub const basist_transcoder_texture_format_cTFPVRTC2_4_RGB: basist_transcoder_texture_format = 18;
89pub const basist_transcoder_texture_format_cTFPVRTC2_4_RGBA: basist_transcoder_texture_format = 19;
90pub const basist_transcoder_texture_format_cTFETC2_EAC_R11: basist_transcoder_texture_format = 20;
91pub const basist_transcoder_texture_format_cTFETC2_EAC_RG11: basist_transcoder_texture_format = 21;
92pub const basist_transcoder_texture_format_cTFRGBA32: basist_transcoder_texture_format = 13;
93pub const basist_transcoder_texture_format_cTFRGB565: basist_transcoder_texture_format = 14;
94pub const basist_transcoder_texture_format_cTFBGR565: basist_transcoder_texture_format = 15;
95pub const basist_transcoder_texture_format_cTFRGBA4444: basist_transcoder_texture_format = 16;
96pub const basist_transcoder_texture_format_cTFTotalTextureFormats:
97    basist_transcoder_texture_format = 22;
98pub const basist_transcoder_texture_format_cTFETC1: basist_transcoder_texture_format = 0;
99pub const basist_transcoder_texture_format_cTFETC2: basist_transcoder_texture_format = 1;
100pub const basist_transcoder_texture_format_cTFBC1: basist_transcoder_texture_format = 2;
101pub const basist_transcoder_texture_format_cTFBC3: basist_transcoder_texture_format = 3;
102pub const basist_transcoder_texture_format_cTFBC4: basist_transcoder_texture_format = 4;
103pub const basist_transcoder_texture_format_cTFBC5: basist_transcoder_texture_format = 5;
104pub const basist_transcoder_texture_format_cTFBC7_M6_RGB: basist_transcoder_texture_format = 6;
105pub const basist_transcoder_texture_format_cTFBC7_M5_RGBA: basist_transcoder_texture_format = 6;
106pub const basist_transcoder_texture_format_cTFBC7_M6_OPAQUE_ONLY: basist_transcoder_texture_format =
107    6;
108pub const basist_transcoder_texture_format_cTFBC7_M5: basist_transcoder_texture_format = 6;
109pub const basist_transcoder_texture_format_cTFBC7_ALT: basist_transcoder_texture_format = 7;
110pub const basist_transcoder_texture_format_cTFASTC_4x4: basist_transcoder_texture_format = 10;
111pub const basist_transcoder_texture_format_cTFATC_RGBA_INTERPOLATED_ALPHA:
112    basist_transcoder_texture_format = 12;
113pub type basist_transcoder_texture_format = ::std::os::raw::c_int;
114#[repr(C)]
115#[repr(align(8))]
116pub struct basist_basisu_transcoder_state {
117    pub _bindgen_opaque_blob: [u64; 68usize],
118}
119#[repr(C)]
120#[derive(Debug, Copy, Clone)]
121pub struct basist_basisu_transcoder_state_block_preds {
122    pub m_endpoint_index: u16,
123    pub m_pred_bits: u8,
124}
125#[test]
126fn bindgen_test_layout_basist_basisu_transcoder_state_block_preds() {
127    const UNINIT: ::std::mem::MaybeUninit<basist_basisu_transcoder_state_block_preds> =
128        ::std::mem::MaybeUninit::uninit();
129    let ptr = UNINIT.as_ptr();
130    assert_eq!(
131        ::std::mem::size_of::<basist_basisu_transcoder_state_block_preds>(),
132        4usize,
133        concat!(
134            "Size of: ",
135            stringify!(basist_basisu_transcoder_state_block_preds)
136        )
137    );
138    assert_eq!(
139        ::std::mem::align_of::<basist_basisu_transcoder_state_block_preds>(),
140        2usize,
141        concat!(
142            "Alignment of ",
143            stringify!(basist_basisu_transcoder_state_block_preds)
144        )
145    );
146    assert_eq!(
147        unsafe { ::std::ptr::addr_of!((*ptr).m_endpoint_index) as usize - ptr as usize },
148        0usize,
149        concat!(
150            "Offset of field: ",
151            stringify!(basist_basisu_transcoder_state_block_preds),
152            "::",
153            stringify!(m_endpoint_index)
154        )
155    );
156    assert_eq!(
157        unsafe { ::std::ptr::addr_of!((*ptr).m_pred_bits) as usize - ptr as usize },
158        2usize,
159        concat!(
160            "Offset of field: ",
161            stringify!(basist_basisu_transcoder_state_block_preds),
162            "::",
163            stringify!(m_pred_bits)
164        )
165    );
166}
167pub const basist_basisu_transcoder_state_cMaxPrevFrameLevels:
168    basist_basisu_transcoder_state__bindgen_ty_1 = 16;
169pub type basist_basisu_transcoder_state__bindgen_ty_1 = ::std::os::raw::c_int;
170#[test]
171fn bindgen_test_layout_basist_basisu_transcoder_state() {
172    assert_eq!(
173        ::std::mem::size_of::<basist_basisu_transcoder_state>(),
174        544usize,
175        concat!("Size of: ", stringify!(basist_basisu_transcoder_state))
176    );
177    assert_eq!(
178        ::std::mem::align_of::<basist_basisu_transcoder_state>(),
179        8usize,
180        concat!("Alignment of ", stringify!(basist_basisu_transcoder_state))
181    );
182}
183pub const basist_basisu_decode_flags_cDecodeFlagsPVRTCDecodeToNextPow2: basist_basisu_decode_flags =
184    2;
185pub const basist_basisu_decode_flags_cDecodeFlagsTranscodeAlphaDataToOpaqueFormats:
186    basist_basisu_decode_flags = 4;
187pub const basist_basisu_decode_flags_cDecodeFlagsBC1ForbidThreeColorBlocks:
188    basist_basisu_decode_flags = 8;
189pub const basist_basisu_decode_flags_cDecodeFlagsOutputHasAlphaIndices: basist_basisu_decode_flags =
190    16;
191pub const basist_basisu_decode_flags_cDecodeFlagsHighQuality: basist_basisu_decode_flags = 32;
192pub type basist_basisu_decode_flags = ::std::os::raw::c_int;
193#[repr(C)]
194#[derive(Debug, Copy, Clone)]
195pub struct basist_basisu_image_info {
196    pub m_image_index: u32,
197    pub m_total_levels: u32,
198    pub m_orig_width: u32,
199    pub m_orig_height: u32,
200    pub m_width: u32,
201    pub m_height: u32,
202    pub m_num_blocks_x: u32,
203    pub m_num_blocks_y: u32,
204    pub m_total_blocks: u32,
205    pub m_first_slice_index: u32,
206    pub m_alpha_flag: bool,
207    pub m_iframe_flag: bool,
208}
209#[test]
210fn bindgen_test_layout_basist_basisu_image_info() {
211    const UNINIT: ::std::mem::MaybeUninit<basist_basisu_image_info> =
212        ::std::mem::MaybeUninit::uninit();
213    let ptr = UNINIT.as_ptr();
214    assert_eq!(
215        ::std::mem::size_of::<basist_basisu_image_info>(),
216        44usize,
217        concat!("Size of: ", stringify!(basist_basisu_image_info))
218    );
219    assert_eq!(
220        ::std::mem::align_of::<basist_basisu_image_info>(),
221        4usize,
222        concat!("Alignment of ", stringify!(basist_basisu_image_info))
223    );
224    assert_eq!(
225        unsafe { ::std::ptr::addr_of!((*ptr).m_image_index) as usize - ptr as usize },
226        0usize,
227        concat!(
228            "Offset of field: ",
229            stringify!(basist_basisu_image_info),
230            "::",
231            stringify!(m_image_index)
232        )
233    );
234    assert_eq!(
235        unsafe { ::std::ptr::addr_of!((*ptr).m_total_levels) as usize - ptr as usize },
236        4usize,
237        concat!(
238            "Offset of field: ",
239            stringify!(basist_basisu_image_info),
240            "::",
241            stringify!(m_total_levels)
242        )
243    );
244    assert_eq!(
245        unsafe { ::std::ptr::addr_of!((*ptr).m_orig_width) as usize - ptr as usize },
246        8usize,
247        concat!(
248            "Offset of field: ",
249            stringify!(basist_basisu_image_info),
250            "::",
251            stringify!(m_orig_width)
252        )
253    );
254    assert_eq!(
255        unsafe { ::std::ptr::addr_of!((*ptr).m_orig_height) as usize - ptr as usize },
256        12usize,
257        concat!(
258            "Offset of field: ",
259            stringify!(basist_basisu_image_info),
260            "::",
261            stringify!(m_orig_height)
262        )
263    );
264    assert_eq!(
265        unsafe { ::std::ptr::addr_of!((*ptr).m_width) as usize - ptr as usize },
266        16usize,
267        concat!(
268            "Offset of field: ",
269            stringify!(basist_basisu_image_info),
270            "::",
271            stringify!(m_width)
272        )
273    );
274    assert_eq!(
275        unsafe { ::std::ptr::addr_of!((*ptr).m_height) as usize - ptr as usize },
276        20usize,
277        concat!(
278            "Offset of field: ",
279            stringify!(basist_basisu_image_info),
280            "::",
281            stringify!(m_height)
282        )
283    );
284    assert_eq!(
285        unsafe { ::std::ptr::addr_of!((*ptr).m_num_blocks_x) as usize - ptr as usize },
286        24usize,
287        concat!(
288            "Offset of field: ",
289            stringify!(basist_basisu_image_info),
290            "::",
291            stringify!(m_num_blocks_x)
292        )
293    );
294    assert_eq!(
295        unsafe { ::std::ptr::addr_of!((*ptr).m_num_blocks_y) as usize - ptr as usize },
296        28usize,
297        concat!(
298            "Offset of field: ",
299            stringify!(basist_basisu_image_info),
300            "::",
301            stringify!(m_num_blocks_y)
302        )
303    );
304    assert_eq!(
305        unsafe { ::std::ptr::addr_of!((*ptr).m_total_blocks) as usize - ptr as usize },
306        32usize,
307        concat!(
308            "Offset of field: ",
309            stringify!(basist_basisu_image_info),
310            "::",
311            stringify!(m_total_blocks)
312        )
313    );
314    assert_eq!(
315        unsafe { ::std::ptr::addr_of!((*ptr).m_first_slice_index) as usize - ptr as usize },
316        36usize,
317        concat!(
318            "Offset of field: ",
319            stringify!(basist_basisu_image_info),
320            "::",
321            stringify!(m_first_slice_index)
322        )
323    );
324    assert_eq!(
325        unsafe { ::std::ptr::addr_of!((*ptr).m_alpha_flag) as usize - ptr as usize },
326        40usize,
327        concat!(
328            "Offset of field: ",
329            stringify!(basist_basisu_image_info),
330            "::",
331            stringify!(m_alpha_flag)
332        )
333    );
334    assert_eq!(
335        unsafe { ::std::ptr::addr_of!((*ptr).m_iframe_flag) as usize - ptr as usize },
336        41usize,
337        concat!(
338            "Offset of field: ",
339            stringify!(basist_basisu_image_info),
340            "::",
341            stringify!(m_iframe_flag)
342        )
343    );
344}
345#[repr(C)]
346#[derive(Debug, Copy, Clone)]
347pub struct basist_basisu_image_level_info {
348    pub m_image_index: u32,
349    pub m_level_index: u32,
350    pub m_orig_width: u32,
351    pub m_orig_height: u32,
352    pub m_width: u32,
353    pub m_height: u32,
354    pub m_num_blocks_x: u32,
355    pub m_num_blocks_y: u32,
356    pub m_total_blocks: u32,
357    pub m_first_slice_index: u32,
358    pub m_rgb_file_ofs: u32,
359    pub m_rgb_file_len: u32,
360    pub m_alpha_file_ofs: u32,
361    pub m_alpha_file_len: u32,
362    pub m_alpha_flag: bool,
363    pub m_iframe_flag: bool,
364}
365#[test]
366fn bindgen_test_layout_basist_basisu_image_level_info() {
367    const UNINIT: ::std::mem::MaybeUninit<basist_basisu_image_level_info> =
368        ::std::mem::MaybeUninit::uninit();
369    let ptr = UNINIT.as_ptr();
370    assert_eq!(
371        ::std::mem::size_of::<basist_basisu_image_level_info>(),
372        60usize,
373        concat!("Size of: ", stringify!(basist_basisu_image_level_info))
374    );
375    assert_eq!(
376        ::std::mem::align_of::<basist_basisu_image_level_info>(),
377        4usize,
378        concat!("Alignment of ", stringify!(basist_basisu_image_level_info))
379    );
380    assert_eq!(
381        unsafe { ::std::ptr::addr_of!((*ptr).m_image_index) as usize - ptr as usize },
382        0usize,
383        concat!(
384            "Offset of field: ",
385            stringify!(basist_basisu_image_level_info),
386            "::",
387            stringify!(m_image_index)
388        )
389    );
390    assert_eq!(
391        unsafe { ::std::ptr::addr_of!((*ptr).m_level_index) as usize - ptr as usize },
392        4usize,
393        concat!(
394            "Offset of field: ",
395            stringify!(basist_basisu_image_level_info),
396            "::",
397            stringify!(m_level_index)
398        )
399    );
400    assert_eq!(
401        unsafe { ::std::ptr::addr_of!((*ptr).m_orig_width) as usize - ptr as usize },
402        8usize,
403        concat!(
404            "Offset of field: ",
405            stringify!(basist_basisu_image_level_info),
406            "::",
407            stringify!(m_orig_width)
408        )
409    );
410    assert_eq!(
411        unsafe { ::std::ptr::addr_of!((*ptr).m_orig_height) as usize - ptr as usize },
412        12usize,
413        concat!(
414            "Offset of field: ",
415            stringify!(basist_basisu_image_level_info),
416            "::",
417            stringify!(m_orig_height)
418        )
419    );
420    assert_eq!(
421        unsafe { ::std::ptr::addr_of!((*ptr).m_width) as usize - ptr as usize },
422        16usize,
423        concat!(
424            "Offset of field: ",
425            stringify!(basist_basisu_image_level_info),
426            "::",
427            stringify!(m_width)
428        )
429    );
430    assert_eq!(
431        unsafe { ::std::ptr::addr_of!((*ptr).m_height) as usize - ptr as usize },
432        20usize,
433        concat!(
434            "Offset of field: ",
435            stringify!(basist_basisu_image_level_info),
436            "::",
437            stringify!(m_height)
438        )
439    );
440    assert_eq!(
441        unsafe { ::std::ptr::addr_of!((*ptr).m_num_blocks_x) as usize - ptr as usize },
442        24usize,
443        concat!(
444            "Offset of field: ",
445            stringify!(basist_basisu_image_level_info),
446            "::",
447            stringify!(m_num_blocks_x)
448        )
449    );
450    assert_eq!(
451        unsafe { ::std::ptr::addr_of!((*ptr).m_num_blocks_y) as usize - ptr as usize },
452        28usize,
453        concat!(
454            "Offset of field: ",
455            stringify!(basist_basisu_image_level_info),
456            "::",
457            stringify!(m_num_blocks_y)
458        )
459    );
460    assert_eq!(
461        unsafe { ::std::ptr::addr_of!((*ptr).m_total_blocks) as usize - ptr as usize },
462        32usize,
463        concat!(
464            "Offset of field: ",
465            stringify!(basist_basisu_image_level_info),
466            "::",
467            stringify!(m_total_blocks)
468        )
469    );
470    assert_eq!(
471        unsafe { ::std::ptr::addr_of!((*ptr).m_first_slice_index) as usize - ptr as usize },
472        36usize,
473        concat!(
474            "Offset of field: ",
475            stringify!(basist_basisu_image_level_info),
476            "::",
477            stringify!(m_first_slice_index)
478        )
479    );
480    assert_eq!(
481        unsafe { ::std::ptr::addr_of!((*ptr).m_rgb_file_ofs) as usize - ptr as usize },
482        40usize,
483        concat!(
484            "Offset of field: ",
485            stringify!(basist_basisu_image_level_info),
486            "::",
487            stringify!(m_rgb_file_ofs)
488        )
489    );
490    assert_eq!(
491        unsafe { ::std::ptr::addr_of!((*ptr).m_rgb_file_len) as usize - ptr as usize },
492        44usize,
493        concat!(
494            "Offset of field: ",
495            stringify!(basist_basisu_image_level_info),
496            "::",
497            stringify!(m_rgb_file_len)
498        )
499    );
500    assert_eq!(
501        unsafe { ::std::ptr::addr_of!((*ptr).m_alpha_file_ofs) as usize - ptr as usize },
502        48usize,
503        concat!(
504            "Offset of field: ",
505            stringify!(basist_basisu_image_level_info),
506            "::",
507            stringify!(m_alpha_file_ofs)
508        )
509    );
510    assert_eq!(
511        unsafe { ::std::ptr::addr_of!((*ptr).m_alpha_file_len) as usize - ptr as usize },
512        52usize,
513        concat!(
514            "Offset of field: ",
515            stringify!(basist_basisu_image_level_info),
516            "::",
517            stringify!(m_alpha_file_len)
518        )
519    );
520    assert_eq!(
521        unsafe { ::std::ptr::addr_of!((*ptr).m_alpha_flag) as usize - ptr as usize },
522        56usize,
523        concat!(
524            "Offset of field: ",
525            stringify!(basist_basisu_image_level_info),
526            "::",
527            stringify!(m_alpha_flag)
528        )
529    );
530    assert_eq!(
531        unsafe { ::std::ptr::addr_of!((*ptr).m_iframe_flag) as usize - ptr as usize },
532        57usize,
533        concat!(
534            "Offset of field: ",
535            stringify!(basist_basisu_image_level_info),
536            "::",
537            stringify!(m_iframe_flag)
538        )
539    );
540}
541#[repr(C)]
542#[derive(Debug, Copy, Clone)]
543pub struct FileInfo {
544    pub m_version: u32,
545    pub m_total_header_size: u32,
546    pub m_total_selectors: u32,
547    pub m_selector_codebook_ofs: u32,
548    pub m_selector_codebook_size: u32,
549    pub m_total_endpoints: u32,
550    pub m_endpoint_codebook_ofs: u32,
551    pub m_endpoint_codebook_size: u32,
552    pub m_tables_ofs: u32,
553    pub m_tables_size: u32,
554    pub m_slices_size: u32,
555    pub m_tex_type: basist_basis_texture_type,
556    pub m_us_per_frame: u32,
557    pub m_total_images: u32,
558    pub m_userdata0: u32,
559    pub m_userdata1: u32,
560    pub m_tex_format: basist_basis_tex_format,
561    pub m_y_flipped: bool,
562    pub m_etc1s: bool,
563    pub m_has_alpha_slices: bool,
564}
565#[test]
566fn bindgen_test_layout_FileInfo() {
567    const UNINIT: ::std::mem::MaybeUninit<FileInfo> = ::std::mem::MaybeUninit::uninit();
568    let ptr = UNINIT.as_ptr();
569    assert_eq!(
570        ::std::mem::size_of::<FileInfo>(),
571        72usize,
572        concat!("Size of: ", stringify!(FileInfo))
573    );
574    assert_eq!(
575        ::std::mem::align_of::<FileInfo>(),
576        4usize,
577        concat!("Alignment of ", stringify!(FileInfo))
578    );
579    assert_eq!(
580        unsafe { ::std::ptr::addr_of!((*ptr).m_version) as usize - ptr as usize },
581        0usize,
582        concat!(
583            "Offset of field: ",
584            stringify!(FileInfo),
585            "::",
586            stringify!(m_version)
587        )
588    );
589    assert_eq!(
590        unsafe { ::std::ptr::addr_of!((*ptr).m_total_header_size) as usize - ptr as usize },
591        4usize,
592        concat!(
593            "Offset of field: ",
594            stringify!(FileInfo),
595            "::",
596            stringify!(m_total_header_size)
597        )
598    );
599    assert_eq!(
600        unsafe { ::std::ptr::addr_of!((*ptr).m_total_selectors) as usize - ptr as usize },
601        8usize,
602        concat!(
603            "Offset of field: ",
604            stringify!(FileInfo),
605            "::",
606            stringify!(m_total_selectors)
607        )
608    );
609    assert_eq!(
610        unsafe { ::std::ptr::addr_of!((*ptr).m_selector_codebook_ofs) as usize - ptr as usize },
611        12usize,
612        concat!(
613            "Offset of field: ",
614            stringify!(FileInfo),
615            "::",
616            stringify!(m_selector_codebook_ofs)
617        )
618    );
619    assert_eq!(
620        unsafe { ::std::ptr::addr_of!((*ptr).m_selector_codebook_size) as usize - ptr as usize },
621        16usize,
622        concat!(
623            "Offset of field: ",
624            stringify!(FileInfo),
625            "::",
626            stringify!(m_selector_codebook_size)
627        )
628    );
629    assert_eq!(
630        unsafe { ::std::ptr::addr_of!((*ptr).m_total_endpoints) as usize - ptr as usize },
631        20usize,
632        concat!(
633            "Offset of field: ",
634            stringify!(FileInfo),
635            "::",
636            stringify!(m_total_endpoints)
637        )
638    );
639    assert_eq!(
640        unsafe { ::std::ptr::addr_of!((*ptr).m_endpoint_codebook_ofs) as usize - ptr as usize },
641        24usize,
642        concat!(
643            "Offset of field: ",
644            stringify!(FileInfo),
645            "::",
646            stringify!(m_endpoint_codebook_ofs)
647        )
648    );
649    assert_eq!(
650        unsafe { ::std::ptr::addr_of!((*ptr).m_endpoint_codebook_size) as usize - ptr as usize },
651        28usize,
652        concat!(
653            "Offset of field: ",
654            stringify!(FileInfo),
655            "::",
656            stringify!(m_endpoint_codebook_size)
657        )
658    );
659    assert_eq!(
660        unsafe { ::std::ptr::addr_of!((*ptr).m_tables_ofs) as usize - ptr as usize },
661        32usize,
662        concat!(
663            "Offset of field: ",
664            stringify!(FileInfo),
665            "::",
666            stringify!(m_tables_ofs)
667        )
668    );
669    assert_eq!(
670        unsafe { ::std::ptr::addr_of!((*ptr).m_tables_size) as usize - ptr as usize },
671        36usize,
672        concat!(
673            "Offset of field: ",
674            stringify!(FileInfo),
675            "::",
676            stringify!(m_tables_size)
677        )
678    );
679    assert_eq!(
680        unsafe { ::std::ptr::addr_of!((*ptr).m_slices_size) as usize - ptr as usize },
681        40usize,
682        concat!(
683            "Offset of field: ",
684            stringify!(FileInfo),
685            "::",
686            stringify!(m_slices_size)
687        )
688    );
689    assert_eq!(
690        unsafe { ::std::ptr::addr_of!((*ptr).m_tex_type) as usize - ptr as usize },
691        44usize,
692        concat!(
693            "Offset of field: ",
694            stringify!(FileInfo),
695            "::",
696            stringify!(m_tex_type)
697        )
698    );
699    assert_eq!(
700        unsafe { ::std::ptr::addr_of!((*ptr).m_us_per_frame) as usize - ptr as usize },
701        48usize,
702        concat!(
703            "Offset of field: ",
704            stringify!(FileInfo),
705            "::",
706            stringify!(m_us_per_frame)
707        )
708    );
709    assert_eq!(
710        unsafe { ::std::ptr::addr_of!((*ptr).m_total_images) as usize - ptr as usize },
711        52usize,
712        concat!(
713            "Offset of field: ",
714            stringify!(FileInfo),
715            "::",
716            stringify!(m_total_images)
717        )
718    );
719    assert_eq!(
720        unsafe { ::std::ptr::addr_of!((*ptr).m_userdata0) as usize - ptr as usize },
721        56usize,
722        concat!(
723            "Offset of field: ",
724            stringify!(FileInfo),
725            "::",
726            stringify!(m_userdata0)
727        )
728    );
729    assert_eq!(
730        unsafe { ::std::ptr::addr_of!((*ptr).m_userdata1) as usize - ptr as usize },
731        60usize,
732        concat!(
733            "Offset of field: ",
734            stringify!(FileInfo),
735            "::",
736            stringify!(m_userdata1)
737        )
738    );
739    assert_eq!(
740        unsafe { ::std::ptr::addr_of!((*ptr).m_tex_format) as usize - ptr as usize },
741        64usize,
742        concat!(
743            "Offset of field: ",
744            stringify!(FileInfo),
745            "::",
746            stringify!(m_tex_format)
747        )
748    );
749    assert_eq!(
750        unsafe { ::std::ptr::addr_of!((*ptr).m_y_flipped) as usize - ptr as usize },
751        68usize,
752        concat!(
753            "Offset of field: ",
754            stringify!(FileInfo),
755            "::",
756            stringify!(m_y_flipped)
757        )
758    );
759    assert_eq!(
760        unsafe { ::std::ptr::addr_of!((*ptr).m_etc1s) as usize - ptr as usize },
761        69usize,
762        concat!(
763            "Offset of field: ",
764            stringify!(FileInfo),
765            "::",
766            stringify!(m_etc1s)
767        )
768    );
769    assert_eq!(
770        unsafe { ::std::ptr::addr_of!((*ptr).m_has_alpha_slices) as usize - ptr as usize },
771        70usize,
772        concat!(
773            "Offset of field: ",
774            stringify!(FileInfo),
775            "::",
776            stringify!(m_has_alpha_slices)
777        )
778    );
779}
780extern "C" {
781    pub fn basis_get_bytes_per_block_or_pixel(fmt: basist_transcoder_texture_format) -> u32;
782}
783extern "C" {
784    pub fn basis_get_format_name(
785        fmt: basist_transcoder_texture_format
786    ) -> *const ::std::os::raw::c_char;
787}
788extern "C" {
789    pub fn basis_get_block_format_name(fmt: basist_block_format) -> *const ::std::os::raw::c_char;
790}
791extern "C" {
792    pub fn basis_transcoder_format_has_alpha(fmt: basist_transcoder_texture_format) -> bool;
793}
794extern "C" {
795    pub fn basis_get_basisu_texture_format(
796        fmt: basist_transcoder_texture_format
797    ) -> basisu_texture_format;
798}
799extern "C" {
800    pub fn basis_get_texture_type_name(
801        tex_type: basist_basis_texture_type
802    ) -> *const ::std::os::raw::c_char;
803}
804extern "C" {
805    pub fn basis_transcoder_format_is_uncompressed(
806        tex_type: basist_transcoder_texture_format
807    ) -> bool;
808}
809extern "C" {
810    pub fn basis_block_format_is_uncompressed(fmt: basist_block_format) -> bool;
811}
812extern "C" {
813    pub fn basis_get_uncompressed_bytes_per_pixel(fmt: basist_transcoder_texture_format) -> u32;
814}
815extern "C" {
816    pub fn basis_get_block_width(tex_type: basist_transcoder_texture_format) -> u32;
817}
818extern "C" {
819    pub fn basis_get_block_height(tex_type: basist_transcoder_texture_format) -> u32;
820}
821extern "C" {
822    pub fn basis_is_format_supported(
823        tex_type: basist_transcoder_texture_format,
824        fmt: basist_basis_tex_format,
825    ) -> bool;
826}
827extern "C" {
828    pub fn basis_validate_output_buffer_size(
829        target_format: basist_transcoder_texture_format,
830        output_blocks_buf_size_in_blocks_or_pixels: u32,
831        orig_width: u32,
832        orig_height: u32,
833        output_row_pitch_in_blocks_or_pixels: u32,
834        output_rows_in_pixels: u32,
835        total_slice_blocks: u32,
836    ) -> bool;
837}
838#[repr(C)]
839#[repr(align(8))]
840#[derive(Debug, Copy, Clone)]
841pub struct LowLevelUastcTranscoder {
842    pub _bindgen_opaque_blob: u64,
843}
844#[test]
845fn bindgen_test_layout_LowLevelUastcTranscoder() {
846    assert_eq!(
847        ::std::mem::size_of::<LowLevelUastcTranscoder>(),
848        8usize,
849        concat!("Size of: ", stringify!(LowLevelUastcTranscoder))
850    );
851    assert_eq!(
852        ::std::mem::align_of::<LowLevelUastcTranscoder>(),
853        8usize,
854        concat!("Alignment of ", stringify!(LowLevelUastcTranscoder))
855    );
856}
857extern "C" {
858    pub fn low_level_uastc_transcoder_new() -> *mut LowLevelUastcTranscoder;
859}
860extern "C" {
861    pub fn low_level_uastc_transcoder_delete(transcoder: *mut LowLevelUastcTranscoder);
862}
863extern "C" {
864    pub fn low_level_uastc_transcoder_transcode_slice(
865        transcoder: *mut LowLevelUastcTranscoder,
866        pDst_blocks: *mut ::std::os::raw::c_void,
867        num_blocks_x: u32,
868        num_blocks_y: u32,
869        pImage_data: *const u8,
870        image_data_size: u32,
871        fmt: basist_block_format,
872        output_block_or_pixel_stride_in_bytes: u32,
873        bc1_allow_threecolor_blocks: bool,
874        has_alpha: bool,
875        orig_width: u32,
876        orig_height: u32,
877        output_row_pitch_in_blocks_or_pixels: u32,
878        pState: *mut basist_basisu_transcoder_state,
879        output_rows_in_pixels: u32,
880        channel0: ::std::os::raw::c_int,
881        channel1: ::std::os::raw::c_int,
882        decode_flags: i32,
883    ) -> bool;
884}
885#[repr(C)]
886#[repr(align(8))]
887#[derive(Debug, Copy, Clone)]
888pub struct Transcoder {
889    pub _bindgen_opaque_blob: u64,
890}
891#[test]
892fn bindgen_test_layout_Transcoder() {
893    assert_eq!(
894        ::std::mem::size_of::<Transcoder>(),
895        8usize,
896        concat!("Size of: ", stringify!(Transcoder))
897    );
898    assert_eq!(
899        ::std::mem::align_of::<Transcoder>(),
900        8usize,
901        concat!("Alignment of ", stringify!(Transcoder))
902    );
903}
904extern "C" {
905    pub fn transcoder_new() -> *mut Transcoder;
906}
907extern "C" {
908    pub fn transcoder_delete(transcoder: *mut Transcoder);
909}
910extern "C" {
911    pub fn transcoder_validate_file_checksums(
912        transcoder: *const Transcoder,
913        pData: *const ::std::os::raw::c_void,
914        data_size: u32,
915        full_validation: bool,
916    ) -> bool;
917}
918extern "C" {
919    pub fn transcoder_validate_header(
920        transcoder: *const Transcoder,
921        pData: *const ::std::os::raw::c_void,
922        data_size: u32,
923    ) -> bool;
924}
925extern "C" {
926    pub fn transcoder_get_texture_type(
927        transcoder: *const Transcoder,
928        pData: *const ::std::os::raw::c_void,
929        data_size: u32,
930    ) -> basist_basis_texture_type;
931}
932extern "C" {
933    pub fn transcoder_get_userdata(
934        transcoder: *const Transcoder,
935        pData: *const ::std::os::raw::c_void,
936        data_size: u32,
937        userdata0: *mut u32,
938        userdata1: *mut u32,
939    ) -> bool;
940}
941extern "C" {
942    pub fn transcoder_get_total_images(
943        transcoder: *const Transcoder,
944        pData: *const ::std::os::raw::c_void,
945        data_size: u32,
946    ) -> u32;
947}
948extern "C" {
949    pub fn transcoder_get_tex_format(
950        transcoder: *const Transcoder,
951        pData: *const ::std::os::raw::c_void,
952        data_size: u32,
953    ) -> basist_basis_tex_format;
954}
955extern "C" {
956    pub fn transcoder_get_total_image_levels(
957        transcoder: *const Transcoder,
958        pData: *const ::std::os::raw::c_void,
959        data_size: u32,
960        image_index: u32,
961    ) -> u32;
962}
963extern "C" {
964    pub fn transcoder_get_image_level_desc(
965        transcoder: *const Transcoder,
966        pData: *const ::std::os::raw::c_void,
967        data_size: u32,
968        image_index: u32,
969        level_index: u32,
970        orig_width: *mut u32,
971        orig_height: *mut u32,
972        total_blocks: *mut u32,
973    ) -> bool;
974}
975extern "C" {
976    pub fn transcoder_get_image_info(
977        transcoder: *const Transcoder,
978        pData: *const ::std::os::raw::c_void,
979        data_size: u32,
980        image_info: *mut basist_basisu_image_info,
981        image_index: u32,
982    ) -> bool;
983}
984extern "C" {
985    pub fn transcoder_get_image_level_info(
986        transcoder: *const Transcoder,
987        pData: *const ::std::os::raw::c_void,
988        data_size: u32,
989        level_info: *mut basist_basisu_image_level_info,
990        image_index: u32,
991        level_index: u32,
992    ) -> bool;
993}
994extern "C" {
995    pub fn transcoder_get_file_info(
996        transcoder: *mut Transcoder,
997        pData: *const ::std::os::raw::c_void,
998        data_size: u32,
999        file_info: *mut FileInfo,
1000    ) -> bool;
1001}
1002extern "C" {
1003    pub fn transcoder_start_transcoding(
1004        transcoder: *mut Transcoder,
1005        pData: *const ::std::os::raw::c_void,
1006        data_size: u32,
1007    ) -> bool;
1008}
1009extern "C" {
1010    pub fn transcoder_stop_transcoding(transcoder: *mut Transcoder) -> bool;
1011}
1012extern "C" {
1013    pub fn transcoder_get_ready_to_transcode(transcoder: *const Transcoder) -> bool;
1014}
1015extern "C" {
1016    pub fn transcoder_transcode_image_level(
1017        transcoder: *mut Transcoder,
1018        pData: *const ::std::os::raw::c_void,
1019        data_size: u32,
1020        image_index: u32,
1021        level_index: u32,
1022        pOutput_blocks: *mut ::std::os::raw::c_void,
1023        output_blocks_buf_size_in_blocks_or_pixels: u32,
1024        fmt: basist_transcoder_texture_format,
1025        decode_flags: basist_basisu_decode_flags,
1026        output_row_pitch_in_blocks_or_pixels: u32,
1027        pState: *mut basist_basisu_transcoder_state,
1028        output_rows_in_pixels: u32,
1029    ) -> bool;
1030}
1031extern "C" {
1032    pub fn basisu_transcoder_init();
1033}