pub const di_gtf_ip_param_DI_GTF_IP_PARAM_V_FRAME_RATE: di_gtf_ip_param = 0;
pub const di_gtf_ip_param_DI_GTF_IP_PARAM_H_FREQ: di_gtf_ip_param = 1;
pub const di_gtf_ip_param_DI_GTF_IP_PARAM_H_PIXELS: di_gtf_ip_param = 2;
#[doc = " Type of frequency parameter used in di_gtf_options.ip_freq_rqd."]
pub type di_gtf_ip_param = ::std::os::raw::c_uint;
#[doc = " Input options for GTF."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct di_gtf_options {
pub h_pixels: ::std::os::raw::c_int,
pub v_lines: ::std::os::raw::c_int,
pub margins_rqd: bool,
pub ip_param: di_gtf_ip_param,
pub ip_freq_rqd: f64,
pub int_rqd: bool,
pub m: f64,
pub c: f64,
pub k: f64,
pub j: f64,
}
#[test]
fn bindgen_test_layout_di_gtf_options() {
const UNINIT: ::std::mem::MaybeUninit<di_gtf_options> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<di_gtf_options>(),
64usize,
concat!("Size of: ", stringify!(di_gtf_options))
);
assert_eq!(
::std::mem::align_of::<di_gtf_options>(),
8usize,
concat!("Alignment of ", stringify!(di_gtf_options))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).h_pixels) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(di_gtf_options),
"::",
stringify!(h_pixels)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).v_lines) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(di_gtf_options),
"::",
stringify!(v_lines)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).margins_rqd) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(di_gtf_options),
"::",
stringify!(margins_rqd)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ip_param) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(di_gtf_options),
"::",
stringify!(ip_param)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).ip_freq_rqd) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(di_gtf_options),
"::",
stringify!(ip_freq_rqd)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).int_rqd) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(di_gtf_options),
"::",
stringify!(int_rqd)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).m) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(di_gtf_options),
"::",
stringify!(m)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).c) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(di_gtf_options),
"::",
stringify!(c)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).k) as usize - ptr as usize },
48usize,
concat!(
"Offset of field: ",
stringify!(di_gtf_options),
"::",
stringify!(k)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).j) as usize - ptr as usize },
56usize,
concat!(
"Offset of field: ",
stringify!(di_gtf_options),
"::",
stringify!(j)
)
);
}
#[doc = " Output timing data for GTF."]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct di_gtf_timing {
pub h_pixels: ::std::os::raw::c_int,
pub v_lines: ::std::os::raw::c_int,
pub h_sync: ::std::os::raw::c_int,
pub v_sync: ::std::os::raw::c_int,
pub h_front_porch: ::std::os::raw::c_int,
pub h_back_porch: ::std::os::raw::c_int,
pub v_front_porch: ::std::os::raw::c_int,
pub v_back_porch: ::std::os::raw::c_int,
pub h_border: ::std::os::raw::c_int,
pub v_border: ::std::os::raw::c_int,
pub pixel_freq_mhz: f64,
}
#[test]
fn bindgen_test_layout_di_gtf_timing() {
const UNINIT: ::std::mem::MaybeUninit<di_gtf_timing> = ::std::mem::MaybeUninit::uninit();
let ptr = UNINIT.as_ptr();
assert_eq!(
::std::mem::size_of::<di_gtf_timing>(),
48usize,
concat!("Size of: ", stringify!(di_gtf_timing))
);
assert_eq!(
::std::mem::align_of::<di_gtf_timing>(),
8usize,
concat!("Alignment of ", stringify!(di_gtf_timing))
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).h_pixels) as usize - ptr as usize },
0usize,
concat!(
"Offset of field: ",
stringify!(di_gtf_timing),
"::",
stringify!(h_pixels)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).v_lines) as usize - ptr as usize },
4usize,
concat!(
"Offset of field: ",
stringify!(di_gtf_timing),
"::",
stringify!(v_lines)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).h_sync) as usize - ptr as usize },
8usize,
concat!(
"Offset of field: ",
stringify!(di_gtf_timing),
"::",
stringify!(h_sync)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).v_sync) as usize - ptr as usize },
12usize,
concat!(
"Offset of field: ",
stringify!(di_gtf_timing),
"::",
stringify!(v_sync)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).h_front_porch) as usize - ptr as usize },
16usize,
concat!(
"Offset of field: ",
stringify!(di_gtf_timing),
"::",
stringify!(h_front_porch)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).h_back_porch) as usize - ptr as usize },
20usize,
concat!(
"Offset of field: ",
stringify!(di_gtf_timing),
"::",
stringify!(h_back_porch)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).v_front_porch) as usize - ptr as usize },
24usize,
concat!(
"Offset of field: ",
stringify!(di_gtf_timing),
"::",
stringify!(v_front_porch)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).v_back_porch) as usize - ptr as usize },
28usize,
concat!(
"Offset of field: ",
stringify!(di_gtf_timing),
"::",
stringify!(v_back_porch)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).h_border) as usize - ptr as usize },
32usize,
concat!(
"Offset of field: ",
stringify!(di_gtf_timing),
"::",
stringify!(h_border)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).v_border) as usize - ptr as usize },
36usize,
concat!(
"Offset of field: ",
stringify!(di_gtf_timing),
"::",
stringify!(v_border)
)
);
assert_eq!(
unsafe { ::std::ptr::addr_of!((*ptr).pixel_freq_mhz) as usize - ptr as usize },
40usize,
concat!(
"Offset of field: ",
stringify!(di_gtf_timing),
"::",
stringify!(pixel_freq_mhz)
)
);
}
extern "C" {
#[doc = " Compute a timing via the GTF formula."]
pub fn di_gtf_compute(t: *mut di_gtf_timing, options: *const di_gtf_options);
}