1use std::ffi::{CString, c_void};
2use std::os::raw::{c_char, c_int};
3use libc::{size_t, c_float};
4use crate::sys::webp::{
5 self as webp_sys,
6 WebPConfig,
7 WebPPicture,
8};
9
10pub fn empty_lossless_webp_picture() -> WebPPicture {
12 WebPPicture {
13 use_argb: 1,
14
15 colorspace: webp_sys::WEBP_YUV420,
17 width: 0,
18 height: 0,
19 y: std::ptr::null_mut(),
20 u: std::ptr::null_mut(),
21 v: std::ptr::null_mut(),
22 y_stride: 0,
23 uv_stride: 0,
24 a: std::ptr::null_mut(),
25 a_stride: 0,
26 pad1: [0, 0],
27
28 argb: std::ptr::null_mut(),
30 argb_stride: 0,
31 pad2: [
32 0,
33 0,
34 0,
35 ],
36
37 writer: None,
39 custom_ptr: std::ptr::null_mut(),
40 extra_info_type: 0,
41 extra_info: std::ptr::null_mut(),
42
43 stats: std::ptr::null_mut(),
45 error_code: webp_sys::VP8_ENC_OK,
46 progress_hook: None,
47 user_data: std::ptr::null_mut(),
48
49 pad3: [0, 0, 0],
51
52 pad4: std::ptr::null_mut(),
54 pad5: std::ptr::null_mut(),
55
56 pad6: [0, 0, 0, 0, 0, 0, 0, 0],
58
59 memory_: std::ptr::null_mut(),
61 memory_argb_: std::ptr::null_mut(),
62 pad7: [std::ptr::null_mut(), std::ptr::null_mut()],
63 }
64}
65
66pub fn empty_lossy_webp_picture() -> WebPPicture {
68 let mut picture = empty_lossless_webp_picture();
69 picture.use_argb = 0;
70 picture
71}
72