/* @generated by `//build/rust/gni_impl/run_bindgen.py` v2025-12-22 */
/* automatically generated by rust-bindgen 0.72.1 */

pub const LIBYUV_VERSION: u32 = 1948;
pub const FilterMode_kFilterNone: FilterMode = 0;
pub const FilterMode_kFilterLinear: FilterMode = 1;
pub const FilterMode_kFilterBilinear: FilterMode = 2;
pub const FilterMode_kFilterBox: FilterMode = 3;
pub type FilterMode = ::std::os::raw::c_uint;
unsafe extern "C" {
    pub fn ScalePlane(
        src: *const u8,
        src_stride: ::std::os::raw::c_int,
        src_width: ::std::os::raw::c_int,
        src_height: ::std::os::raw::c_int,
        dst: *mut u8,
        dst_stride: ::std::os::raw::c_int,
        dst_width: ::std::os::raw::c_int,
        dst_height: ::std::os::raw::c_int,
        filtering: FilterMode,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn ScalePlane_12(
        src: *const u16,
        src_stride: ::std::os::raw::c_int,
        src_width: ::std::os::raw::c_int,
        src_height: ::std::os::raw::c_int,
        dst: *mut u16,
        dst_stride: ::std::os::raw::c_int,
        dst_width: ::std::os::raw::c_int,
        dst_height: ::std::os::raw::c_int,
        filtering: FilterMode,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn NV12Scale(
        src_y: *const u8,
        src_stride_y: ::std::os::raw::c_int,
        src_uv: *const u8,
        src_stride_uv: ::std::os::raw::c_int,
        src_width: ::std::os::raw::c_int,
        src_height: ::std::os::raw::c_int,
        dst_y: *mut u8,
        dst_stride_y: ::std::os::raw::c_int,
        dst_uv: *mut u8,
        dst_stride_uv: ::std::os::raw::c_int,
        dst_width: ::std::os::raw::c_int,
        dst_height: ::std::os::raw::c_int,
        filtering: FilterMode,
    ) -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct YuvConstants {
    pub kUVToB: [u8; 32usize],
    pub kUVToG: [u8; 32usize],
    pub kUVToR: [u8; 32usize],
    pub kYToRgb: [i16; 16usize],
    pub kYBiasToRgb: [i16; 16usize],
}
unsafe extern "C" {
    pub static kYuvI601Constants: YuvConstants;
}
unsafe extern "C" {
    pub static kYuvJPEGConstants: YuvConstants;
}
unsafe extern "C" {
    pub static kYuvH709Constants: YuvConstants;
}
unsafe extern "C" {
    pub static kYuvF709Constants: YuvConstants;
}
unsafe extern "C" {
    pub static kYuv2020Constants: YuvConstants;
}
unsafe extern "C" {
    pub static kYuvV2020Constants: YuvConstants;
}
unsafe extern "C" {
    pub static kYvuI601Constants: YuvConstants;
}
unsafe extern "C" {
    pub static kYvuJPEGConstants: YuvConstants;
}
unsafe extern "C" {
    pub static kYvuH709Constants: YuvConstants;
}
unsafe extern "C" {
    pub static kYvuF709Constants: YuvConstants;
}
unsafe extern "C" {
    pub static kYvu2020Constants: YuvConstants;
}
unsafe extern "C" {
    pub static kYvuV2020Constants: YuvConstants;
}
unsafe extern "C" {
    pub fn AR30ToAB30(
        src_ar30: *const u8,
        src_stride_ar30: ::std::os::raw::c_int,
        dst_ab30: *mut u8,
        dst_stride_ab30: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I420ToARGBMatrix(
        src_y: *const u8,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u8,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u8,
        src_stride_v: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I422ToARGBMatrix(
        src_y: *const u8,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u8,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u8,
        src_stride_v: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I444ToARGBMatrix(
        src_y: *const u8,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u8,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u8,
        src_stride_v: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I444ToRGB24Matrix(
        src_y: *const u8,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u8,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u8,
        src_stride_v: ::std::os::raw::c_int,
        dst_rgb24: *mut u8,
        dst_stride_rgb24: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I010ToAR30Matrix(
        src_y: *const u16,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u16,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u16,
        src_stride_v: ::std::os::raw::c_int,
        dst_ar30: *mut u8,
        dst_stride_ar30: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I210ToAR30Matrix(
        src_y: *const u16,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u16,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u16,
        src_stride_v: ::std::os::raw::c_int,
        dst_ar30: *mut u8,
        dst_stride_ar30: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I410ToAR30Matrix(
        src_y: *const u16,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u16,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u16,
        src_stride_v: ::std::os::raw::c_int,
        dst_ar30: *mut u8,
        dst_stride_ar30: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I010ToARGBMatrix(
        src_y: *const u16,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u16,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u16,
        src_stride_v: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I012ToARGBMatrix(
        src_y: *const u16,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u16,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u16,
        src_stride_v: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I210ToARGBMatrix(
        src_y: *const u16,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u16,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u16,
        src_stride_v: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I410ToARGBMatrix(
        src_y: *const u16,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u16,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u16,
        src_stride_v: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn P010ToARGBMatrix(
        src_y: *const u16,
        src_stride_y: ::std::os::raw::c_int,
        src_uv: *const u16,
        src_stride_uv: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn P010ToAR30Matrix(
        src_y: *const u16,
        src_stride_y: ::std::os::raw::c_int,
        src_uv: *const u16,
        src_stride_uv: ::std::os::raw::c_int,
        dst_ar30: *mut u8,
        dst_stride_ar30: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I420AlphaToARGBMatrix(
        src_y: *const u8,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u8,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u8,
        src_stride_v: ::std::os::raw::c_int,
        src_a: *const u8,
        src_stride_a: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
        attenuate: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I422AlphaToARGBMatrix(
        src_y: *const u8,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u8,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u8,
        src_stride_v: ::std::os::raw::c_int,
        src_a: *const u8,
        src_stride_a: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
        attenuate: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I444AlphaToARGBMatrix(
        src_y: *const u8,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u8,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u8,
        src_stride_v: ::std::os::raw::c_int,
        src_a: *const u8,
        src_stride_a: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
        attenuate: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I010AlphaToARGBMatrix(
        src_y: *const u16,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u16,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u16,
        src_stride_v: ::std::os::raw::c_int,
        src_a: *const u16,
        src_stride_a: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
        attenuate: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I210AlphaToARGBMatrix(
        src_y: *const u16,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u16,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u16,
        src_stride_v: ::std::os::raw::c_int,
        src_a: *const u16,
        src_stride_a: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
        attenuate: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I410AlphaToARGBMatrix(
        src_y: *const u16,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u16,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u16,
        src_stride_v: ::std::os::raw::c_int,
        src_a: *const u16,
        src_stride_a: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
        attenuate: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn NV12ToARGBMatrix(
        src_y: *const u8,
        src_stride_y: ::std::os::raw::c_int,
        src_uv: *const u8,
        src_stride_uv: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn NV21ToARGBMatrix(
        src_y: *const u8,
        src_stride_y: ::std::os::raw::c_int,
        src_vu: *const u8,
        src_stride_vu: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn NV12ToRGB565Matrix(
        src_y: *const u8,
        src_stride_y: ::std::os::raw::c_int,
        src_uv: *const u8,
        src_stride_uv: ::std::os::raw::c_int,
        dst_rgb565: *mut u8,
        dst_stride_rgb565: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I422ToRGBAMatrix(
        src_y: *const u8,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u8,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u8,
        src_stride_v: ::std::os::raw::c_int,
        dst_rgba: *mut u8,
        dst_stride_rgba: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I420ToRGBAMatrix(
        src_y: *const u8,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u8,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u8,
        src_stride_v: ::std::os::raw::c_int,
        dst_rgba: *mut u8,
        dst_stride_rgba: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I420ToRGB24Matrix(
        src_y: *const u8,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u8,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u8,
        src_stride_v: ::std::os::raw::c_int,
        dst_rgb24: *mut u8,
        dst_stride_rgb24: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I420ToRGB565Matrix(
        src_y: *const u8,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u8,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u8,
        src_stride_v: ::std::os::raw::c_int,
        dst_rgb565: *mut u8,
        dst_stride_rgb565: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I422ToRGB565Matrix(
        src_y: *const u8,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u8,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u8,
        src_stride_v: ::std::os::raw::c_int,
        dst_rgb565: *mut u8,
        dst_stride_rgb565: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I400ToARGBMatrix(
        src_y: *const u8,
        src_stride_y: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I420ToARGBMatrixFilter(
        src_y: *const u8,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u8,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u8,
        src_stride_v: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
        filter: FilterMode,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I422ToARGBMatrixFilter(
        src_y: *const u8,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u8,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u8,
        src_stride_v: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
        filter: FilterMode,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I422ToRGB24MatrixFilter(
        src_y: *const u8,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u8,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u8,
        src_stride_v: ::std::os::raw::c_int,
        dst_rgb24: *mut u8,
        dst_stride_rgb24: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
        filter: FilterMode,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I420ToRGB24MatrixFilter(
        src_y: *const u8,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u8,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u8,
        src_stride_v: ::std::os::raw::c_int,
        dst_rgb24: *mut u8,
        dst_stride_rgb24: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
        filter: FilterMode,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I010ToARGBMatrixFilter(
        src_y: *const u16,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u16,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u16,
        src_stride_v: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
        filter: FilterMode,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I210ToARGBMatrixFilter(
        src_y: *const u16,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u16,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u16,
        src_stride_v: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
        filter: FilterMode,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I420AlphaToARGBMatrixFilter(
        src_y: *const u8,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u8,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u8,
        src_stride_v: ::std::os::raw::c_int,
        src_a: *const u8,
        src_stride_a: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
        attenuate: ::std::os::raw::c_int,
        filter: FilterMode,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I422AlphaToARGBMatrixFilter(
        src_y: *const u8,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u8,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u8,
        src_stride_v: ::std::os::raw::c_int,
        src_a: *const u8,
        src_stride_a: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
        attenuate: ::std::os::raw::c_int,
        filter: FilterMode,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I010AlphaToARGBMatrixFilter(
        src_y: *const u16,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u16,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u16,
        src_stride_v: ::std::os::raw::c_int,
        src_a: *const u16,
        src_stride_a: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
        attenuate: ::std::os::raw::c_int,
        filter: FilterMode,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn I210AlphaToARGBMatrixFilter(
        src_y: *const u16,
        src_stride_y: ::std::os::raw::c_int,
        src_u: *const u16,
        src_stride_u: ::std::os::raw::c_int,
        src_v: *const u16,
        src_stride_v: ::std::os::raw::c_int,
        src_a: *const u16,
        src_stride_a: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
        attenuate: ::std::os::raw::c_int,
        filter: FilterMode,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn Convert16To8Plane(
        src_y: *const u16,
        src_stride_y: ::std::os::raw::c_int,
        dst_y: *mut u8,
        dst_stride_y: ::std::os::raw::c_int,
        scale: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    );
}
unsafe extern "C" {
    pub fn HalfFloatPlane(
        src_y: *const u16,
        src_stride_y: ::std::os::raw::c_int,
        dst_y: *mut u16,
        dst_stride_y: ::std::os::raw::c_int,
        scale: f32,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn ARGBAttenuate(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn ARGBUnattenuate(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn P010ToI010(
        src_y: *const u16,
        src_stride_y: ::std::os::raw::c_int,
        src_uv: *const u16,
        src_stride_uv: ::std::os::raw::c_int,
        dst_y: *mut u16,
        dst_stride_y: ::std::os::raw::c_int,
        dst_u: *mut u16,
        dst_stride_u: ::std::os::raw::c_int,
        dst_v: *mut u16,
        dst_stride_v: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn ARGBToI420(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_y: *mut u8,
        dst_stride_y: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_stride_u: ::std::os::raw::c_int,
        dst_v: *mut u8,
        dst_stride_v: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn BGRAToI420(
        src_bgra: *const u8,
        src_stride_bgra: ::std::os::raw::c_int,
        dst_y: *mut u8,
        dst_stride_y: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_stride_u: ::std::os::raw::c_int,
        dst_v: *mut u8,
        dst_stride_v: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn ABGRToI420(
        src_abgr: *const u8,
        src_stride_abgr: ::std::os::raw::c_int,
        dst_y: *mut u8,
        dst_stride_y: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_stride_u: ::std::os::raw::c_int,
        dst_v: *mut u8,
        dst_stride_v: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn RGBAToI420(
        src_rgba: *const u8,
        src_stride_rgba: ::std::os::raw::c_int,
        dst_y: *mut u8,
        dst_stride_y: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_stride_u: ::std::os::raw::c_int,
        dst_v: *mut u8,
        dst_stride_v: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn RGB24ToI420(
        src_rgb24: *const u8,
        src_stride_rgb24: ::std::os::raw::c_int,
        dst_y: *mut u8,
        dst_stride_y: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_stride_u: ::std::os::raw::c_int,
        dst_v: *mut u8,
        dst_stride_v: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn RGB24ToJ420(
        src_rgb24: *const u8,
        src_stride_rgb24: ::std::os::raw::c_int,
        dst_y: *mut u8,
        dst_stride_y: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_stride_u: ::std::os::raw::c_int,
        dst_v: *mut u8,
        dst_stride_v: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn RAWToI420(
        src_raw: *const u8,
        src_stride_raw: ::std::os::raw::c_int,
        dst_y: *mut u8,
        dst_stride_y: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_stride_u: ::std::os::raw::c_int,
        dst_v: *mut u8,
        dst_stride_v: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn RAWToJ420(
        src_raw: *const u8,
        src_stride_raw: ::std::os::raw::c_int,
        dst_y: *mut u8,
        dst_stride_y: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_stride_u: ::std::os::raw::c_int,
        dst_v: *mut u8,
        dst_stride_v: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn RGB24ToJ400(
        src_rgb24: *const u8,
        src_stride_rgb24: ::std::os::raw::c_int,
        dst_yj: *mut u8,
        dst_stride_yj: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn RAWToJ400(
        src_raw: *const u8,
        src_stride_raw: ::std::os::raw::c_int,
        dst_yj: *mut u8,
        dst_stride_yj: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn ARGBToABGR(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_abgr: *mut u8,
        dst_stride_abgr: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn ARGBToI444(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_y: *mut u8,
        dst_stride_y: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_stride_u: ::std::os::raw::c_int,
        dst_v: *mut u8,
        dst_stride_v: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn ARGBToI422(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_y: *mut u8,
        dst_stride_y: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_stride_u: ::std::os::raw::c_int,
        dst_v: *mut u8,
        dst_stride_v: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn ARGBToJ420(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_yj: *mut u8,
        dst_stride_yj: ::std::os::raw::c_int,
        dst_uj: *mut u8,
        dst_stride_uj: ::std::os::raw::c_int,
        dst_vj: *mut u8,
        dst_stride_vj: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn ARGBToJ422(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_yj: *mut u8,
        dst_stride_yj: ::std::os::raw::c_int,
        dst_uj: *mut u8,
        dst_stride_uj: ::std::os::raw::c_int,
        dst_vj: *mut u8,
        dst_stride_vj: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn ARGBToJ400(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_yj: *mut u8,
        dst_stride_yj: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn ABGRToJ420(
        src_abgr: *const u8,
        src_stride_abgr: ::std::os::raw::c_int,
        dst_yj: *mut u8,
        dst_stride_yj: ::std::os::raw::c_int,
        dst_uj: *mut u8,
        dst_stride_uj: ::std::os::raw::c_int,
        dst_vj: *mut u8,
        dst_stride_vj: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn ABGRToJ422(
        src_abgr: *const u8,
        src_stride_abgr: ::std::os::raw::c_int,
        dst_yj: *mut u8,
        dst_stride_yj: ::std::os::raw::c_int,
        dst_uj: *mut u8,
        dst_stride_uj: ::std::os::raw::c_int,
        dst_vj: *mut u8,
        dst_stride_vj: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn ABGRToJ400(
        src_abgr: *const u8,
        src_stride_abgr: ::std::os::raw::c_int,
        dst_yj: *mut u8,
        dst_stride_yj: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn RGBAToJ400(
        src_rgba: *const u8,
        src_stride_rgba: ::std::os::raw::c_int,
        dst_yj: *mut u8,
        dst_stride_yj: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
    pub fn ARGBToI400(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_y: *mut u8,
        dst_stride_y: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
