/* automatically generated by rust-bindgen 0.55.1 */

pub const _SAL_VERSION: u32 = 20;
pub const __SAL_H_VERSION: u32 = 180000000;
pub const _USE_DECLSPECS_FOR_SAL: u32 = 0;
pub const _USE_ATTRIBUTES_FOR_SAL: u32 = 0;
pub const _CRT_PACKING: u32 = 8;
pub const _HAS_EXCEPTIONS: u32 = 1;
pub const _ARGMAX: u32 = 100;
pub const _CRT_INT_MAX: u32 = 2147483647;
pub const _CRT_FUNCTIONS_REQUIRED: u32 = 1;
pub const _CRT_HAS_CXX17: u32 = 0;
pub const _ARM_WINAPI_PARTITION_DESKTOP_SDK_AVAILABLE: u32 = 1;
pub const _CRT_BUILD_DESKTOP_APP: u32 = 1;
pub const __STDC_SECURE_LIB__: u32 = 200411;
pub const __GOT_SECURE_LIB__: u32 = 200411;
pub const __STDC_WANT_SECURE_LIB__: u32 = 1;
pub const _SECURECRT_FILL_BUFFER_PATTERN: u32 = 254;
pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES: u32 = 0;
pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT: u32 = 0;
pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES: u32 = 1;
pub const _CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY: u32 = 0;
pub const _CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY: u32 = 0;
pub const WCHAR_MIN: u32 = 0;
pub const WCHAR_MAX: u32 = 65535;
pub const WINT_MIN: u32 = 0;
pub const WINT_MAX: u32 = 65535;
pub const LIBYUV_FALSE: u32 = 0;
pub const LIBYUV_TRUE: u32 = 1;
pub const _MAX_ITOSTR_BASE16_COUNT: u32 = 9;
pub const _MAX_ITOSTR_BASE10_COUNT: u32 = 12;
pub const _MAX_ITOSTR_BASE8_COUNT: u32 = 12;
pub const _MAX_ITOSTR_BASE2_COUNT: u32 = 33;
pub const _MAX_LTOSTR_BASE16_COUNT: u32 = 9;
pub const _MAX_LTOSTR_BASE10_COUNT: u32 = 12;
pub const _MAX_LTOSTR_BASE8_COUNT: u32 = 12;
pub const _MAX_LTOSTR_BASE2_COUNT: u32 = 33;
pub const _MAX_ULTOSTR_BASE16_COUNT: u32 = 9;
pub const _MAX_ULTOSTR_BASE10_COUNT: u32 = 11;
pub const _MAX_ULTOSTR_BASE8_COUNT: u32 = 12;
pub const _MAX_ULTOSTR_BASE2_COUNT: u32 = 33;
pub const _MAX_I64TOSTR_BASE16_COUNT: u32 = 17;
pub const _MAX_I64TOSTR_BASE10_COUNT: u32 = 21;
pub const _MAX_I64TOSTR_BASE8_COUNT: u32 = 23;
pub const _MAX_I64TOSTR_BASE2_COUNT: u32 = 65;
pub const _MAX_U64TOSTR_BASE16_COUNT: u32 = 17;
pub const _MAX_U64TOSTR_BASE10_COUNT: u32 = 21;
pub const _MAX_U64TOSTR_BASE8_COUNT: u32 = 23;
pub const _MAX_U64TOSTR_BASE2_COUNT: u32 = 65;
pub const CHAR_BIT: u32 = 8;
pub const SCHAR_MIN: i32 = -128;
pub const SCHAR_MAX: u32 = 127;
pub const UCHAR_MAX: u32 = 255;
pub const CHAR_MIN: i32 = -128;
pub const CHAR_MAX: u32 = 127;
pub const MB_LEN_MAX: u32 = 5;
pub const SHRT_MIN: i32 = -32768;
pub const SHRT_MAX: u32 = 32767;
pub const USHRT_MAX: u32 = 65535;
pub const INT_MIN: i32 = -2147483648;
pub const INT_MAX: u32 = 2147483647;
pub const UINT_MAX: u32 = 4294967295;
pub const LONG_MIN: i32 = -2147483648;
pub const LONG_MAX: u32 = 2147483647;
pub const ULONG_MAX: u32 = 4294967295;
pub const EXIT_SUCCESS: u32 = 0;
pub const EXIT_FAILURE: u32 = 1;
pub const _WRITE_ABORT_MSG: u32 = 1;
pub const _CALL_REPORTFAULT: u32 = 2;
pub const _OUT_TO_DEFAULT: u32 = 0;
pub const _OUT_TO_STDERR: u32 = 1;
pub const _OUT_TO_MSGBOX: u32 = 2;
pub const _REPORT_ERRMODE: u32 = 3;
pub const RAND_MAX: u32 = 32767;
pub const _CVTBUFSIZE: u32 = 349;
pub const _MAX_PATH: u32 = 260;
pub const _MAX_DRIVE: u32 = 3;
pub const _MAX_DIR: u32 = 256;
pub const _MAX_FNAME: u32 = 256;
pub const _MAX_EXT: u32 = 256;
pub const _MAX_ENV: u32 = 32767;
pub const CLANG_HAS_AVX2: u32 = 1;
pub const CLANG_HAS_AVX512: u32 = 1;
pub const KUVTOB: u32 = 0;
pub const KUVTOG: u32 = 32;
pub const KUVTOR: u32 = 64;
pub const KUVBIASB: u32 = 96;
pub const KUVBIASG: u32 = 128;
pub const KUVBIASR: u32 = 160;
pub const KYTORGB: u32 = 192;
pub const IACA_ASM_START: &'static [u8; 59usize] =
    b".byte 0x0F, 0x0B\n movl $111, %%ebx\n.byte 0x64, 0x67, 0x90\n\0";
pub const IACA_ASM_END: &'static [u8; 59usize] =
    b" movl $222, %%ebx\n.byte 0x64, 0x67, 0x90\n.byte 0x0F, 0x0B\n\0";
pub const LIBYUV_VERSION: u32 = 1725;
pub type va_list = *mut ::std::os::raw::c_char;
pub type size_t = ::std::os::raw::c_uint;
pub type __vcrt_bool = bool;
pub type wchar_t = ::std::os::raw::c_ushort;

#[link(name = "yuv", kind = "static")]
extern "C" {
    pub fn __security_init_cookie();
}
extern "fastcall" {
    pub fn __security_check_cookie(_StackCookie: usize);
}
extern "C" {
    pub fn __report_gsfailure();
}
extern "C" {
    pub static mut __security_cookie: usize;
}
pub type __crt_bool = bool;
extern "C" {
    pub fn _invalid_parameter_noinfo();
}
extern "C" {
    pub fn _invalid_parameter_noinfo_noreturn();
}
extern "C" {
    pub fn _invoke_watson(
        _Expression: *const wchar_t,
        _FunctionName: *const wchar_t,
        _FileName: *const wchar_t,
        _LineNo: ::std::os::raw::c_uint,
        _Reserved: usize,
    );
}
pub type errno_t = ::std::os::raw::c_int;
pub type wint_t = ::std::os::raw::c_ushort;
pub type wctype_t = ::std::os::raw::c_ushort;
pub type __time32_t = ::std::os::raw::c_long;
pub type __time64_t = ::std::os::raw::c_longlong;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __crt_locale_data_public {
    pub _locale_pctype: *const ::std::os::raw::c_ushort,
    pub _locale_mb_cur_max: ::std::os::raw::c_int,
    pub _locale_lc_codepage: ::std::os::raw::c_uint,
}
#[test]
fn bindgen_test_layout___crt_locale_data_public() {
    assert_eq!(
        ::std::mem::size_of::<__crt_locale_data_public>(),
        12usize,
        concat!("Size of: ", stringify!(__crt_locale_data_public))
    );
    assert_eq!(
        ::std::mem::align_of::<__crt_locale_data_public>(),
        4usize,
        concat!("Alignment of ", stringify!(__crt_locale_data_public))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__crt_locale_data_public>()))._locale_pctype as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__crt_locale_data_public),
            "::",
            stringify!(_locale_pctype)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__crt_locale_data_public>()))._locale_mb_cur_max as *const _
                as usize
        },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__crt_locale_data_public),
            "::",
            stringify!(_locale_mb_cur_max)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<__crt_locale_data_public>()))._locale_lc_codepage as *const _
                as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__crt_locale_data_public),
            "::",
            stringify!(_locale_lc_codepage)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __crt_locale_pointers {
    pub locinfo: *mut __crt_locale_data,
    pub mbcinfo: *mut __crt_multibyte_data,
}
#[test]
fn bindgen_test_layout___crt_locale_pointers() {
    assert_eq!(
        ::std::mem::size_of::<__crt_locale_pointers>(),
        8usize,
        concat!("Size of: ", stringify!(__crt_locale_pointers))
    );
    assert_eq!(
        ::std::mem::align_of::<__crt_locale_pointers>(),
        4usize,
        concat!("Alignment of ", stringify!(__crt_locale_pointers))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__crt_locale_pointers>())).locinfo as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__crt_locale_pointers),
            "::",
            stringify!(locinfo)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__crt_locale_pointers>())).mbcinfo as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(__crt_locale_pointers),
            "::",
            stringify!(mbcinfo)
        )
    );
}
pub type _locale_t = *mut __crt_locale_pointers;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _Mbstatet {
    pub _Wchar: ::std::os::raw::c_ulong,
    pub _Byte: ::std::os::raw::c_ushort,
    pub _State: ::std::os::raw::c_ushort,
}
#[test]
fn bindgen_test_layout__Mbstatet() {
    assert_eq!(
        ::std::mem::size_of::<_Mbstatet>(),
        8usize,
        concat!("Size of: ", stringify!(_Mbstatet))
    );
    assert_eq!(
        ::std::mem::align_of::<_Mbstatet>(),
        4usize,
        concat!("Alignment of ", stringify!(_Mbstatet))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_Mbstatet>()))._Wchar as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_Mbstatet),
            "::",
            stringify!(_Wchar)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_Mbstatet>()))._Byte as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_Mbstatet),
            "::",
            stringify!(_Byte)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_Mbstatet>()))._State as *const _ as usize },
        6usize,
        concat!(
            "Offset of field: ",
            stringify!(_Mbstatet),
            "::",
            stringify!(_State)
        )
    );
}
pub type mbstate_t = _Mbstatet;
pub type time_t = __time64_t;
pub type rsize_t = size_t;
extern "C" {
    pub fn _errno() -> *mut ::std::os::raw::c_int;
}
extern "C" {
    pub fn _set_errno(_Value: ::std::os::raw::c_int) -> errno_t;
}
extern "C" {
    pub fn _get_errno(_Value: *mut ::std::os::raw::c_int) -> errno_t;
}
extern "C" {
    pub fn __threadid() -> ::std::os::raw::c_ulong;
}
extern "C" {
    pub fn __threadhandle() -> usize;
}
pub type int_least8_t = ::std::os::raw::c_schar;
pub type int_least16_t = ::std::os::raw::c_short;
pub type int_least32_t = ::std::os::raw::c_int;
pub type int_least64_t = ::std::os::raw::c_longlong;
pub type uint_least8_t = ::std::os::raw::c_uchar;
pub type uint_least16_t = ::std::os::raw::c_ushort;
pub type uint_least32_t = ::std::os::raw::c_uint;
pub type uint_least64_t = ::std::os::raw::c_ulonglong;
pub type int_fast8_t = ::std::os::raw::c_schar;
pub type int_fast16_t = ::std::os::raw::c_int;
pub type int_fast32_t = ::std::os::raw::c_int;
pub type int_fast64_t = ::std::os::raw::c_longlong;
pub type uint_fast8_t = ::std::os::raw::c_uchar;
pub type uint_fast16_t = ::std::os::raw::c_uint;
pub type uint_fast32_t = ::std::os::raw::c_uint;
pub type uint_fast64_t = ::std::os::raw::c_ulonglong;
pub type intmax_t = ::std::os::raw::c_longlong;
pub type uintmax_t = ::std::os::raw::c_ulonglong;
extern "C" {
    pub fn HashDjb2(src: *const u8, count: u64, seed: u32) -> u32;
}
extern "C" {
    pub fn ComputeHammingDistance(
        src_a: *const u8,
        src_b: *const u8,
        count: ::std::os::raw::c_int,
    ) -> u64;
}
extern "C" {
    pub fn ARGBDetect(
        argb: *const u8,
        stride_argb: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> u32;
}
extern "C" {
    pub fn ComputeSumSquareError(
        src_a: *const u8,
        src_b: *const u8,
        count: ::std::os::raw::c_int,
    ) -> u64;
}
extern "C" {
    pub fn ComputeSumSquareErrorPlane(
        src_a: *const u8,
        stride_a: ::std::os::raw::c_int,
        src_b: *const u8,
        stride_b: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> u64;
}
pub const kMaxPsnr: ::std::os::raw::c_int = 128;
extern "C" {
    pub fn SumSquareErrorToPsnr(sse: u64, count: u64) -> f64;
}
extern "C" {
    pub fn CalcFramePsnr(
        src_a: *const u8,
        stride_a: ::std::os::raw::c_int,
        src_b: *const u8,
        stride_b: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> f64;
}
extern "C" {
    pub fn I420Psnr(
        src_y_a: *const u8,
        stride_y_a: ::std::os::raw::c_int,
        src_u_a: *const u8,
        stride_u_a: ::std::os::raw::c_int,
        src_v_a: *const u8,
        stride_v_a: ::std::os::raw::c_int,
        src_y_b: *const u8,
        stride_y_b: ::std::os::raw::c_int,
        src_u_b: *const u8,
        stride_u_b: ::std::os::raw::c_int,
        src_v_b: *const u8,
        stride_v_b: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> f64;
}
extern "C" {
    pub fn CalcFrameSsim(
        src_a: *const u8,
        stride_a: ::std::os::raw::c_int,
        src_b: *const u8,
        stride_b: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> f64;
}
extern "C" {
    pub fn I420Ssim(
        src_y_a: *const u8,
        stride_y_a: ::std::os::raw::c_int,
        src_u_a: *const u8,
        stride_u_a: ::std::os::raw::c_int,
        src_v_a: *const u8,
        stride_v_a: ::std::os::raw::c_int,
        src_y_b: *const u8,
        stride_y_b: ::std::os::raw::c_int,
        src_u_b: *const u8,
        stride_u_b: ::std::os::raw::c_int,
        src_v_b: *const u8,
        stride_v_b: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> f64;
}
pub const RotationMode_kRotate0: RotationMode = 0;
pub const RotationMode_kRotate90: RotationMode = 90;
pub const RotationMode_kRotate180: RotationMode = 180;
pub const RotationMode_kRotate270: RotationMode = 270;
pub const RotationMode_kRotateNone: RotationMode = 0;
pub const RotationMode_kRotateClockwise: RotationMode = 90;
pub const RotationMode_kRotateCounterClockwise: RotationMode = 270;
pub type RotationMode = ::std::os::raw::c_int;
pub use self::RotationMode as RotationModeEnum;
extern "C" {
    pub fn I420Rotate(
        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_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,
        mode: RotationMode,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn NV12ToI420Rotate(
        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_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,
        mode: RotationMode,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn RotatePlane(
        src: *const u8,
        src_stride: ::std::os::raw::c_int,
        dst: *mut u8,
        dst_stride: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
        mode: RotationMode,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn RotatePlane90(
        src: *const u8,
        src_stride: ::std::os::raw::c_int,
        dst: *mut u8,
        dst_stride: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RotatePlane180(
        src: *const u8,
        src_stride: ::std::os::raw::c_int,
        dst: *mut u8,
        dst_stride: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RotatePlane270(
        src: *const u8,
        src_stride: ::std::os::raw::c_int,
        dst: *mut u8,
        dst_stride: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RotateUV90(
        src: *const u8,
        src_stride: ::std::os::raw::c_int,
        dst_a: *mut u8,
        dst_stride_a: ::std::os::raw::c_int,
        dst_b: *mut u8,
        dst_stride_b: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RotateUV180(
        src: *const u8,
        src_stride: ::std::os::raw::c_int,
        dst_a: *mut u8,
        dst_stride_a: ::std::os::raw::c_int,
        dst_b: *mut u8,
        dst_stride_b: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RotateUV270(
        src: *const u8,
        src_stride: ::std::os::raw::c_int,
        dst_a: *mut u8,
        dst_stride_a: ::std::os::raw::c_int,
        dst_b: *mut u8,
        dst_stride_b: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn TransposePlane(
        src: *const u8,
        src_stride: ::std::os::raw::c_int,
        dst: *mut u8,
        dst_stride: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn TransposeUV(
        src: *const u8,
        src_stride: ::std::os::raw::c_int,
        dst_a: *mut u8,
        dst_stride_a: ::std::os::raw::c_int,
        dst_b: *mut u8,
        dst_stride_b: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBCopy(
        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;
}
extern "C" {
    pub fn I420ToARGB(
        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,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn I420ToABGR(
        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_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;
}
extern "C" {
    pub fn I010ToARGB(
        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,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn I010ToABGR(
        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_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;
}
extern "C" {
    pub fn H010ToARGB(
        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,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn H010ToABGR(
        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_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;
}
extern "C" {
    pub fn I422ToARGB(
        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,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn I444ToARGB(
        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,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn J444ToARGB(
        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,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn I444ToABGR(
        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_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;
}
extern "C" {
    pub fn I420AlphaToARGB(
        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,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
        attenuate: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn I420AlphaToABGR(
        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_abgr: *mut u8,
        dst_stride_abgr: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
        attenuate: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn I400ToARGB(
        src_y: *const u8,
        src_stride_y: ::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;
}
extern "C" {
    pub fn J400ToARGB(
        src_y: *const u8,
        src_stride_y: ::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;
}
extern "C" {
    pub fn NV12ToARGB(
        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,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn NV21ToARGB(
        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,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn NV12ToABGR(
        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_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;
}
extern "C" {
    pub fn NV21ToABGR(
        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_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;
}
extern "C" {
    pub fn NV12ToRGB24(
        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_rgb24: *mut u8,
        dst_stride_rgb24: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn NV21ToRGB24(
        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_rgb24: *mut u8,
        dst_stride_rgb24: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn NV21ToYUV24(
        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_yuv24: *mut u8,
        dst_stride_yuv24: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn NV12ToRAW(
        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_raw: *mut u8,
        dst_stride_raw: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn NV21ToRAW(
        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_raw: *mut u8,
        dst_stride_raw: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn M420ToARGB(
        src_m420: *const u8,
        src_stride_m420: ::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;
}
extern "C" {
    pub fn YUY2ToARGB(
        src_yuy2: *const u8,
        src_stride_yuy2: ::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;
}
extern "C" {
    pub fn UYVYToARGB(
        src_uyvy: *const u8,
        src_stride_uyvy: ::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;
}
extern "C" {
    pub fn J420ToARGB(
        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,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn J422ToARGB(
        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,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn J420ToABGR(
        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_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;
}
extern "C" {
    pub fn J422ToABGR(
        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_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;
}
extern "C" {
    pub fn H420ToARGB(
        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,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn H422ToARGB(
        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,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn H420ToABGR(
        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_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;
}
extern "C" {
    pub fn H422ToABGR(
        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_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;
}
extern "C" {
    pub fn I010ToAR30(
        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,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn H010ToAR30(
        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,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn I010ToAB30(
        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_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;
}
extern "C" {
    pub fn H010ToAB30(
        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_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;
}
extern "C" {
    pub fn BGRAToARGB(
        src_bgra: *const u8,
        src_stride_bgra: ::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;
}
extern "C" {
    pub fn ABGRToARGB(
        src_abgr: *const u8,
        src_stride_abgr: ::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;
}
extern "C" {
    pub fn RGBAToARGB(
        src_rgba: *const u8,
        src_stride_rgba: ::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;
}
extern "C" {
    pub fn RGB24ToARGB(
        src_rgb24: *const u8,
        src_stride_rgb24: ::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;
}
extern "C" {
    pub fn RAWToARGB(
        src_raw: *const u8,
        src_stride_raw: ::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;
}
extern "C" {
    pub fn RGB565ToARGB(
        src_rgb565: *const u8,
        src_stride_rgb565: ::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;
}
extern "C" {
    pub fn ARGB1555ToARGB(
        src_argb1555: *const u8,
        src_stride_argb1555: ::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;
}
extern "C" {
    pub fn ARGB4444ToARGB(
        src_argb4444: *const u8,
        src_stride_argb4444: ::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;
}
extern "C" {
    pub fn AR30ToARGB(
        src_ar30: *const u8,
        src_stride_ar30: ::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;
}
extern "C" {
    pub fn AR30ToABGR(
        src_ar30: *const u8,
        src_stride_ar30: ::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;
}
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;
}
extern "C" {
    pub fn Android420ToARGB(
        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_pixel_stride_uv: ::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;
}
extern "C" {
    pub fn Android420ToABGR(
        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_pixel_stride_uv: ::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;
}
extern "C" {
    pub fn ConvertToARGB(
        sample: *const u8,
        sample_size: size_t,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        crop_x: ::std::os::raw::c_int,
        crop_y: ::std::os::raw::c_int,
        src_width: ::std::os::raw::c_int,
        src_height: ::std::os::raw::c_int,
        crop_width: ::std::os::raw::c_int,
        crop_height: ::std::os::raw::c_int,
        rotation: RotationMode,
        fourcc: u32,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn I420ToI010(
        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_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;
}
extern "C" {
    pub fn I420ToI422(
        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_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;
}
extern "C" {
    pub fn I420ToI444(
        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_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;
}
extern "C" {
    pub fn I400Copy(
        src_y: *const u8,
        src_stride_y: ::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;
}
extern "C" {
    pub fn I420ToNV12(
        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_y: *mut u8,
        dst_stride_y: ::std::os::raw::c_int,
        dst_uv: *mut u8,
        dst_stride_uv: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn I420ToNV21(
        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_y: *mut u8,
        dst_stride_y: ::std::os::raw::c_int,
        dst_vu: *mut u8,
        dst_stride_vu: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn I420ToYUY2(
        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_yuy2: *mut u8,
        dst_stride_yuy2: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn I420ToUYVY(
        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_uyvy: *mut u8,
        dst_stride_uyvy: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn I420ToBGRA(
        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_bgra: *mut u8,
        dst_stride_bgra: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn I420ToRGBA(
        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,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn I420ToRGB24(
        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,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn I420ToRAW(
        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_raw: *mut u8,
        dst_stride_raw: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn H420ToRGB24(
        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,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn H420ToRAW(
        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_raw: *mut u8,
        dst_stride_raw: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn I420ToRGB565(
        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,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn J420ToRGB565(
        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,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn H420ToRGB565(
        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,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn I422ToRGB565(
        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,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn I420ToRGB565Dither(
        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,
        dither4x4: *const u8,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn I420ToARGB1555(
        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_argb1555: *mut u8,
        dst_stride_argb1555: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn I420ToARGB4444(
        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_argb4444: *mut u8,
        dst_stride_argb4444: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn I420ToAR30(
        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_ar30: *mut u8,
        dst_stride_ar30: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn H420ToAR30(
        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_ar30: *mut u8,
        dst_stride_ar30: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ConvertFromI420(
        y: *const u8,
        y_stride: ::std::os::raw::c_int,
        u: *const u8,
        u_stride: ::std::os::raw::c_int,
        v: *const u8,
        v_stride: ::std::os::raw::c_int,
        dst_sample: *mut u8,
        dst_sample_stride: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
        fourcc: u32,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn CopyPlane(
        src_y: *const u8,
        src_stride_y: ::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,
    );
}
extern "C" {
    pub fn CopyPlane_16(
        src_y: *const u16,
        src_stride_y: ::std::os::raw::c_int,
        dst_y: *mut u16,
        dst_stride_y: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    );
}
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,
    );
}
extern "C" {
    pub fn Convert8To16Plane(
        src_y: *const u8,
        src_stride_y: ::std::os::raw::c_int,
        dst_y: *mut u16,
        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,
    );
}
extern "C" {
    pub fn SetPlane(
        dst_y: *mut u8,
        dst_stride_y: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
        value: u32,
    );
}
extern "C" {
    pub fn SplitUVPlane(
        src_uv: *const u8,
        src_stride_uv: ::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,
    );
}
extern "C" {
    pub fn MergeUVPlane(
        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_uv: *mut u8,
        dst_stride_uv: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SplitRGBPlane(
        src_rgb: *const u8,
        src_stride_rgb: ::std::os::raw::c_int,
        dst_r: *mut u8,
        dst_stride_r: ::std::os::raw::c_int,
        dst_g: *mut u8,
        dst_stride_g: ::std::os::raw::c_int,
        dst_b: *mut u8,
        dst_stride_b: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn MergeRGBPlane(
        src_r: *const u8,
        src_stride_r: ::std::os::raw::c_int,
        src_g: *const u8,
        src_stride_g: ::std::os::raw::c_int,
        src_b: *const u8,
        src_stride_b: ::std::os::raw::c_int,
        dst_rgb: *mut u8,
        dst_stride_rgb: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I400ToI400(
        src_y: *const u8,
        src_stride_y: ::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;
}
extern "C" {
    pub fn I422Copy(
        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_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;
}
extern "C" {
    pub fn I444Copy(
        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_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;
}
extern "C" {
    pub fn YUY2ToI422(
        src_yuy2: *const u8,
        src_stride_yuy2: ::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;
}
extern "C" {
    pub fn UYVYToI422(
        src_uyvy: *const u8,
        src_stride_uyvy: ::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;
}
extern "C" {
    pub fn YUY2ToNV12(
        src_yuy2: *const u8,
        src_stride_yuy2: ::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,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn UYVYToNV12(
        src_uyvy: *const u8,
        src_stride_uyvy: ::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,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn YUY2ToY(
        src_yuy2: *const u8,
        src_stride_yuy2: ::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;
}
extern "C" {
    pub fn I420ToI400(
        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_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;
}
extern "C" {
    pub fn I420Mirror(
        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_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;
}
extern "C" {
    pub fn I400Mirror(
        src_y: *const u8,
        src_stride_y: ::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;
}
extern "C" {
    pub fn ARGBMirror(
        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;
}
extern "C" {
    pub fn NV12ToRGB565(
        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,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn I422ToBGRA(
        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_bgra: *mut u8,
        dst_stride_bgra: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn I422ToABGR(
        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_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;
}
extern "C" {
    pub fn I422ToRGBA(
        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,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn RAWToRGB24(
        src_raw: *const u8,
        src_stride_raw: ::std::os::raw::c_int,
        dst_rgb24: *mut u8,
        dst_stride_rgb24: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn I420Rect(
        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,
        x: ::std::os::raw::c_int,
        y: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
        value_y: ::std::os::raw::c_int,
        value_u: ::std::os::raw::c_int,
        value_v: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ARGBRect(
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        dst_x: ::std::os::raw::c_int,
        dst_y: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
        value: u32,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ARGBGrayTo(
        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;
}
extern "C" {
    pub fn ARGBGray(
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        dst_x: ::std::os::raw::c_int,
        dst_y: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ARGBSepia(
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        dst_x: ::std::os::raw::c_int,
        dst_y: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ARGBColorMatrix(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        matrix_argb: *const i8,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn RGBColorMatrix(
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        matrix_rgb: *const i8,
        dst_x: ::std::os::raw::c_int,
        dst_y: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ARGBColorTable(
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        table_argb: *const u8,
        dst_x: ::std::os::raw::c_int,
        dst_y: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn RGBColorTable(
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        table_argb: *const u8,
        dst_x: ::std::os::raw::c_int,
        dst_y: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ARGBLumaColorTable(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        luma: *const u8,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ARGBPolynomial(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        poly: *const f32,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
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;
}
extern "C" {
    pub fn ByteToFloat(
        src_y: *const u8,
        dst_y: *mut f32,
        scale: f32,
        width: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ARGBQuantize(
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        scale: ::std::os::raw::c_int,
        interval_size: ::std::os::raw::c_int,
        interval_offset: ::std::os::raw::c_int,
        dst_x: ::std::os::raw::c_int,
        dst_y: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ARGBCopyAlpha(
        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;
}
extern "C" {
    pub fn ARGBExtractAlpha(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_a: *mut u8,
        dst_stride_a: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ARGBCopyYToAlpha(
        src_y: *const u8,
        src_stride_y: ::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;
}
pub type ARGBBlendRow = ::std::option::Option<
    unsafe extern "C" fn(
        src_argb0: *const u8,
        src_argb1: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    ),
>;
extern "C" {
    pub fn GetARGBBlend() -> ARGBBlendRow;
}
extern "C" {
    pub fn ARGBBlend(
        src_argb0: *const u8,
        src_stride_argb0: ::std::os::raw::c_int,
        src_argb1: *const u8,
        src_stride_argb1: ::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;
}
extern "C" {
    pub fn BlendPlane(
        src_y0: *const u8,
        src_stride_y0: ::std::os::raw::c_int,
        src_y1: *const u8,
        src_stride_y1: ::std::os::raw::c_int,
        alpha: *const u8,
        alpha_stride: ::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;
}
extern "C" {
    pub fn I420Blend(
        src_y0: *const u8,
        src_stride_y0: ::std::os::raw::c_int,
        src_u0: *const u8,
        src_stride_u0: ::std::os::raw::c_int,
        src_v0: *const u8,
        src_stride_v0: ::std::os::raw::c_int,
        src_y1: *const u8,
        src_stride_y1: ::std::os::raw::c_int,
        src_u1: *const u8,
        src_stride_u1: ::std::os::raw::c_int,
        src_v1: *const u8,
        src_stride_v1: ::std::os::raw::c_int,
        alpha: *const u8,
        alpha_stride: ::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;
}
extern "C" {
    pub fn ARGBMultiply(
        src_argb0: *const u8,
        src_stride_argb0: ::std::os::raw::c_int,
        src_argb1: *const u8,
        src_stride_argb1: ::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;
}
extern "C" {
    pub fn ARGBAdd(
        src_argb0: *const u8,
        src_stride_argb0: ::std::os::raw::c_int,
        src_argb1: *const u8,
        src_stride_argb1: ::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;
}
extern "C" {
    pub fn ARGBSubtract(
        src_argb0: *const u8,
        src_stride_argb0: ::std::os::raw::c_int,
        src_argb1: *const u8,
        src_stride_argb1: ::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;
}
extern "C" {
    pub fn I422ToYUY2(
        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_yuy2: *mut u8,
        dst_stride_yuy2: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn I422ToUYVY(
        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_uyvy: *mut u8,
        dst_stride_uyvy: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
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;
}
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;
}
extern "C" {
    pub fn ARGBComputeCumulativeSum(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_cumsum: *mut i32,
        dst_stride32_cumsum: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ARGBBlur(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        dst_cumsum: *mut i32,
        dst_stride32_cumsum: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
        radius: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ARGBShade(
        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,
        value: u32,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn InterpolatePlane(
        src0: *const u8,
        src_stride0: ::std::os::raw::c_int,
        src1: *const u8,
        src_stride1: ::std::os::raw::c_int,
        dst: *mut u8,
        dst_stride: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
        interpolation: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ARGBInterpolate(
        src_argb0: *const u8,
        src_stride_argb0: ::std::os::raw::c_int,
        src_argb1: *const u8,
        src_stride_argb1: ::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,
        interpolation: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn I420Interpolate(
        src0_y: *const u8,
        src0_stride_y: ::std::os::raw::c_int,
        src0_u: *const u8,
        src0_stride_u: ::std::os::raw::c_int,
        src0_v: *const u8,
        src0_stride_v: ::std::os::raw::c_int,
        src1_y: *const u8,
        src1_stride_y: ::std::os::raw::c_int,
        src1_u: *const u8,
        src1_stride_u: ::std::os::raw::c_int,
        src1_v: *const u8,
        src1_stride_v: ::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,
        interpolation: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ARGBAffineRow_C(
        src_argb: *const u8,
        src_argb_stride: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        uv_dudv: *const f32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBAffineRow_SSE2(
        src_argb: *const u8,
        src_argb_stride: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        uv_dudv: *const f32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBShuffle(
        src_bgra: *const u8,
        src_stride_bgra: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        shuffler: *const u8,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ARGBSobelToPlane(
        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;
}
extern "C" {
    pub fn ARGBSobel(
        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;
}
extern "C" {
    pub fn ARGBSobelXY(
        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;
}
extern "C" {
    pub fn I444ToI420(
        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_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;
}
extern "C" {
    pub fn I444ToNV21(
        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_y: *mut u8,
        dst_stride_y: ::std::os::raw::c_int,
        dst_vu: *mut u8,
        dst_stride_vu: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn I422ToI420(
        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_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;
}
extern "C" {
    pub fn I422ToNV21(
        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_y: *mut u8,
        dst_stride_y: ::std::os::raw::c_int,
        dst_vu: *mut u8,
        dst_stride_vu: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn I420Copy(
        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_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;
}
extern "C" {
    pub fn I010Copy(
        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_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;
}
extern "C" {
    pub fn I010ToI420(
        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_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;
}
extern "C" {
    pub fn I400ToI420(
        src_y: *const u8,
        src_stride_y: ::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;
}
extern "C" {
    pub fn I400ToNV21(
        src_y: *const u8,
        src_stride_y: ::std::os::raw::c_int,
        dst_y: *mut u8,
        dst_stride_y: ::std::os::raw::c_int,
        dst_vu: *mut u8,
        dst_stride_vu: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn NV12ToI420(
        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_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;
}
extern "C" {
    pub fn NV21ToI420(
        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_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;
}
extern "C" {
    pub fn YUY2ToI420(
        src_yuy2: *const u8,
        src_stride_yuy2: ::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;
}
extern "C" {
    pub fn UYVYToI420(
        src_uyvy: *const u8,
        src_stride_uyvy: ::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;
}
extern "C" {
    pub fn AYUVToNV21(
        src_ayuv: *const u8,
        src_stride_ayuv: ::std::os::raw::c_int,
        dst_y: *mut u8,
        dst_stride_y: ::std::os::raw::c_int,
        dst_vu: *mut u8,
        dst_stride_vu: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn M420ToI420(
        src_m420: *const u8,
        src_stride_m420: ::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;
}
extern "C" {
    pub fn Android420ToI420(
        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_pixel_stride_uv: ::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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
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;
}
extern "C" {
    pub fn RGB565ToI420(
        src_rgb565: *const u8,
        src_stride_rgb565: ::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;
}
extern "C" {
    pub fn ARGB1555ToI420(
        src_argb1555: *const u8,
        src_stride_argb1555: ::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;
}
extern "C" {
    pub fn ARGB4444ToI420(
        src_argb4444: *const u8,
        src_stride_argb4444: ::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;
}
extern "C" {
    pub fn ConvertToI420(
        sample: *const u8,
        sample_size: size_t,
        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,
        crop_x: ::std::os::raw::c_int,
        crop_y: ::std::os::raw::c_int,
        src_width: ::std::os::raw::c_int,
        src_height: ::std::os::raw::c_int,
        crop_width: ::std::os::raw::c_int,
        crop_height: ::std::os::raw::c_int,
        rotation: RotationMode,
        fourcc: u32,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ARGBToBGRA(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_bgra: *mut u8,
        dst_stride_bgra: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
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;
}
extern "C" {
    pub fn ARGBToRGBA(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_rgba: *mut u8,
        dst_stride_rgba: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ABGRToAR30(
        src_abgr: *const u8,
        src_stride_abgr: ::std::os::raw::c_int,
        dst_ar30: *mut u8,
        dst_stride_ar30: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ARGBToAR30(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_ar30: *mut u8,
        dst_stride_ar30: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ARGBToRGB24(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_rgb24: *mut u8,
        dst_stride_rgb24: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ARGBToRAW(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_raw: *mut u8,
        dst_stride_raw: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ARGBToRGB565(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_rgb565: *mut u8,
        dst_stride_rgb565: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ARGBToRGB565Dither(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_rgb565: *mut u8,
        dst_stride_rgb565: ::std::os::raw::c_int,
        dither4x4: *const u8,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ARGBToARGB1555(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_argb1555: *mut u8,
        dst_stride_argb1555: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ARGBToARGB4444(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_argb4444: *mut u8,
        dst_stride_argb4444: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
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;
}
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;
}
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_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;
}
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_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;
}
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;
}
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;
}
extern "C" {
    pub fn ARGBToG(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_g: *mut u8,
        dst_stride_g: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ARGBToNV12(
        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_uv: *mut u8,
        dst_stride_uv: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ARGBToNV21(
        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_vu: *mut u8,
        dst_stride_vu: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ARGBToYUY2(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_yuy2: *mut u8,
        dst_stride_yuy2: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ARGBToUYVY(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_uyvy: *mut u8,
        dst_stride_uyvy: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
        height: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
pub const kCpuInitialized: ::std::os::raw::c_int = 1;
pub const kCpuHasARM: ::std::os::raw::c_int = 2;
pub const kCpuHasNEON: ::std::os::raw::c_int = 4;
pub const kCpuHasX86: ::std::os::raw::c_int = 16;
pub const kCpuHasSSE2: ::std::os::raw::c_int = 32;
pub const kCpuHasSSSE3: ::std::os::raw::c_int = 64;
pub const kCpuHasSSE41: ::std::os::raw::c_int = 128;
pub const kCpuHasSSE42: ::std::os::raw::c_int = 256;
pub const kCpuHasAVX: ::std::os::raw::c_int = 512;
pub const kCpuHasAVX2: ::std::os::raw::c_int = 1024;
pub const kCpuHasERMS: ::std::os::raw::c_int = 2048;
pub const kCpuHasFMA3: ::std::os::raw::c_int = 4096;
pub const kCpuHasF16C: ::std::os::raw::c_int = 8192;
pub const kCpuHasGFNI: ::std::os::raw::c_int = 16384;
pub const kCpuHasAVX512BW: ::std::os::raw::c_int = 32768;
pub const kCpuHasAVX512VL: ::std::os::raw::c_int = 65536;
pub const kCpuHasAVX512VBMI: ::std::os::raw::c_int = 131072;
pub const kCpuHasAVX512VBMI2: ::std::os::raw::c_int = 262144;
pub const kCpuHasAVX512VBITALG: ::std::os::raw::c_int = 524288;
pub const kCpuHasAVX512VPOPCNTDQ: ::std::os::raw::c_int = 1048576;
pub const kCpuHasMIPS: ::std::os::raw::c_int = 2097152;
pub const kCpuHasMSA: ::std::os::raw::c_int = 4194304;
pub const kCpuHasMMI: ::std::os::raw::c_int = 8388608;
extern "C" {
    pub fn InitCpuFlags() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ArmCpuCaps(cpuinfo_name: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn MaskCpuFlags(enable_flags: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn CpuId(
        info_eax: ::std::os::raw::c_int,
        info_ecx: ::std::os::raw::c_int,
        cpu_info: *mut ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBRotate(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        src_width: ::std::os::raw::c_int,
        src_height: ::std::os::raw::c_int,
        mode: RotationMode,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _calloc_base(_Count: size_t, _Size: size_t) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn calloc(
        _Count: ::std::os::raw::c_uint,
        _Size: ::std::os::raw::c_uint,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn _callnewh(_Size: size_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _expand(
        _Block: *mut ::std::os::raw::c_void,
        _Size: size_t,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn _free_base(_Block: *mut ::std::os::raw::c_void);
}
extern "C" {
    pub fn free(_Block: *mut ::std::os::raw::c_void);
}
extern "C" {
    pub fn _malloc_base(_Size: size_t) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn malloc(_Size: ::std::os::raw::c_uint) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn _msize_base(_Block: *mut ::std::os::raw::c_void) -> size_t;
}
extern "C" {
    pub fn _msize(_Block: *mut ::std::os::raw::c_void) -> size_t;
}
extern "C" {
    pub fn _realloc_base(
        _Block: *mut ::std::os::raw::c_void,
        _Size: size_t,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn realloc(
        _Block: *mut ::std::os::raw::c_void,
        _Size: ::std::os::raw::c_uint,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn _recalloc_base(
        _Block: *mut ::std::os::raw::c_void,
        _Count: size_t,
        _Size: size_t,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn _recalloc(
        _Block: *mut ::std::os::raw::c_void,
        _Count: size_t,
        _Size: size_t,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn _aligned_free(_Block: *mut ::std::os::raw::c_void);
}
extern "C" {
    pub fn _aligned_malloc(_Size: size_t, _Alignment: size_t) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn _aligned_offset_malloc(
        _Size: size_t,
        _Alignment: size_t,
        _Offset: size_t,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn _aligned_msize(
        _Block: *mut ::std::os::raw::c_void,
        _Alignment: size_t,
        _Offset: size_t,
    ) -> size_t;
}
extern "C" {
    pub fn _aligned_offset_realloc(
        _Block: *mut ::std::os::raw::c_void,
        _Size: size_t,
        _Alignment: size_t,
        _Offset: size_t,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn _aligned_offset_recalloc(
        _Block: *mut ::std::os::raw::c_void,
        _Count: size_t,
        _Size: size_t,
        _Alignment: size_t,
        _Offset: size_t,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn _aligned_realloc(
        _Block: *mut ::std::os::raw::c_void,
        _Size: size_t,
        _Alignment: size_t,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn _aligned_recalloc(
        _Block: *mut ::std::os::raw::c_void,
        _Count: size_t,
        _Size: size_t,
        _Alignment: size_t,
    ) -> *mut ::std::os::raw::c_void;
}
pub type _CoreCrtSecureSearchSortCompareFunction = ::std::option::Option<
    unsafe extern "C" fn(
        arg1: *mut ::std::os::raw::c_void,
        arg2: *const ::std::os::raw::c_void,
        arg3: *const ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int,
>;
pub type _CoreCrtNonSecureSearchSortCompareFunction = ::std::option::Option<
    unsafe extern "C" fn(
        arg1: *const ::std::os::raw::c_void,
        arg2: *const ::std::os::raw::c_void,
    ) -> ::std::os::raw::c_int,
>;
extern "C" {
    pub fn bsearch_s(
        _Key: *const ::std::os::raw::c_void,
        _Base: *const ::std::os::raw::c_void,
        _NumOfElements: rsize_t,
        _SizeOfElements: rsize_t,
        _CompareFunction: _CoreCrtSecureSearchSortCompareFunction,
        _Context: *mut ::std::os::raw::c_void,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn qsort_s(
        _Base: *mut ::std::os::raw::c_void,
        _NumOfElements: rsize_t,
        _SizeOfElements: rsize_t,
        _CompareFunction: _CoreCrtSecureSearchSortCompareFunction,
        _Context: *mut ::std::os::raw::c_void,
    );
}
extern "C" {
    pub fn bsearch(
        _Key: *const ::std::os::raw::c_void,
        _Base: *const ::std::os::raw::c_void,
        _NumOfElements: size_t,
        _SizeOfElements: size_t,
        _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn qsort(
        _Base: *mut ::std::os::raw::c_void,
        _NumOfElements: size_t,
        _SizeOfElements: size_t,
        _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction,
    );
}
extern "C" {
    pub fn _lfind_s(
        _Key: *const ::std::os::raw::c_void,
        _Base: *const ::std::os::raw::c_void,
        _NumOfElements: *mut ::std::os::raw::c_uint,
        _SizeOfElements: size_t,
        _CompareFunction: _CoreCrtSecureSearchSortCompareFunction,
        _Context: *mut ::std::os::raw::c_void,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn _lfind(
        _Key: *const ::std::os::raw::c_void,
        _Base: *const ::std::os::raw::c_void,
        _NumOfElements: *mut ::std::os::raw::c_uint,
        _SizeOfElements: ::std::os::raw::c_uint,
        _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn _lsearch_s(
        _Key: *const ::std::os::raw::c_void,
        _Base: *mut ::std::os::raw::c_void,
        _NumOfElements: *mut ::std::os::raw::c_uint,
        _SizeOfElements: size_t,
        _CompareFunction: _CoreCrtSecureSearchSortCompareFunction,
        _Context: *mut ::std::os::raw::c_void,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn _lsearch(
        _Key: *const ::std::os::raw::c_void,
        _Base: *mut ::std::os::raw::c_void,
        _NumOfElements: *mut ::std::os::raw::c_uint,
        _SizeOfElements: ::std::os::raw::c_uint,
        _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn lfind(
        _Key: *const ::std::os::raw::c_void,
        _Base: *const ::std::os::raw::c_void,
        _NumOfElements: *mut ::std::os::raw::c_uint,
        _SizeOfElements: ::std::os::raw::c_uint,
        _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn lsearch(
        _Key: *const ::std::os::raw::c_void,
        _Base: *mut ::std::os::raw::c_void,
        _NumOfElements: *mut ::std::os::raw::c_uint,
        _SizeOfElements: ::std::os::raw::c_uint,
        _CompareFunction: _CoreCrtNonSecureSearchSortCompareFunction,
    ) -> *mut ::std::os::raw::c_void;
}
extern "C" {
    pub fn _itow_s(
        _Value: ::std::os::raw::c_int,
        _Buffer: *mut wchar_t,
        _BufferCount: size_t,
        _Radix: ::std::os::raw::c_int,
    ) -> errno_t;
}
extern "C" {
    pub fn _itow(
        _Value: ::std::os::raw::c_int,
        _Buffer: *mut wchar_t,
        _Radix: ::std::os::raw::c_int,
    ) -> *mut wchar_t;
}
extern "C" {
    pub fn _ltow_s(
        _Value: ::std::os::raw::c_long,
        _Buffer: *mut wchar_t,
        _BufferCount: size_t,
        _Radix: ::std::os::raw::c_int,
    ) -> errno_t;
}
extern "C" {
    pub fn _ltow(
        _Value: ::std::os::raw::c_long,
        _Buffer: *mut wchar_t,
        _Radix: ::std::os::raw::c_int,
    ) -> *mut wchar_t;
}
extern "C" {
    pub fn _ultow_s(
        _Value: ::std::os::raw::c_ulong,
        _Buffer: *mut wchar_t,
        _BufferCount: size_t,
        _Radix: ::std::os::raw::c_int,
    ) -> errno_t;
}
extern "C" {
    pub fn _ultow(
        _Value: ::std::os::raw::c_ulong,
        _Buffer: *mut wchar_t,
        _Radix: ::std::os::raw::c_int,
    ) -> *mut wchar_t;
}
extern "C" {
    pub fn wcstod(_String: *const wchar_t, _EndPtr: *mut *mut wchar_t) -> f64;
}
extern "C" {
    pub fn _wcstod_l(
        _String: *const wchar_t,
        _EndPtr: *mut *mut wchar_t,
        _Locale: _locale_t,
    ) -> f64;
}
extern "C" {
    pub fn wcstol(
        _String: *const wchar_t,
        _EndPtr: *mut *mut wchar_t,
        _Radix: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn _wcstol_l(
        _String: *const wchar_t,
        _EndPtr: *mut *mut wchar_t,
        _Radix: ::std::os::raw::c_int,
        _Locale: _locale_t,
    ) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn wcstoll(
        _String: *const wchar_t,
        _EndPtr: *mut *mut wchar_t,
        _Radix: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_longlong;
}
extern "C" {
    pub fn _wcstoll_l(
        _String: *const wchar_t,
        _EndPtr: *mut *mut wchar_t,
        _Radix: ::std::os::raw::c_int,
        _Locale: _locale_t,
    ) -> ::std::os::raw::c_longlong;
}
extern "C" {
    pub fn wcstoul(
        _String: *const wchar_t,
        _EndPtr: *mut *mut wchar_t,
        _Radix: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_ulong;
}
extern "C" {
    pub fn _wcstoul_l(
        _String: *const wchar_t,
        _EndPtr: *mut *mut wchar_t,
        _Radix: ::std::os::raw::c_int,
        _Locale: _locale_t,
    ) -> ::std::os::raw::c_ulong;
}
extern "C" {
    pub fn wcstoull(
        _String: *const wchar_t,
        _EndPtr: *mut *mut wchar_t,
        _Radix: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_ulonglong;
}
extern "C" {
    pub fn _wcstoull_l(
        _String: *const wchar_t,
        _EndPtr: *mut *mut wchar_t,
        _Radix: ::std::os::raw::c_int,
        _Locale: _locale_t,
    ) -> ::std::os::raw::c_ulonglong;
}
extern "C" {
    pub fn wcstold(_String: *const wchar_t, _EndPtr: *mut *mut wchar_t) -> f64;
}
extern "C" {
    pub fn _wcstold_l(
        _String: *const wchar_t,
        _EndPtr: *mut *mut wchar_t,
        _Locale: _locale_t,
    ) -> f64;
}
extern "C" {
    pub fn wcstof(_String: *const wchar_t, _EndPtr: *mut *mut wchar_t) -> f32;
}
extern "C" {
    pub fn _wcstof_l(
        _String: *const wchar_t,
        _EndPtr: *mut *mut wchar_t,
        _Locale: _locale_t,
    ) -> f32;
}
extern "C" {
    pub fn _wtof(_String: *const wchar_t) -> f64;
}
extern "C" {
    pub fn _wtof_l(_String: *const wchar_t, _Locale: _locale_t) -> f64;
}
extern "C" {
    pub fn _wtoi(_String: *const wchar_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _wtoi_l(_String: *const wchar_t, _Locale: _locale_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _wtol(_String: *const wchar_t) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn _wtol_l(_String: *const wchar_t, _Locale: _locale_t) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn _wtoll(_String: *const wchar_t) -> ::std::os::raw::c_longlong;
}
extern "C" {
    pub fn _wtoll_l(_String: *const wchar_t, _Locale: _locale_t) -> ::std::os::raw::c_longlong;
}
extern "C" {
    pub fn _i64tow_s(
        _Value: ::std::os::raw::c_longlong,
        _Buffer: *mut wchar_t,
        _BufferCount: size_t,
        _Radix: ::std::os::raw::c_int,
    ) -> errno_t;
}
extern "C" {
    pub fn _i64tow(
        _Value: ::std::os::raw::c_longlong,
        _Buffer: *mut wchar_t,
        _Radix: ::std::os::raw::c_int,
    ) -> *mut wchar_t;
}
extern "C" {
    pub fn _ui64tow_s(
        _Value: ::std::os::raw::c_ulonglong,
        _Buffer: *mut wchar_t,
        _BufferCount: size_t,
        _Radix: ::std::os::raw::c_int,
    ) -> errno_t;
}
extern "C" {
    pub fn _ui64tow(
        _Value: ::std::os::raw::c_ulonglong,
        _Buffer: *mut wchar_t,
        _Radix: ::std::os::raw::c_int,
    ) -> *mut wchar_t;
}
extern "C" {
    pub fn _wtoi64(_String: *const wchar_t) -> ::std::os::raw::c_longlong;
}
extern "C" {
    pub fn _wtoi64_l(_String: *const wchar_t, _Locale: _locale_t) -> ::std::os::raw::c_longlong;
}
extern "C" {
    pub fn _wcstoi64(
        _String: *const wchar_t,
        _EndPtr: *mut *mut wchar_t,
        _Radix: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_longlong;
}
extern "C" {
    pub fn _wcstoi64_l(
        _String: *const wchar_t,
        _EndPtr: *mut *mut wchar_t,
        _Radix: ::std::os::raw::c_int,
        _Locale: _locale_t,
    ) -> ::std::os::raw::c_longlong;
}
extern "C" {
    pub fn _wcstoui64(
        _String: *const wchar_t,
        _EndPtr: *mut *mut wchar_t,
        _Radix: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_ulonglong;
}
extern "C" {
    pub fn _wcstoui64_l(
        _String: *const wchar_t,
        _EndPtr: *mut *mut wchar_t,
        _Radix: ::std::os::raw::c_int,
        _Locale: _locale_t,
    ) -> ::std::os::raw::c_ulonglong;
}
extern "C" {
    pub fn _wfullpath(
        _Buffer: *mut wchar_t,
        _Path: *const wchar_t,
        _BufferCount: size_t,
    ) -> *mut wchar_t;
}
extern "C" {
    pub fn _wmakepath_s(
        _Buffer: *mut wchar_t,
        _BufferCount: size_t,
        _Drive: *const wchar_t,
        _Dir: *const wchar_t,
        _Filename: *const wchar_t,
        _Ext: *const wchar_t,
    ) -> errno_t;
}
extern "C" {
    pub fn _wmakepath(
        _Buffer: *mut wchar_t,
        _Drive: *const wchar_t,
        _Dir: *const wchar_t,
        _Filename: *const wchar_t,
        _Ext: *const wchar_t,
    );
}
extern "C" {
    pub fn _wperror(_ErrorMessage: *const wchar_t);
}
extern "C" {
    pub fn _wsplitpath(
        _FullPath: *const wchar_t,
        _Drive: *mut wchar_t,
        _Dir: *mut wchar_t,
        _Filename: *mut wchar_t,
        _Ext: *mut wchar_t,
    );
}
extern "C" {
    pub fn _wsplitpath_s(
        _FullPath: *const wchar_t,
        _Drive: *mut wchar_t,
        _DriveCount: size_t,
        _Dir: *mut wchar_t,
        _DirCount: size_t,
        _Filename: *mut wchar_t,
        _FilenameCount: size_t,
        _Ext: *mut wchar_t,
        _ExtCount: size_t,
    ) -> errno_t;
}
extern "C" {
    pub fn _wdupenv_s(
        _Buffer: *mut *mut wchar_t,
        _BufferCount: *mut size_t,
        _VarName: *const wchar_t,
    ) -> errno_t;
}
extern "C" {
    pub fn _wgetenv(_VarName: *const wchar_t) -> *mut wchar_t;
}
extern "C" {
    pub fn _wgetenv_s(
        _RequiredCount: *mut size_t,
        _Buffer: *mut wchar_t,
        _BufferCount: size_t,
        _VarName: *const wchar_t,
    ) -> errno_t;
}
extern "C" {
    pub fn _wputenv(_EnvString: *const wchar_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _wputenv_s(_Name: *const wchar_t, _Value: *const wchar_t) -> errno_t;
}
extern "C" {
    pub fn _wsearchenv_s(
        _Filename: *const wchar_t,
        _VarName: *const wchar_t,
        _Buffer: *mut wchar_t,
        _BufferCount: size_t,
    ) -> errno_t;
}
extern "C" {
    pub fn _wsearchenv(
        _Filename: *const wchar_t,
        _VarName: *const wchar_t,
        _ResultPath: *mut wchar_t,
    );
}
extern "C" {
    pub fn _wsystem(_Command: *const wchar_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _swab(
        _Buf1: *mut ::std::os::raw::c_char,
        _Buf2: *mut ::std::os::raw::c_char,
        _SizeInBytes: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn exit(_Code: ::std::os::raw::c_int);
}
extern "C" {
    pub fn _exit(_Code: ::std::os::raw::c_int);
}
extern "C" {
    pub fn _Exit(_Code: ::std::os::raw::c_int);
}
extern "C" {
    pub fn quick_exit(_Code: ::std::os::raw::c_int);
}
extern "C" {
    pub fn abort();
}
extern "C" {
    pub fn _set_abort_behavior(
        _Flags: ::std::os::raw::c_uint,
        _Mask: ::std::os::raw::c_uint,
    ) -> ::std::os::raw::c_uint;
}
pub type _onexit_t = ::std::option::Option<unsafe extern "C" fn() -> ::std::os::raw::c_int>;
extern "C" {
    pub fn atexit(arg1: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _onexit(_Func: _onexit_t) -> _onexit_t;
}
extern "C" {
    pub fn at_quick_exit(
        arg1: ::std::option::Option<unsafe extern "C" fn()>,
    ) -> ::std::os::raw::c_int;
}
pub type _purecall_handler = ::std::option::Option<unsafe extern "C" fn()>;
pub type _invalid_parameter_handler = ::std::option::Option<
    unsafe extern "C" fn(
        arg1: *const wchar_t,
        arg2: *const wchar_t,
        arg3: *const wchar_t,
        arg4: ::std::os::raw::c_uint,
        arg5: usize,
    ),
>;
extern "C" {
    pub fn _set_purecall_handler(_Handler: _purecall_handler) -> _purecall_handler;
}
extern "C" {
    pub fn _get_purecall_handler() -> _purecall_handler;
}
extern "C" {
    pub fn _set_invalid_parameter_handler(
        _Handler: _invalid_parameter_handler,
    ) -> _invalid_parameter_handler;
}
extern "C" {
    pub fn _get_invalid_parameter_handler() -> _invalid_parameter_handler;
}
extern "C" {
    pub fn _set_thread_local_invalid_parameter_handler(
        _Handler: _invalid_parameter_handler,
    ) -> _invalid_parameter_handler;
}
extern "C" {
    pub fn _get_thread_local_invalid_parameter_handler() -> _invalid_parameter_handler;
}
extern "C" {
    pub fn _set_error_mode(_Mode: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn __doserrno() -> *mut ::std::os::raw::c_ulong;
}
extern "C" {
    pub fn _set_doserrno(_Value: ::std::os::raw::c_ulong) -> errno_t;
}
extern "C" {
    pub fn _get_doserrno(_Value: *mut ::std::os::raw::c_ulong) -> errno_t;
}
extern "C" {
    pub fn __sys_errlist() -> *mut *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn __sys_nerr() -> *mut ::std::os::raw::c_int;
}
extern "C" {
    pub fn perror(_ErrMsg: *const ::std::os::raw::c_char);
}
extern "C" {
    pub fn __p__pgmptr() -> *mut *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn __p__wpgmptr() -> *mut *mut wchar_t;
}
extern "C" {
    pub fn __p__fmode() -> *mut ::std::os::raw::c_int;
}
extern "C" {
    pub fn _get_pgmptr(_Value: *mut *mut ::std::os::raw::c_char) -> errno_t;
}
extern "C" {
    pub fn _get_wpgmptr(_Value: *mut *mut wchar_t) -> errno_t;
}
extern "C" {
    pub fn _set_fmode(_Mode: ::std::os::raw::c_int) -> errno_t;
}
extern "C" {
    pub fn _get_fmode(_PMode: *mut ::std::os::raw::c_int) -> errno_t;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _div_t {
    pub quot: ::std::os::raw::c_int,
    pub rem: ::std::os::raw::c_int,
}
#[test]
fn bindgen_test_layout__div_t() {
    assert_eq!(
        ::std::mem::size_of::<_div_t>(),
        8usize,
        concat!("Size of: ", stringify!(_div_t))
    );
    assert_eq!(
        ::std::mem::align_of::<_div_t>(),
        4usize,
        concat!("Alignment of ", stringify!(_div_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_div_t>())).quot as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_div_t),
            "::",
            stringify!(quot)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_div_t>())).rem as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_div_t),
            "::",
            stringify!(rem)
        )
    );
}
pub type div_t = _div_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _ldiv_t {
    pub quot: ::std::os::raw::c_long,
    pub rem: ::std::os::raw::c_long,
}
#[test]
fn bindgen_test_layout__ldiv_t() {
    assert_eq!(
        ::std::mem::size_of::<_ldiv_t>(),
        8usize,
        concat!("Size of: ", stringify!(_ldiv_t))
    );
    assert_eq!(
        ::std::mem::align_of::<_ldiv_t>(),
        4usize,
        concat!("Alignment of ", stringify!(_ldiv_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_ldiv_t>())).quot as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_ldiv_t),
            "::",
            stringify!(quot)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_ldiv_t>())).rem as *const _ as usize },
        4usize,
        concat!(
            "Offset of field: ",
            stringify!(_ldiv_t),
            "::",
            stringify!(rem)
        )
    );
}
pub type ldiv_t = _ldiv_t;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _lldiv_t {
    pub quot: ::std::os::raw::c_longlong,
    pub rem: ::std::os::raw::c_longlong,
}
#[test]
fn bindgen_test_layout__lldiv_t() {
    assert_eq!(
        ::std::mem::size_of::<_lldiv_t>(),
        16usize,
        concat!("Size of: ", stringify!(_lldiv_t))
    );
    assert_eq!(
        ::std::mem::align_of::<_lldiv_t>(),
        8usize,
        concat!("Alignment of ", stringify!(_lldiv_t))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_lldiv_t>())).quot as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_lldiv_t),
            "::",
            stringify!(quot)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_lldiv_t>())).rem as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(_lldiv_t),
            "::",
            stringify!(rem)
        )
    );
}
pub type lldiv_t = _lldiv_t;
extern "C" {
    pub fn abs(_Number: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn labs(_Number: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn llabs(_Number: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
}
extern "C" {
    pub fn _abs64(_Number: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
}
extern "C" {
    pub fn _byteswap_ushort(_Number: ::std::os::raw::c_ushort) -> ::std::os::raw::c_ushort;
}
extern "C" {
    pub fn _byteswap_ulong(_Number: ::std::os::raw::c_ulong) -> ::std::os::raw::c_ulong;
}
extern "C" {
    pub fn _byteswap_uint64(_Number: ::std::os::raw::c_ulonglong) -> ::std::os::raw::c_ulonglong;
}
extern "C" {
    pub fn div(_Numerator: ::std::os::raw::c_int, _Denominator: ::std::os::raw::c_int) -> div_t;
}
extern "C" {
    pub fn ldiv(_Numerator: ::std::os::raw::c_long, _Denominator: ::std::os::raw::c_long)
        -> ldiv_t;
}
extern "C" {
    pub fn lldiv(
        _Numerator: ::std::os::raw::c_longlong,
        _Denominator: ::std::os::raw::c_longlong,
    ) -> lldiv_t;
}
extern "C" {
    pub fn _rotl(
        _Value: ::std::os::raw::c_uint,
        _Shift: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_uint;
}
extern "C" {
    pub fn _lrotl(
        _Value: ::std::os::raw::c_ulong,
        _Shift: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_ulong;
}
extern "C" {
    pub fn _rotl64(
        _Value: ::std::os::raw::c_ulonglong,
        _Shift: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_ulonglong;
}
extern "C" {
    pub fn _rotr(
        _Value: ::std::os::raw::c_uint,
        _Shift: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_uint;
}
extern "C" {
    pub fn _lrotr(
        _Value: ::std::os::raw::c_ulong,
        _Shift: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_ulong;
}
extern "C" {
    pub fn _rotr64(
        _Value: ::std::os::raw::c_ulonglong,
        _Shift: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_ulonglong;
}
extern "C" {
    pub fn srand(_Seed: ::std::os::raw::c_uint);
}
extern "C" {
    pub fn rand() -> ::std::os::raw::c_int;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _LDOUBLE {
    pub ld: [::std::os::raw::c_uchar; 10usize],
}
#[test]
fn bindgen_test_layout__LDOUBLE() {
    assert_eq!(
        ::std::mem::size_of::<_LDOUBLE>(),
        10usize,
        concat!("Size of: ", stringify!(_LDOUBLE))
    );
    assert_eq!(
        ::std::mem::align_of::<_LDOUBLE>(),
        1usize,
        concat!("Alignment of ", stringify!(_LDOUBLE))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_LDOUBLE>())).ld as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_LDOUBLE),
            "::",
            stringify!(ld)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _CRT_DOUBLE {
    pub x: f64,
}
#[test]
fn bindgen_test_layout__CRT_DOUBLE() {
    assert_eq!(
        ::std::mem::size_of::<_CRT_DOUBLE>(),
        8usize,
        concat!("Size of: ", stringify!(_CRT_DOUBLE))
    );
    assert_eq!(
        ::std::mem::align_of::<_CRT_DOUBLE>(),
        8usize,
        concat!("Alignment of ", stringify!(_CRT_DOUBLE))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_CRT_DOUBLE>())).x as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_CRT_DOUBLE),
            "::",
            stringify!(x)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _CRT_FLOAT {
    pub f: f32,
}
#[test]
fn bindgen_test_layout__CRT_FLOAT() {
    assert_eq!(
        ::std::mem::size_of::<_CRT_FLOAT>(),
        4usize,
        concat!("Size of: ", stringify!(_CRT_FLOAT))
    );
    assert_eq!(
        ::std::mem::align_of::<_CRT_FLOAT>(),
        4usize,
        concat!("Alignment of ", stringify!(_CRT_FLOAT))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_CRT_FLOAT>())).f as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_CRT_FLOAT),
            "::",
            stringify!(f)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _LONGDOUBLE {
    pub x: f64,
}
#[test]
fn bindgen_test_layout__LONGDOUBLE() {
    assert_eq!(
        ::std::mem::size_of::<_LONGDOUBLE>(),
        8usize,
        concat!("Size of: ", stringify!(_LONGDOUBLE))
    );
    assert_eq!(
        ::std::mem::align_of::<_LONGDOUBLE>(),
        8usize,
        concat!("Alignment of ", stringify!(_LONGDOUBLE))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_LONGDOUBLE>())).x as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_LONGDOUBLE),
            "::",
            stringify!(x)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct _LDBL12 {
    pub ld12: [::std::os::raw::c_uchar; 12usize],
}
#[test]
fn bindgen_test_layout__LDBL12() {
    assert_eq!(
        ::std::mem::size_of::<_LDBL12>(),
        12usize,
        concat!("Size of: ", stringify!(_LDBL12))
    );
    assert_eq!(
        ::std::mem::align_of::<_LDBL12>(),
        1usize,
        concat!("Alignment of ", stringify!(_LDBL12))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<_LDBL12>())).ld12 as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(_LDBL12),
            "::",
            stringify!(ld12)
        )
    );
}
extern "C" {
    pub fn atof(_String: *const ::std::os::raw::c_char) -> f64;
}
extern "C" {
    pub fn atoi(_String: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn atol(_String: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn atoll(_String: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
}
extern "C" {
    pub fn _atoi64(_String: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
}
extern "C" {
    pub fn _atof_l(_String: *const ::std::os::raw::c_char, _Locale: _locale_t) -> f64;
}
extern "C" {
    pub fn _atoi_l(
        _String: *const ::std::os::raw::c_char,
        _Locale: _locale_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _atol_l(
        _String: *const ::std::os::raw::c_char,
        _Locale: _locale_t,
    ) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn _atoll_l(
        _String: *const ::std::os::raw::c_char,
        _Locale: _locale_t,
    ) -> ::std::os::raw::c_longlong;
}
extern "C" {
    pub fn _atoi64_l(
        _String: *const ::std::os::raw::c_char,
        _Locale: _locale_t,
    ) -> ::std::os::raw::c_longlong;
}
extern "C" {
    pub fn _atoflt(
        _Result: *mut _CRT_FLOAT,
        _String: *const ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _atodbl(
        _Result: *mut _CRT_DOUBLE,
        _String: *mut ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _atoldbl(
        _Result: *mut _LDOUBLE,
        _String: *mut ::std::os::raw::c_char,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _atoflt_l(
        _Result: *mut _CRT_FLOAT,
        _String: *const ::std::os::raw::c_char,
        _Locale: _locale_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _atodbl_l(
        _Result: *mut _CRT_DOUBLE,
        _String: *mut ::std::os::raw::c_char,
        _Locale: _locale_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _atoldbl_l(
        _Result: *mut _LDOUBLE,
        _String: *mut ::std::os::raw::c_char,
        _Locale: _locale_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn strtof(
        _String: *const ::std::os::raw::c_char,
        _EndPtr: *mut *mut ::std::os::raw::c_char,
    ) -> f32;
}
extern "C" {
    pub fn _strtof_l(
        _String: *const ::std::os::raw::c_char,
        _EndPtr: *mut *mut ::std::os::raw::c_char,
        _Locale: _locale_t,
    ) -> f32;
}
extern "C" {
    pub fn strtod(
        _String: *const ::std::os::raw::c_char,
        _EndPtr: *mut *mut ::std::os::raw::c_char,
    ) -> f64;
}
extern "C" {
    pub fn _strtod_l(
        _String: *const ::std::os::raw::c_char,
        _EndPtr: *mut *mut ::std::os::raw::c_char,
        _Locale: _locale_t,
    ) -> f64;
}
extern "C" {
    pub fn strtold(
        _String: *const ::std::os::raw::c_char,
        _EndPtr: *mut *mut ::std::os::raw::c_char,
    ) -> f64;
}
extern "C" {
    pub fn _strtold_l(
        _String: *const ::std::os::raw::c_char,
        _EndPtr: *mut *mut ::std::os::raw::c_char,
        _Locale: _locale_t,
    ) -> f64;
}
extern "C" {
    pub fn strtol(
        _String: *const ::std::os::raw::c_char,
        _EndPtr: *mut *mut ::std::os::raw::c_char,
        _Radix: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn _strtol_l(
        _String: *const ::std::os::raw::c_char,
        _EndPtr: *mut *mut ::std::os::raw::c_char,
        _Radix: ::std::os::raw::c_int,
        _Locale: _locale_t,
    ) -> ::std::os::raw::c_long;
}
extern "C" {
    pub fn strtoll(
        _String: *const ::std::os::raw::c_char,
        _EndPtr: *mut *mut ::std::os::raw::c_char,
        _Radix: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_longlong;
}
extern "C" {
    pub fn _strtoll_l(
        _String: *const ::std::os::raw::c_char,
        _EndPtr: *mut *mut ::std::os::raw::c_char,
        _Radix: ::std::os::raw::c_int,
        _Locale: _locale_t,
    ) -> ::std::os::raw::c_longlong;
}
extern "C" {
    pub fn strtoul(
        _String: *const ::std::os::raw::c_char,
        _EndPtr: *mut *mut ::std::os::raw::c_char,
        _Radix: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_ulong;
}
extern "C" {
    pub fn _strtoul_l(
        _String: *const ::std::os::raw::c_char,
        _EndPtr: *mut *mut ::std::os::raw::c_char,
        _Radix: ::std::os::raw::c_int,
        _Locale: _locale_t,
    ) -> ::std::os::raw::c_ulong;
}
extern "C" {
    pub fn strtoull(
        _String: *const ::std::os::raw::c_char,
        _EndPtr: *mut *mut ::std::os::raw::c_char,
        _Radix: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_ulonglong;
}
extern "C" {
    pub fn _strtoull_l(
        _String: *const ::std::os::raw::c_char,
        _EndPtr: *mut *mut ::std::os::raw::c_char,
        _Radix: ::std::os::raw::c_int,
        _Locale: _locale_t,
    ) -> ::std::os::raw::c_ulonglong;
}
extern "C" {
    pub fn _strtoi64(
        _String: *const ::std::os::raw::c_char,
        _EndPtr: *mut *mut ::std::os::raw::c_char,
        _Radix: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_longlong;
}
extern "C" {
    pub fn _strtoi64_l(
        _String: *const ::std::os::raw::c_char,
        _EndPtr: *mut *mut ::std::os::raw::c_char,
        _Radix: ::std::os::raw::c_int,
        _Locale: _locale_t,
    ) -> ::std::os::raw::c_longlong;
}
extern "C" {
    pub fn _strtoui64(
        _String: *const ::std::os::raw::c_char,
        _EndPtr: *mut *mut ::std::os::raw::c_char,
        _Radix: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_ulonglong;
}
extern "C" {
    pub fn _strtoui64_l(
        _String: *const ::std::os::raw::c_char,
        _EndPtr: *mut *mut ::std::os::raw::c_char,
        _Radix: ::std::os::raw::c_int,
        _Locale: _locale_t,
    ) -> ::std::os::raw::c_ulonglong;
}
extern "C" {
    pub fn _itoa_s(
        _Value: ::std::os::raw::c_int,
        _Buffer: *mut ::std::os::raw::c_char,
        _BufferCount: size_t,
        _Radix: ::std::os::raw::c_int,
    ) -> errno_t;
}
extern "C" {
    pub fn _itoa(
        _Value: ::std::os::raw::c_int,
        _Buffer: *mut ::std::os::raw::c_char,
        _Radix: ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn _ltoa_s(
        _Value: ::std::os::raw::c_long,
        _Buffer: *mut ::std::os::raw::c_char,
        _BufferCount: size_t,
        _Radix: ::std::os::raw::c_int,
    ) -> errno_t;
}
extern "C" {
    pub fn _ltoa(
        _Value: ::std::os::raw::c_long,
        _Buffer: *mut ::std::os::raw::c_char,
        _Radix: ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn _ultoa_s(
        _Value: ::std::os::raw::c_ulong,
        _Buffer: *mut ::std::os::raw::c_char,
        _BufferCount: size_t,
        _Radix: ::std::os::raw::c_int,
    ) -> errno_t;
}
extern "C" {
    pub fn _ultoa(
        _Value: ::std::os::raw::c_ulong,
        _Buffer: *mut ::std::os::raw::c_char,
        _Radix: ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn _i64toa_s(
        _Value: ::std::os::raw::c_longlong,
        _Buffer: *mut ::std::os::raw::c_char,
        _BufferCount: size_t,
        _Radix: ::std::os::raw::c_int,
    ) -> errno_t;
}
extern "C" {
    pub fn _i64toa(
        _Value: ::std::os::raw::c_longlong,
        _Buffer: *mut ::std::os::raw::c_char,
        _Radix: ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn _ui64toa_s(
        _Value: ::std::os::raw::c_ulonglong,
        _Buffer: *mut ::std::os::raw::c_char,
        _BufferCount: size_t,
        _Radix: ::std::os::raw::c_int,
    ) -> errno_t;
}
extern "C" {
    pub fn _ui64toa(
        _Value: ::std::os::raw::c_ulonglong,
        _Buffer: *mut ::std::os::raw::c_char,
        _Radix: ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn _ecvt_s(
        _Buffer: *mut ::std::os::raw::c_char,
        _BufferCount: size_t,
        _Value: f64,
        _DigitCount: ::std::os::raw::c_int,
        _PtDec: *mut ::std::os::raw::c_int,
        _PtSign: *mut ::std::os::raw::c_int,
    ) -> errno_t;
}
extern "C" {
    pub fn _ecvt(
        _Value: f64,
        _DigitCount: ::std::os::raw::c_int,
        _PtDec: *mut ::std::os::raw::c_int,
        _PtSign: *mut ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn _fcvt_s(
        _Buffer: *mut ::std::os::raw::c_char,
        _BufferCount: size_t,
        _Value: f64,
        _FractionalDigitCount: ::std::os::raw::c_int,
        _PtDec: *mut ::std::os::raw::c_int,
        _PtSign: *mut ::std::os::raw::c_int,
    ) -> errno_t;
}
extern "C" {
    pub fn _fcvt(
        _Value: f64,
        _FractionalDigitCount: ::std::os::raw::c_int,
        _PtDec: *mut ::std::os::raw::c_int,
        _PtSign: *mut ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn _gcvt_s(
        _Buffer: *mut ::std::os::raw::c_char,
        _BufferCount: size_t,
        _Value: f64,
        _DigitCount: ::std::os::raw::c_int,
    ) -> errno_t;
}
extern "C" {
    pub fn _gcvt(
        _Value: f64,
        _DigitCount: ::std::os::raw::c_int,
        _Buffer: *mut ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn ___mb_cur_max_func() -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ___mb_cur_max_l_func(_Locale: _locale_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn mblen(_Ch: *const ::std::os::raw::c_char, _MaxCount: size_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _mblen_l(
        _Ch: *const ::std::os::raw::c_char,
        _MaxCount: size_t,
        _Locale: _locale_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _mbstrlen(_String: *const ::std::os::raw::c_char) -> size_t;
}
extern "C" {
    pub fn _mbstrlen_l(_String: *const ::std::os::raw::c_char, _Locale: _locale_t) -> size_t;
}
extern "C" {
    pub fn _mbstrnlen(_String: *const ::std::os::raw::c_char, _MaxCount: size_t) -> size_t;
}
extern "C" {
    pub fn _mbstrnlen_l(
        _String: *const ::std::os::raw::c_char,
        _MaxCount: size_t,
        _Locale: _locale_t,
    ) -> size_t;
}
extern "C" {
    pub fn mbtowc(
        _DstCh: *mut wchar_t,
        _SrcCh: *const ::std::os::raw::c_char,
        _SrcSizeInBytes: size_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _mbtowc_l(
        _DstCh: *mut wchar_t,
        _SrcCh: *const ::std::os::raw::c_char,
        _SrcSizeInBytes: size_t,
        _Locale: _locale_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn mbstowcs_s(
        _PtNumOfCharConverted: *mut size_t,
        _DstBuf: *mut wchar_t,
        _SizeInWords: size_t,
        _SrcBuf: *const ::std::os::raw::c_char,
        _MaxCount: size_t,
    ) -> errno_t;
}
extern "C" {
    pub fn mbstowcs(
        _Dest: *mut wchar_t,
        _Source: *const ::std::os::raw::c_char,
        _MaxCount: size_t,
    ) -> size_t;
}
extern "C" {
    pub fn _mbstowcs_s_l(
        _PtNumOfCharConverted: *mut size_t,
        _DstBuf: *mut wchar_t,
        _SizeInWords: size_t,
        _SrcBuf: *const ::std::os::raw::c_char,
        _MaxCount: size_t,
        _Locale: _locale_t,
    ) -> errno_t;
}
extern "C" {
    pub fn _mbstowcs_l(
        _Dest: *mut wchar_t,
        _Source: *const ::std::os::raw::c_char,
        _MaxCount: size_t,
        _Locale: _locale_t,
    ) -> size_t;
}
extern "C" {
    pub fn wctomb(_MbCh: *mut ::std::os::raw::c_char, _WCh: wchar_t) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _wctomb_l(
        _MbCh: *mut ::std::os::raw::c_char,
        _WCh: wchar_t,
        _Locale: _locale_t,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn wctomb_s(
        _SizeConverted: *mut ::std::os::raw::c_int,
        _MbCh: *mut ::std::os::raw::c_char,
        _SizeInBytes: rsize_t,
        _WCh: wchar_t,
    ) -> errno_t;
}
extern "C" {
    pub fn _wctomb_s_l(
        _SizeConverted: *mut ::std::os::raw::c_int,
        _MbCh: *mut ::std::os::raw::c_char,
        _SizeInBytes: size_t,
        _WCh: wchar_t,
        _Locale: _locale_t,
    ) -> errno_t;
}
extern "C" {
    pub fn wcstombs_s(
        _PtNumOfCharConverted: *mut size_t,
        _Dst: *mut ::std::os::raw::c_char,
        _DstSizeInBytes: size_t,
        _Src: *const wchar_t,
        _MaxCountInBytes: size_t,
    ) -> errno_t;
}
extern "C" {
    pub fn wcstombs(
        _Dest: *mut ::std::os::raw::c_char,
        _Source: *const wchar_t,
        _MaxCount: size_t,
    ) -> size_t;
}
extern "C" {
    pub fn _wcstombs_s_l(
        _PtNumOfCharConverted: *mut size_t,
        _Dst: *mut ::std::os::raw::c_char,
        _DstSizeInBytes: size_t,
        _Src: *const wchar_t,
        _MaxCountInBytes: size_t,
        _Locale: _locale_t,
    ) -> errno_t;
}
extern "C" {
    pub fn _wcstombs_l(
        _Dest: *mut ::std::os::raw::c_char,
        _Source: *const wchar_t,
        _MaxCount: size_t,
        _Locale: _locale_t,
    ) -> size_t;
}
extern "C" {
    pub fn _fullpath(
        _Buffer: *mut ::std::os::raw::c_char,
        _Path: *const ::std::os::raw::c_char,
        _BufferCount: size_t,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn _makepath_s(
        _Buffer: *mut ::std::os::raw::c_char,
        _BufferCount: size_t,
        _Drive: *const ::std::os::raw::c_char,
        _Dir: *const ::std::os::raw::c_char,
        _Filename: *const ::std::os::raw::c_char,
        _Ext: *const ::std::os::raw::c_char,
    ) -> errno_t;
}
extern "C" {
    pub fn _makepath(
        _Buffer: *mut ::std::os::raw::c_char,
        _Drive: *const ::std::os::raw::c_char,
        _Dir: *const ::std::os::raw::c_char,
        _Filename: *const ::std::os::raw::c_char,
        _Ext: *const ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn _splitpath(
        _FullPath: *const ::std::os::raw::c_char,
        _Drive: *mut ::std::os::raw::c_char,
        _Dir: *mut ::std::os::raw::c_char,
        _Filename: *mut ::std::os::raw::c_char,
        _Ext: *mut ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn _splitpath_s(
        _FullPath: *const ::std::os::raw::c_char,
        _Drive: *mut ::std::os::raw::c_char,
        _DriveCount: size_t,
        _Dir: *mut ::std::os::raw::c_char,
        _DirCount: size_t,
        _Filename: *mut ::std::os::raw::c_char,
        _FilenameCount: size_t,
        _Ext: *mut ::std::os::raw::c_char,
        _ExtCount: size_t,
    ) -> errno_t;
}
extern "C" {
    pub fn getenv_s(
        _RequiredCount: *mut size_t,
        _Buffer: *mut ::std::os::raw::c_char,
        _BufferCount: rsize_t,
        _VarName: *const ::std::os::raw::c_char,
    ) -> errno_t;
}
extern "C" {
    pub fn __p___argc() -> *mut ::std::os::raw::c_int;
}
extern "C" {
    pub fn __p___argv() -> *mut *mut *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn __p___wargv() -> *mut *mut *mut wchar_t;
}
extern "C" {
    pub fn __p__environ() -> *mut *mut *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn __p__wenviron() -> *mut *mut *mut wchar_t;
}
extern "C" {
    pub fn getenv(_VarName: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn _dupenv_s(
        _Buffer: *mut *mut ::std::os::raw::c_char,
        _BufferCount: *mut size_t,
        _VarName: *const ::std::os::raw::c_char,
    ) -> errno_t;
}
extern "C" {
    pub fn system(_Command: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _putenv(_EnvString: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn _putenv_s(
        _Name: *const ::std::os::raw::c_char,
        _Value: *const ::std::os::raw::c_char,
    ) -> errno_t;
}
extern "C" {
    pub fn _searchenv_s(
        _Filename: *const ::std::os::raw::c_char,
        _VarName: *const ::std::os::raw::c_char,
        _Buffer: *mut ::std::os::raw::c_char,
        _BufferCount: size_t,
    ) -> errno_t;
}
extern "C" {
    pub fn _searchenv(
        _Filename: *const ::std::os::raw::c_char,
        _VarName: *const ::std::os::raw::c_char,
        _Buffer: *mut ::std::os::raw::c_char,
    );
}
extern "C" {
    pub fn _seterrormode(_Mode: ::std::os::raw::c_int);
}
extern "C" {
    pub fn _beep(_Frequency: ::std::os::raw::c_uint, _Duration: ::std::os::raw::c_uint);
}
extern "C" {
    pub fn _sleep(_Duration: ::std::os::raw::c_ulong);
}
extern "C" {
    pub fn ecvt(
        _Value: f64,
        _DigitCount: ::std::os::raw::c_int,
        _PtDec: *mut ::std::os::raw::c_int,
        _PtSign: *mut ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn fcvt(
        _Value: f64,
        _FractionalDigitCount: ::std::os::raw::c_int,
        _PtDec: *mut ::std::os::raw::c_int,
        _PtSign: *mut ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn gcvt(
        _Value: f64,
        _DigitCount: ::std::os::raw::c_int,
        _DstBuf: *mut ::std::os::raw::c_char,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn itoa(
        _Value: ::std::os::raw::c_int,
        _Buffer: *mut ::std::os::raw::c_char,
        _Radix: ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn ltoa(
        _Value: ::std::os::raw::c_long,
        _Buffer: *mut ::std::os::raw::c_char,
        _Radix: ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn swab(
        _Buf1: *mut ::std::os::raw::c_char,
        _Buf2: *mut ::std::os::raw::c_char,
        _SizeInBytes: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ultoa(
        _Value: ::std::os::raw::c_ulong,
        _Buffer: *mut ::std::os::raw::c_char,
        _Radix: ::std::os::raw::c_int,
    ) -> *mut ::std::os::raw::c_char;
}
extern "C" {
    pub fn putenv(_EnvString: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn onexit(_Func: _onexit_t) -> _onexit_t;
}
pub type vec16 = [i16; 8usize];
pub type vec32 = [i32; 4usize];
pub type vec8 = [i8; 16usize];
pub type uvec16 = [u16; 8usize];
pub type uvec32 = [u32; 4usize];
pub type uvec8 = [u8; 16usize];
pub type lvec16 = [i16; 16usize];
pub type lvec32 = [i32; 8usize];
pub type lvec8 = [i8; 32usize];
pub type ulvec16 = [u16; 16usize];
pub type ulvec32 = [u32; 8usize];
pub type ulvec8 = [u8; 32usize];
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct YuvConstants {
    pub kUVToB: [i8; 32usize],
    pub kUVToG: [i8; 32usize],
    pub kUVToR: [i8; 32usize],
    pub kUVBiasB: [i16; 16usize],
    pub kUVBiasG: [i16; 16usize],
    pub kUVBiasR: [i16; 16usize],
    pub kYToRgb: [i16; 16usize],
}
#[test]
fn bindgen_test_layout_YuvConstants() {
    assert_eq!(
        ::std::mem::size_of::<YuvConstants>(),
        224usize,
        concat!("Size of: ", stringify!(YuvConstants))
    );
    assert_eq!(
        ::std::mem::align_of::<YuvConstants>(),
        2usize,
        concat!("Alignment of ", stringify!(YuvConstants))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<YuvConstants>())).kUVToB as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(YuvConstants),
            "::",
            stringify!(kUVToB)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<YuvConstants>())).kUVToG as *const _ as usize },
        32usize,
        concat!(
            "Offset of field: ",
            stringify!(YuvConstants),
            "::",
            stringify!(kUVToG)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<YuvConstants>())).kUVToR as *const _ as usize },
        64usize,
        concat!(
            "Offset of field: ",
            stringify!(YuvConstants),
            "::",
            stringify!(kUVToR)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<YuvConstants>())).kUVBiasB as *const _ as usize },
        96usize,
        concat!(
            "Offset of field: ",
            stringify!(YuvConstants),
            "::",
            stringify!(kUVBiasB)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<YuvConstants>())).kUVBiasG as *const _ as usize },
        128usize,
        concat!(
            "Offset of field: ",
            stringify!(YuvConstants),
            "::",
            stringify!(kUVBiasG)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<YuvConstants>())).kUVBiasR as *const _ as usize },
        160usize,
        concat!(
            "Offset of field: ",
            stringify!(YuvConstants),
            "::",
            stringify!(kUVBiasR)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<YuvConstants>())).kYToRgb as *const _ as usize },
        192usize,
        concat!(
            "Offset of field: ",
            stringify!(YuvConstants),
            "::",
            stringify!(kYToRgb)
        )
    );
}
extern "C" {
    pub static kYuvI601Constants: YuvConstants;
}
extern "C" {
    pub static kYuvJPEGConstants: YuvConstants;
}
extern "C" {
    pub static kYuvH709Constants: YuvConstants;
}
extern "C" {
    pub static kYvuI601Constants: YuvConstants;
}
extern "C" {
    pub static kYvuJPEGConstants: YuvConstants;
}
extern "C" {
    pub static kYvuH709Constants: YuvConstants;
}
extern "C" {
    pub fn I444ToARGBRow_NEON(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToARGBRow_NEON(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422AlphaToARGBRow_NEON(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        src_a: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToRGBARow_NEON(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_rgba: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToRGB24Row_NEON(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_rgb24: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToRGB565Row_NEON(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_rgb565: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToARGB1555Row_NEON(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_argb1555: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToARGB4444Row_NEON(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_argb4444: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV12ToARGBRow_NEON(
        src_y: *const u8,
        src_uv: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV12ToRGB565Row_NEON(
        src_y: *const u8,
        src_uv: *const u8,
        dst_rgb565: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV21ToARGBRow_NEON(
        src_y: *const u8,
        src_vu: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV12ToRGB24Row_NEON(
        src_y: *const u8,
        src_uv: *const u8,
        dst_rgb24: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV21ToRGB24Row_NEON(
        src_y: *const u8,
        src_vu: *const u8,
        dst_rgb24: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV21ToYUV24Row_NEON(
        src_y: *const u8,
        src_vu: *const u8,
        dst_yuv24: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToARGBRow_NEON(
        src_yuy2: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToARGBRow_NEON(
        src_uyvy: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I444ToARGBRow_MSA(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToARGBRow_MSA(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToRGBARow_MSA(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422AlphaToARGBRow_MSA(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        src_a: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToRGB24Row_MSA(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToRGB565Row_MSA(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_rgb565: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToARGB4444Row_MSA(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_argb4444: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToARGB1555Row_MSA(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_argb1555: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV12ToARGBRow_MSA(
        src_y: *const u8,
        src_uv: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV12ToRGB565Row_MSA(
        src_y: *const u8,
        src_uv: *const u8,
        dst_rgb565: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV21ToARGBRow_MSA(
        src_y: *const u8,
        src_vu: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToARGBRow_MSA(
        src_yuy2: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToARGBRow_MSA(
        src_uyvy: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToYRow_AVX2(src_argb: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToYRow_Any_AVX2(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToYRow_SSSE3(src_argb: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToYJRow_AVX2(src_argb: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToYJRow_Any_AVX2(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToYJRow_SSSE3(src_argb: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn BGRAToYRow_SSSE3(src_bgra: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ABGRToYRow_SSSE3(src_abgr: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RGBAToYRow_SSSE3(src_rgba: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RGB24ToYRow_SSSE3(src_rgb24: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RAWToYRow_SSSE3(src_raw: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToYRow_NEON(src_argb: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToYJRow_NEON(src_argb: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToYRow_MSA(src_argb0: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToYJRow_MSA(src_argb0: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToYRow_MMI(src_argb0: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToYJRow_MMI(src_argb0: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToUV444Row_NEON(
        src_argb: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToUVRow_NEON(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToUV444Row_MSA(
        src_argb: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToUVRow_MSA(
        src_argb0: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToUV444Row_MMI(
        src_argb: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToUVRow_MMI(
        src_argb0: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToUVJRow_NEON(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn BGRAToUVRow_NEON(
        src_bgra: *const u8,
        src_stride_bgra: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ABGRToUVRow_NEON(
        src_abgr: *const u8,
        src_stride_abgr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGBAToUVRow_NEON(
        src_rgba: *const u8,
        src_stride_rgba: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGB24ToUVRow_NEON(
        src_rgb24: *const u8,
        src_stride_rgb24: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RAWToUVRow_NEON(
        src_raw: *const u8,
        src_stride_raw: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGB565ToUVRow_NEON(
        src_rgb565: *const u8,
        src_stride_rgb565: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB1555ToUVRow_NEON(
        src_argb1555: *const u8,
        src_stride_argb1555: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB4444ToUVRow_NEON(
        src_argb4444: *const u8,
        src_stride_argb4444: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToUVJRow_MSA(
        src_rgb0: *const u8,
        src_stride_rgb: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn BGRAToUVRow_MSA(
        src_rgb0: *const u8,
        src_stride_rgb: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ABGRToUVRow_MSA(
        src_rgb0: *const u8,
        src_stride_rgb: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGBAToUVRow_MSA(
        src_rgb0: *const u8,
        src_stride_rgb: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGB24ToUVRow_MSA(
        src_rgb0: *const u8,
        src_stride_rgb: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RAWToUVRow_MSA(
        src_rgb0: *const u8,
        src_stride_rgb: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGB565ToUVRow_MSA(
        src_rgb565: *const u8,
        src_stride_rgb565: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB1555ToUVRow_MSA(
        src_argb1555: *const u8,
        src_stride_argb1555: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToUVJRow_MMI(
        src_rgb0: *const u8,
        src_stride_rgb: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn BGRAToUVRow_MMI(
        src_rgb0: *const u8,
        src_stride_rgb: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ABGRToUVRow_MMI(
        src_rgb0: *const u8,
        src_stride_rgb: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGBAToUVRow_MMI(
        src_rgb0: *const u8,
        src_stride_rgb: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGB24ToUVRow_MMI(
        src_rgb0: *const u8,
        src_stride_rgb: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RAWToUVRow_MMI(
        src_rgb0: *const u8,
        src_stride_rgb: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGB565ToUVRow_MMI(
        src_rgb565: *const u8,
        src_stride_rgb565: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB1555ToUVRow_MMI(
        src_argb1555: *const u8,
        src_stride_argb1555: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB4444ToUVRow_MMI(
        src_argb4444: *const u8,
        src_stride_argb4444: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn BGRAToYRow_NEON(src_bgra: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ABGRToYRow_NEON(src_abgr: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RGBAToYRow_NEON(src_rgba: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RGB24ToYRow_NEON(src_rgb24: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RAWToYRow_NEON(src_raw: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RGB565ToYRow_NEON(src_rgb565: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGB1555ToYRow_NEON(
        src_argb1555: *const u8,
        dst_y: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB4444ToYRow_NEON(
        src_argb4444: *const u8,
        dst_y: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn BGRAToYRow_MSA(src_argb0: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ABGRToYRow_MSA(src_argb0: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RGBAToYRow_MSA(src_argb0: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RGB24ToYRow_MSA(src_argb0: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RAWToYRow_MSA(src_argb0: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RGB565ToYRow_MSA(src_rgb565: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGB1555ToYRow_MSA(
        src_argb1555: *const u8,
        dst_y: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn BGRAToYRow_MMI(src_argb0: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ABGRToYRow_MMI(src_argb0: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RGBAToYRow_MMI(src_argb0: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RGB24ToYRow_MMI(src_argb0: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RAWToYRow_MMI(src_argb0: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RGB565ToYRow_MMI(src_rgb565: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGB1555ToYRow_MMI(
        src_argb1555: *const u8,
        dst_y: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB4444ToYRow_MMI(
        src_argb4444: *const u8,
        dst_y: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToYRow_C(src_argb0: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToYJRow_C(src_argb0: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn BGRAToYRow_C(src_argb0: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ABGRToYRow_C(src_argb0: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RGBAToYRow_C(src_argb0: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RGB24ToYRow_C(src_argb0: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RAWToYRow_C(src_argb0: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RGB565ToYRow_C(src_rgb565: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGB1555ToYRow_C(src_argb1555: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGB4444ToYRow_C(src_argb4444: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToYRow_Any_SSSE3(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToYJRow_Any_SSSE3(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn BGRAToYRow_Any_SSSE3(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ABGRToYRow_Any_SSSE3(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RGBAToYRow_Any_SSSE3(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RGB24ToYRow_Any_SSSE3(
        src_rgb24: *const u8,
        dst_y: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RAWToYRow_Any_SSSE3(src_raw: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToYRow_Any_NEON(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToYJRow_Any_NEON(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn BGRAToYRow_Any_NEON(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ABGRToYRow_Any_NEON(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RGBAToYRow_Any_NEON(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RGB24ToYRow_Any_NEON(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RAWToYRow_Any_NEON(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RGB565ToYRow_Any_NEON(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB1555ToYRow_Any_NEON(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB4444ToYRow_Any_NEON(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn BGRAToYRow_Any_MSA(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ABGRToYRow_Any_MSA(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RGBAToYRow_Any_MSA(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToYJRow_Any_MSA(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToYRow_Any_MSA(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RGB24ToYRow_Any_MSA(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RAWToYRow_Any_MSA(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RGB565ToYRow_Any_MSA(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGB1555ToYRow_Any_MSA(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn BGRAToYRow_Any_MMI(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ABGRToYRow_Any_MMI(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RGBAToYRow_Any_MMI(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToYJRow_Any_MMI(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToYRow_Any_MMI(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RGB24ToYRow_Any_MMI(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RAWToYRow_Any_MMI(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RGB565ToYRow_Any_MMI(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGB1555ToYRow_Any_MMI(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB4444ToYRow_Any_MMI(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToUVRow_AVX2(
        src_argb0: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToUVJRow_AVX2(
        src_argb0: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToUVRow_SSSE3(
        src_argb0: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToUVJRow_SSSE3(
        src_argb0: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn BGRAToUVRow_SSSE3(
        src_bgra0: *const u8,
        src_stride_bgra: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ABGRToUVRow_SSSE3(
        src_abgr0: *const u8,
        src_stride_abgr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGBAToUVRow_SSSE3(
        src_rgba0: *const u8,
        src_stride_rgba: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToUVRow_Any_AVX2(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToUVJRow_Any_AVX2(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToUVRow_Any_SSSE3(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToUVJRow_Any_SSSE3(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn BGRAToUVRow_Any_SSSE3(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ABGRToUVRow_Any_SSSE3(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGBAToUVRow_Any_SSSE3(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToUV444Row_Any_NEON(
        src_ptr: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToUVRow_Any_NEON(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToUV444Row_Any_MSA(
        src_ptr: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToUVRow_Any_MSA(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToUV444Row_Any_MMI(
        src_ptr: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToUVRow_Any_MMI(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToUVJRow_Any_NEON(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn BGRAToUVRow_Any_NEON(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ABGRToUVRow_Any_NEON(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGBAToUVRow_Any_NEON(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGB24ToUVRow_Any_NEON(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RAWToUVRow_Any_NEON(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGB565ToUVRow_Any_NEON(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB1555ToUVRow_Any_NEON(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB4444ToUVRow_Any_NEON(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToUVJRow_Any_MSA(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn BGRAToUVRow_Any_MSA(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ABGRToUVRow_Any_MSA(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGBAToUVRow_Any_MSA(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGB24ToUVRow_Any_MSA(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RAWToUVRow_Any_MSA(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGB565ToUVRow_Any_MSA(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB1555ToUVRow_Any_MSA(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToUVJRow_Any_MMI(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn BGRAToUVRow_Any_MMI(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ABGRToUVRow_Any_MMI(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGBAToUVRow_Any_MMI(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGB24ToUVRow_Any_MMI(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RAWToUVRow_Any_MMI(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGB565ToUVRow_Any_MMI(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB1555ToUVRow_Any_MMI(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB4444ToUVRow_Any_MMI(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToUVRow_C(
        src_rgb0: *const u8,
        src_stride_rgb: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToUVJRow_C(
        src_rgb0: *const u8,
        src_stride_rgb: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn BGRAToUVRow_C(
        src_rgb0: *const u8,
        src_stride_rgb: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ABGRToUVRow_C(
        src_rgb0: *const u8,
        src_stride_rgb: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGBAToUVRow_C(
        src_rgb0: *const u8,
        src_stride_rgb: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGB24ToUVRow_C(
        src_rgb0: *const u8,
        src_stride_rgb: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RAWToUVRow_C(
        src_rgb0: *const u8,
        src_stride_rgb: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGB565ToUVRow_C(
        src_rgb565: *const u8,
        src_stride_rgb565: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB1555ToUVRow_C(
        src_argb1555: *const u8,
        src_stride_argb1555: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB4444ToUVRow_C(
        src_argb4444: *const u8,
        src_stride_argb4444: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToUV444Row_SSSE3(
        src_argb: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToUV444Row_Any_SSSE3(
        src_ptr: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToUV444Row_C(
        src_argb: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn MirrorRow_AVX2(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn MirrorRow_SSSE3(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn MirrorRow_NEON(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn MirrorRow_MSA(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn MirrorRow_MMI(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn MirrorRow_C(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn MirrorRow_Any_AVX2(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn MirrorRow_Any_SSSE3(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn MirrorRow_Any_SSE2(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn MirrorRow_Any_NEON(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn MirrorRow_Any_MSA(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn MirrorRow_Any_MMI(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn MirrorUVRow_SSSE3(
        src: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn MirrorUVRow_NEON(
        src_uv: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn MirrorUVRow_MSA(
        src_uv: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn MirrorUVRow_MMI(
        src_uv: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn MirrorUVRow_C(
        src_uv: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBMirrorRow_AVX2(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBMirrorRow_SSE2(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBMirrorRow_NEON(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBMirrorRow_MSA(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBMirrorRow_MMI(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBMirrorRow_C(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBMirrorRow_Any_AVX2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBMirrorRow_Any_SSE2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBMirrorRow_Any_NEON(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBMirrorRow_Any_MSA(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBMirrorRow_Any_MMI(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SplitUVRow_C(
        src_uv: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SplitUVRow_SSE2(
        src_uv: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SplitUVRow_AVX2(
        src_uv: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SplitUVRow_NEON(
        src_uv: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SplitUVRow_MSA(
        src_uv: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SplitUVRow_MMI(
        src_uv: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SplitUVRow_Any_SSE2(
        src_ptr: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SplitUVRow_Any_AVX2(
        src_ptr: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SplitUVRow_Any_NEON(
        src_ptr: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SplitUVRow_Any_MSA(
        src_ptr: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SplitUVRow_Any_MMI(
        src_ptr: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn MergeUVRow_C(
        src_u: *const u8,
        src_v: *const u8,
        dst_uv: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn MergeUVRow_SSE2(
        src_u: *const u8,
        src_v: *const u8,
        dst_uv: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn MergeUVRow_AVX2(
        src_u: *const u8,
        src_v: *const u8,
        dst_uv: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn MergeUVRow_NEON(
        src_u: *const u8,
        src_v: *const u8,
        dst_uv: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn MergeUVRow_MSA(
        src_u: *const u8,
        src_v: *const u8,
        dst_uv: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn MergeUVRow_MMI(
        src_u: *const u8,
        src_v: *const u8,
        dst_uv: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn MergeUVRow_Any_SSE2(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn MergeUVRow_Any_AVX2(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn MergeUVRow_Any_NEON(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn MergeUVRow_Any_MSA(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn MergeUVRow_Any_MMI(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SplitRGBRow_C(
        src_rgb: *const u8,
        dst_r: *mut u8,
        dst_g: *mut u8,
        dst_b: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SplitRGBRow_SSSE3(
        src_rgb: *const u8,
        dst_r: *mut u8,
        dst_g: *mut u8,
        dst_b: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SplitRGBRow_NEON(
        src_rgb: *const u8,
        dst_r: *mut u8,
        dst_g: *mut u8,
        dst_b: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SplitRGBRow_MMI(
        src_rgb: *const u8,
        dst_r: *mut u8,
        dst_g: *mut u8,
        dst_b: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SplitRGBRow_Any_SSSE3(
        src_ptr: *const u8,
        dst_r: *mut u8,
        dst_g: *mut u8,
        dst_b: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SplitRGBRow_Any_NEON(
        src_ptr: *const u8,
        dst_r: *mut u8,
        dst_g: *mut u8,
        dst_b: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SplitRGBRow_Any_MMI(
        src_ptr: *const u8,
        dst_r: *mut u8,
        dst_g: *mut u8,
        dst_b: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn MergeRGBRow_C(
        src_r: *const u8,
        src_g: *const u8,
        src_b: *const u8,
        dst_rgb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn MergeRGBRow_SSSE3(
        src_r: *const u8,
        src_g: *const u8,
        src_b: *const u8,
        dst_rgb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn MergeRGBRow_NEON(
        src_r: *const u8,
        src_g: *const u8,
        src_b: *const u8,
        dst_rgb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn MergeRGBRow_MMI(
        src_r: *const u8,
        src_g: *const u8,
        src_b: *const u8,
        dst_rgb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn MergeRGBRow_Any_SSSE3(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn MergeRGBRow_Any_NEON(
        src_r: *const u8,
        src_g: *const u8,
        src_b: *const u8,
        dst_rgb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn MergeRGBRow_Any_MMI(
        src_r: *const u8,
        src_g: *const u8,
        src_b: *const u8,
        dst_rgb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn MergeUVRow_16_C(
        src_u: *const u16,
        src_v: *const u16,
        dst_uv: *mut u16,
        scale: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn MergeUVRow_16_AVX2(
        src_u: *const u16,
        src_v: *const u16,
        dst_uv: *mut u16,
        scale: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn MultiplyRow_16_AVX2(
        src_y: *const u16,
        dst_y: *mut u16,
        scale: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn MultiplyRow_16_C(
        src_y: *const u16,
        dst_y: *mut u16,
        scale: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn Convert8To16Row_C(
        src_y: *const u8,
        dst_y: *mut u16,
        scale: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn Convert8To16Row_SSE2(
        src_y: *const u8,
        dst_y: *mut u16,
        scale: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn Convert8To16Row_AVX2(
        src_y: *const u8,
        dst_y: *mut u16,
        scale: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn Convert8To16Row_Any_SSE2(
        src_ptr: *const u8,
        dst_ptr: *mut u16,
        scale: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn Convert8To16Row_Any_AVX2(
        src_ptr: *const u8,
        dst_ptr: *mut u16,
        scale: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn Convert16To8Row_C(
        src_y: *const u16,
        dst_y: *mut u8,
        scale: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn Convert16To8Row_SSSE3(
        src_y: *const u16,
        dst_y: *mut u8,
        scale: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn Convert16To8Row_AVX2(
        src_y: *const u16,
        dst_y: *mut u8,
        scale: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn Convert16To8Row_Any_SSSE3(
        src_ptr: *const u16,
        dst_ptr: *mut u8,
        scale: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn Convert16To8Row_Any_AVX2(
        src_ptr: *const u16,
        dst_ptr: *mut u8,
        scale: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn CopyRow_SSE2(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn CopyRow_AVX(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn CopyRow_ERMS(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn CopyRow_NEON(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn CopyRow_MIPS(src: *const u8, dst: *mut u8, count: ::std::os::raw::c_int);
}
extern "C" {
    pub fn CopyRow_C(src: *const u8, dst: *mut u8, count: ::std::os::raw::c_int);
}
extern "C" {
    pub fn CopyRow_Any_SSE2(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn CopyRow_Any_AVX(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn CopyRow_Any_NEON(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn CopyRow_16_C(src: *const u16, dst: *mut u16, count: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBCopyAlphaRow_C(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBCopyAlphaRow_SSE2(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBCopyAlphaRow_AVX2(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBCopyAlphaRow_MMI(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBCopyAlphaRow_Any_SSE2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBCopyAlphaRow_Any_AVX2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBCopyAlphaRow_Any_MMI(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBExtractAlphaRow_C(src_argb: *const u8, dst_a: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBExtractAlphaRow_SSE2(
        src_argb: *const u8,
        dst_a: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBExtractAlphaRow_AVX2(
        src_argb: *const u8,
        dst_a: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBExtractAlphaRow_NEON(
        src_argb: *const u8,
        dst_a: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBExtractAlphaRow_MSA(
        src_argb: *const u8,
        dst_a: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBExtractAlphaRow_MMI(
        src_argb: *const u8,
        dst_a: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBExtractAlphaRow_Any_SSE2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBExtractAlphaRow_Any_AVX2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBExtractAlphaRow_Any_NEON(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBExtractAlphaRow_Any_MSA(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBExtractAlphaRow_Any_MMI(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBCopyYToAlphaRow_C(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBCopyYToAlphaRow_SSE2(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBCopyYToAlphaRow_AVX2(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBCopyYToAlphaRow_MMI(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBCopyYToAlphaRow_Any_SSE2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBCopyYToAlphaRow_Any_AVX2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBCopyYToAlphaRow_Any_MMI(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SetRow_C(dst: *mut u8, v8: u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn SetRow_MSA(dst: *mut u8, v8: u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn SetRow_X86(dst: *mut u8, v8: u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn SetRow_ERMS(dst: *mut u8, v8: u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn SetRow_NEON(dst: *mut u8, v8: u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn SetRow_Any_X86(dst_ptr: *mut u8, v32: u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn SetRow_Any_NEON(dst_ptr: *mut u8, v32: u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBSetRow_C(dst_argb: *mut u8, v32: u32, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBSetRow_X86(dst_argb: *mut u8, v32: u32, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBSetRow_NEON(dst: *mut u8, v32: u32, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBSetRow_Any_NEON(dst_ptr: *mut u8, v32: u32, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBSetRow_MSA(dst_argb: *mut u8, v32: u32, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBSetRow_Any_MSA(dst_ptr: *mut u8, v32: u32, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBShuffleRow_C(
        src_argb: *const u8,
        dst_argb: *mut u8,
        shuffler: *const u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBShuffleRow_SSSE3(
        src_argb: *const u8,
        dst_argb: *mut u8,
        shuffler: *const u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBShuffleRow_AVX2(
        src_argb: *const u8,
        dst_argb: *mut u8,
        shuffler: *const u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBShuffleRow_NEON(
        src_argb: *const u8,
        dst_argb: *mut u8,
        shuffler: *const u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBShuffleRow_MSA(
        src_argb: *const u8,
        dst_argb: *mut u8,
        shuffler: *const u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBShuffleRow_MMI(
        src_argb: *const u8,
        dst_argb: *mut u8,
        shuffler: *const u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBShuffleRow_Any_SSSE3(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        param: *const u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBShuffleRow_Any_AVX2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        param: *const u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBShuffleRow_Any_NEON(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        param: *const u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBShuffleRow_Any_MSA(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        param: *const u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBShuffleRow_Any_MMI(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        param: *const u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGB24ToARGBRow_SSSE3(
        src_rgb24: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RAWToARGBRow_SSSE3(src_raw: *const u8, dst_argb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RAWToRGB24Row_SSSE3(
        src_raw: *const u8,
        dst_rgb24: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGB565ToARGBRow_SSE2(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGB1555ToARGBRow_SSE2(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGB4444ToARGBRow_SSE2(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RGB565ToARGBRow_AVX2(
        src_rgb565: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB1555ToARGBRow_AVX2(
        src_argb1555: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB4444ToARGBRow_AVX2(
        src_argb4444: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGB24ToARGBRow_NEON(
        src_rgb24: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGB24ToARGBRow_MSA(
        src_rgb24: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGB24ToARGBRow_MMI(
        src_rgb24: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RAWToARGBRow_NEON(src_raw: *const u8, dst_argb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RAWToARGBRow_MSA(src_raw: *const u8, dst_argb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RAWToARGBRow_MMI(src_raw: *const u8, dst_argb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RAWToRGB24Row_NEON(src_raw: *const u8, dst_rgb24: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RAWToRGB24Row_MSA(src_raw: *const u8, dst_rgb24: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RAWToRGB24Row_MMI(src_raw: *const u8, dst_rgb24: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RGB565ToARGBRow_NEON(
        src_rgb565: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGB565ToARGBRow_MSA(
        src_rgb565: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGB565ToARGBRow_MMI(
        src_rgb565: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB1555ToARGBRow_NEON(
        src_argb1555: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB1555ToARGBRow_MSA(
        src_argb1555: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB1555ToARGBRow_MMI(
        src_argb1555: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB4444ToARGBRow_NEON(
        src_argb4444: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB4444ToARGBRow_MSA(
        src_argb4444: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB4444ToARGBRow_MMI(
        src_argb4444: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGB24ToARGBRow_C(src_rgb24: *const u8, dst_argb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RAWToARGBRow_C(src_raw: *const u8, dst_argb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RAWToRGB24Row_C(src_raw: *const u8, dst_rgb24: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RGB565ToARGBRow_C(
        src_rgb565: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB1555ToARGBRow_C(
        src_argb1555: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB4444ToARGBRow_C(
        src_argb4444: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn AR30ToARGBRow_C(src_ar30: *const u8, dst_argb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn AR30ToABGRRow_C(src_ar30: *const u8, dst_abgr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToAR30Row_C(src_argb: *const u8, dst_ar30: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn AR30ToAB30Row_C(src_ar30: *const u8, dst_ab30: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RGB24ToARGBRow_Any_SSSE3(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RAWToARGBRow_Any_SSSE3(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RAWToRGB24Row_Any_SSSE3(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGB565ToARGBRow_Any_SSE2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB1555ToARGBRow_Any_SSE2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB4444ToARGBRow_Any_SSE2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGB565ToARGBRow_Any_AVX2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB1555ToARGBRow_Any_AVX2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB4444ToARGBRow_Any_AVX2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGB24ToARGBRow_Any_NEON(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGB24ToARGBRow_Any_MSA(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGB24ToARGBRow_Any_MMI(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RAWToARGBRow_Any_NEON(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RAWToARGBRow_Any_MSA(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RAWToARGBRow_Any_MMI(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn RAWToRGB24Row_Any_NEON(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RAWToRGB24Row_Any_MSA(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RAWToRGB24Row_Any_MMI(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGB565ToARGBRow_Any_NEON(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGB565ToARGBRow_Any_MSA(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGB565ToARGBRow_Any_MMI(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB1555ToARGBRow_Any_NEON(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB1555ToARGBRow_Any_MSA(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB1555ToARGBRow_Any_MMI(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB4444ToARGBRow_Any_NEON(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB4444ToARGBRow_Any_MSA(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGB4444ToARGBRow_Any_MMI(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToRGB24Row_SSSE3(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToRAWRow_SSSE3(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToRGB565Row_SSE2(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToARGB1555Row_SSE2(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToARGB4444Row_SSE2(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ABGRToAR30Row_SSSE3(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToAR30Row_SSSE3(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToRAWRow_AVX2(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToRGB24Row_AVX2(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToRGB24Row_AVX512VBMI(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToRGB565DitherRow_C(
        src_argb: *const u8,
        dst_rgb: *mut u8,
        dither4: u32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToRGB565DitherRow_SSE2(
        src: *const u8,
        dst: *mut u8,
        dither4: u32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToRGB565DitherRow_AVX2(
        src: *const u8,
        dst: *mut u8,
        dither4: u32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToRGB565Row_AVX2(
        src_argb: *const u8,
        dst_rgb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToARGB1555Row_AVX2(
        src_argb: *const u8,
        dst_rgb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToARGB4444Row_AVX2(
        src_argb: *const u8,
        dst_rgb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ABGRToAR30Row_AVX2(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToAR30Row_AVX2(src: *const u8, dst: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToRGB24Row_NEON(
        src_argb: *const u8,
        dst_rgb24: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToRAWRow_NEON(src_argb: *const u8, dst_raw: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToRGB565Row_NEON(
        src_argb: *const u8,
        dst_rgb565: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToARGB1555Row_NEON(
        src_argb: *const u8,
        dst_argb1555: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToARGB4444Row_NEON(
        src_argb: *const u8,
        dst_argb4444: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToRGB565DitherRow_NEON(
        src_argb: *const u8,
        dst_rgb: *mut u8,
        dither4: u32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToRGB24Row_MSA(src_argb: *const u8, dst_rgb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToRAWRow_MSA(src_argb: *const u8, dst_rgb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToRGB565Row_MSA(src_argb: *const u8, dst_rgb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToARGB1555Row_MSA(
        src_argb: *const u8,
        dst_rgb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToARGB4444Row_MSA(
        src_argb: *const u8,
        dst_rgb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToRGB565DitherRow_MSA(
        src_argb: *const u8,
        dst_rgb: *mut u8,
        dither4: u32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToRGB24Row_MMI(src_argb: *const u8, dst_rgb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToRAWRow_MMI(src_argb: *const u8, dst_rgb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToRGB565Row_MMI(src_argb: *const u8, dst_rgb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToARGB1555Row_MMI(
        src_argb: *const u8,
        dst_rgb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToARGB4444Row_MMI(
        src_argb: *const u8,
        dst_rgb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToRGB565DitherRow_MMI(
        src_argb: *const u8,
        dst_rgb: *mut u8,
        dither4: u32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToRGBARow_C(src_argb: *const u8, dst_rgb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToRGB24Row_C(src_argb: *const u8, dst_rgb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToRAWRow_C(src_argb: *const u8, dst_rgb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToRGB565Row_C(src_argb: *const u8, dst_rgb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToARGB1555Row_C(src_argb: *const u8, dst_rgb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToARGB4444Row_C(src_argb: *const u8, dst_rgb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ABGRToAR30Row_C(src_abgr: *const u8, dst_ar30: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn J400ToARGBRow_SSE2(src_y: *const u8, dst_argb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn J400ToARGBRow_AVX2(src_y: *const u8, dst_argb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn J400ToARGBRow_NEON(src_y: *const u8, dst_argb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn J400ToARGBRow_MSA(src_y: *const u8, dst_argb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn J400ToARGBRow_MMI(src_y: *const u8, dst_argb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn J400ToARGBRow_C(src_y: *const u8, dst_argb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn J400ToARGBRow_Any_SSE2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn J400ToARGBRow_Any_AVX2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn J400ToARGBRow_Any_NEON(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn J400ToARGBRow_Any_MSA(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn J400ToARGBRow_Any_MMI(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I444ToARGBRow_C(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        rgb_buf: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToARGBRow_C(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        rgb_buf: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToAR30Row_C(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        rgb_buf: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I210ToAR30Row_C(
        src_y: *const u16,
        src_u: *const u16,
        src_v: *const u16,
        rgb_buf: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I210ToARGBRow_C(
        src_y: *const u16,
        src_u: *const u16,
        src_v: *const u16,
        rgb_buf: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422AlphaToARGBRow_C(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        src_a: *const u8,
        rgb_buf: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV12ToARGBRow_C(
        src_y: *const u8,
        src_uv: *const u8,
        rgb_buf: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV12ToRGB565Row_C(
        src_y: *const u8,
        src_uv: *const u8,
        dst_rgb565: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV21ToARGBRow_C(
        src_y: *const u8,
        src_vu: *const u8,
        rgb_buf: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV12ToRGB24Row_C(
        src_y: *const u8,
        src_uv: *const u8,
        rgb_buf: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV21ToRGB24Row_C(
        src_y: *const u8,
        src_vu: *const u8,
        rgb_buf: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV21ToYUV24Row_C(
        src_y: *const u8,
        src_vu: *const u8,
        dst_yuv24: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToARGBRow_C(
        src_yuy2: *const u8,
        rgb_buf: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToARGBRow_C(
        src_uyvy: *const u8,
        rgb_buf: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToRGBARow_C(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        rgb_buf: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToRGB24Row_C(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        rgb_buf: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToARGB4444Row_C(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_argb4444: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToARGB1555Row_C(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_argb1555: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToRGB565Row_C(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_rgb565: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToARGBRow_AVX2(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToRGBARow_AVX2(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I444ToARGBRow_SSSE3(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I444ToARGBRow_AVX2(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToARGBRow_SSSE3(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToAR30Row_SSSE3(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ar30: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I210ToAR30Row_SSSE3(
        y_buf: *const u16,
        u_buf: *const u16,
        v_buf: *const u16,
        dst_ar30: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I210ToARGBRow_SSSE3(
        y_buf: *const u16,
        u_buf: *const u16,
        v_buf: *const u16,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToAR30Row_AVX2(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ar30: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I210ToARGBRow_AVX2(
        y_buf: *const u16,
        u_buf: *const u16,
        v_buf: *const u16,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I210ToAR30Row_AVX2(
        y_buf: *const u16,
        u_buf: *const u16,
        v_buf: *const u16,
        dst_ar30: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422AlphaToARGBRow_SSSE3(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        a_buf: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422AlphaToARGBRow_AVX2(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        a_buf: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV12ToARGBRow_SSSE3(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV12ToARGBRow_AVX2(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV12ToRGB24Row_SSSE3(
        src_y: *const u8,
        src_uv: *const u8,
        dst_rgb24: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV21ToRGB24Row_SSSE3(
        src_y: *const u8,
        src_vu: *const u8,
        dst_rgb24: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV12ToRGB565Row_SSSE3(
        src_y: *const u8,
        src_uv: *const u8,
        dst_rgb565: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV12ToRGB24Row_AVX2(
        src_y: *const u8,
        src_uv: *const u8,
        dst_rgb24: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV21ToRGB24Row_AVX2(
        src_y: *const u8,
        src_vu: *const u8,
        dst_rgb24: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV21ToYUV24Row_AVX2(
        src_y: *const u8,
        src_vu: *const u8,
        dst_yuv24: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV12ToRGB565Row_AVX2(
        src_y: *const u8,
        src_uv: *const u8,
        dst_rgb565: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV21ToARGBRow_SSSE3(
        y_buf: *const u8,
        vu_buf: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV21ToARGBRow_AVX2(
        y_buf: *const u8,
        vu_buf: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToARGBRow_SSSE3(
        yuy2_buf: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToARGBRow_SSSE3(
        uyvy_buf: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToARGBRow_AVX2(
        yuy2_buf: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToARGBRow_AVX2(
        uyvy_buf: *const u8,
        dst_argb: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToRGBARow_SSSE3(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_rgba: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToARGB4444Row_SSSE3(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_argb4444: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToARGB4444Row_AVX2(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_argb4444: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToARGB1555Row_SSSE3(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_argb1555: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToARGB1555Row_AVX2(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_argb1555: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToRGB565Row_SSSE3(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_rgb565: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToRGB565Row_AVX2(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_rgb565: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToRGB24Row_SSSE3(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_rgb24: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToRGB24Row_AVX2(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_rgb24: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToARGBRow_Any_AVX2(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToRGBARow_Any_AVX2(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I444ToARGBRow_Any_SSSE3(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I444ToARGBRow_Any_AVX2(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToARGBRow_Any_SSSE3(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToAR30Row_Any_SSSE3(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I210ToAR30Row_Any_SSSE3(
        y_buf: *const u16,
        u_buf: *const u16,
        v_buf: *const u16,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I210ToARGBRow_Any_SSSE3(
        y_buf: *const u16,
        u_buf: *const u16,
        v_buf: *const u16,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToAR30Row_Any_AVX2(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I210ToARGBRow_Any_AVX2(
        y_buf: *const u16,
        u_buf: *const u16,
        v_buf: *const u16,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I210ToAR30Row_Any_AVX2(
        y_buf: *const u16,
        u_buf: *const u16,
        v_buf: *const u16,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422AlphaToARGBRow_Any_SSSE3(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        a_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422AlphaToARGBRow_Any_AVX2(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        a_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV12ToARGBRow_Any_SSSE3(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV12ToARGBRow_Any_AVX2(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV21ToARGBRow_Any_SSSE3(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV21ToARGBRow_Any_AVX2(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV12ToRGB24Row_Any_SSSE3(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV21ToRGB24Row_Any_SSSE3(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV12ToRGB24Row_Any_AVX2(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV21ToRGB24Row_Any_AVX2(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV21ToYUV24Row_Any_AVX2(
        src_y: *const u8,
        src_vu: *const u8,
        dst_yuv24: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV12ToRGB565Row_Any_SSSE3(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV12ToRGB565Row_Any_AVX2(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToARGBRow_Any_SSSE3(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToARGBRow_Any_SSSE3(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToARGBRow_Any_AVX2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToARGBRow_Any_AVX2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToRGBARow_Any_SSSE3(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToARGB4444Row_Any_SSSE3(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToARGB4444Row_Any_AVX2(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToARGB1555Row_Any_SSSE3(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToARGB1555Row_Any_AVX2(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToRGB565Row_Any_SSSE3(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToRGB565Row_Any_AVX2(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToRGB24Row_Any_SSSE3(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToRGB24Row_Any_AVX2(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I400ToARGBRow_C(src_y: *const u8, rgb_buf: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn I400ToARGBRow_SSE2(y_buf: *const u8, dst_argb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn I400ToARGBRow_AVX2(y_buf: *const u8, dst_argb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn I400ToARGBRow_NEON(src_y: *const u8, dst_argb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn I400ToARGBRow_MSA(src_y: *const u8, dst_argb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn I400ToARGBRow_MMI(src_y: *const u8, dst_argb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn I400ToARGBRow_Any_SSE2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I400ToARGBRow_Any_AVX2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I400ToARGBRow_Any_NEON(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I400ToARGBRow_Any_MSA(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I400ToARGBRow_Any_MMI(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBBlendRow_SSSE3(
        src_argb0: *const u8,
        src_argb1: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBBlendRow_NEON(
        src_argb0: *const u8,
        src_argb1: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBBlendRow_MSA(
        src_argb0: *const u8,
        src_argb1: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBBlendRow_MMI(
        src_argb0: *const u8,
        src_argb1: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBBlendRow_C(
        src_argb0: *const u8,
        src_argb1: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn BlendPlaneRow_SSSE3(
        src0: *const u8,
        src1: *const u8,
        alpha: *const u8,
        dst: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn BlendPlaneRow_Any_SSSE3(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn BlendPlaneRow_AVX2(
        src0: *const u8,
        src1: *const u8,
        alpha: *const u8,
        dst: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn BlendPlaneRow_Any_AVX2(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn BlendPlaneRow_MMI(
        src0: *const u8,
        src1: *const u8,
        alpha: *const u8,
        dst: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn BlendPlaneRow_Any_MMI(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn BlendPlaneRow_C(
        src0: *const u8,
        src1: *const u8,
        alpha: *const u8,
        dst: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBMultiplyRow_C(
        src_argb0: *const u8,
        src_argb1: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBMultiplyRow_SSE2(
        src_argb0: *const u8,
        src_argb1: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBMultiplyRow_Any_SSE2(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBMultiplyRow_AVX2(
        src_argb0: *const u8,
        src_argb1: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBMultiplyRow_Any_AVX2(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBMultiplyRow_NEON(
        src_argb0: *const u8,
        src_argb1: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBMultiplyRow_Any_NEON(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBMultiplyRow_MSA(
        src_argb0: *const u8,
        src_argb1: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBMultiplyRow_Any_MSA(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBMultiplyRow_MMI(
        src_argb0: *const u8,
        src_argb1: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBMultiplyRow_Any_MMI(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBAddRow_C(
        src_argb0: *const u8,
        src_argb1: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBAddRow_SSE2(
        src_argb0: *const u8,
        src_argb1: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBAddRow_Any_SSE2(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBAddRow_AVX2(
        src_argb0: *const u8,
        src_argb1: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBAddRow_Any_AVX2(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBAddRow_NEON(
        src_argb0: *const u8,
        src_argb1: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBAddRow_Any_NEON(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBAddRow_MSA(
        src_argb0: *const u8,
        src_argb1: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBAddRow_Any_MSA(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBAddRow_MMI(
        src_argb0: *const u8,
        src_argb1: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBAddRow_Any_MMI(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBSubtractRow_C(
        src_argb0: *const u8,
        src_argb1: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBSubtractRow_SSE2(
        src_argb0: *const u8,
        src_argb1: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBSubtractRow_Any_SSE2(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBSubtractRow_AVX2(
        src_argb0: *const u8,
        src_argb1: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBSubtractRow_Any_AVX2(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBSubtractRow_NEON(
        src_argb0: *const u8,
        src_argb1: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBSubtractRow_Any_NEON(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBSubtractRow_MSA(
        src_argb0: *const u8,
        src_argb1: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBSubtractRow_Any_MSA(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBSubtractRow_MMI(
        src_argb0: *const u8,
        src_argb1: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBSubtractRow_Any_MMI(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToRGB24Row_Any_SSSE3(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToRAWRow_Any_SSSE3(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToRGB565Row_Any_SSE2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToARGB1555Row_Any_SSE2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToARGB4444Row_Any_SSE2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ABGRToAR30Row_Any_SSSE3(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToAR30Row_Any_SSSE3(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToRAWRow_Any_AVX2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToRGB24Row_Any_AVX2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToRGB24Row_Any_AVX512VBMI(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToRGB565DitherRow_Any_SSE2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        param: u32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToRGB565DitherRow_Any_AVX2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        param: u32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToRGB565Row_Any_AVX2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToARGB1555Row_Any_AVX2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToARGB4444Row_Any_AVX2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ABGRToAR30Row_Any_AVX2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToAR30Row_Any_AVX2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToRGB24Row_Any_NEON(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToRAWRow_Any_NEON(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToRGB565Row_Any_NEON(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToARGB1555Row_Any_NEON(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToARGB4444Row_Any_NEON(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToRGB565DitherRow_Any_NEON(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        param: u32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToRGB24Row_Any_MSA(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToRAWRow_Any_MSA(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToRGB565Row_Any_MSA(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToARGB1555Row_Any_MSA(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToARGB4444Row_Any_MSA(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToRGB565DitherRow_Any_MSA(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        param: u32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToRGB24Row_Any_MMI(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToRAWRow_Any_MMI(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBToRGB565Row_Any_MMI(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToARGB1555Row_Any_MMI(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToARGB4444Row_Any_MMI(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBToRGB565DitherRow_Any_MMI(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        param: u32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I444ToARGBRow_Any_NEON(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToARGBRow_Any_NEON(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422AlphaToARGBRow_Any_NEON(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        a_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToRGBARow_Any_NEON(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToRGB24Row_Any_NEON(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToARGB4444Row_Any_NEON(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToARGB1555Row_Any_NEON(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToRGB565Row_Any_NEON(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV12ToARGBRow_Any_NEON(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV21ToARGBRow_Any_NEON(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV12ToRGB24Row_Any_NEON(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV21ToRGB24Row_Any_NEON(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV21ToYUV24Row_Any_NEON(
        src_y: *const u8,
        src_vu: *const u8,
        dst_yuv24: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV12ToRGB565Row_Any_NEON(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToARGBRow_Any_NEON(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToARGBRow_Any_NEON(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I444ToARGBRow_Any_MSA(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToARGBRow_Any_MSA(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToRGBARow_Any_MSA(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422AlphaToARGBRow_Any_MSA(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        a_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToRGB24Row_Any_MSA(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToRGB565Row_Any_MSA(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToARGB4444Row_Any_MSA(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToARGB1555Row_Any_MSA(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV12ToARGBRow_Any_MSA(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV12ToRGB565Row_Any_MSA(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn NV21ToARGBRow_Any_MSA(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToARGBRow_Any_MSA(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToARGBRow_Any_MSA(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        yuvconstants: *const YuvConstants,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToYRow_AVX2(src_yuy2: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn YUY2ToUVRow_AVX2(
        src_yuy2: *const u8,
        stride_yuy2: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToUV422Row_AVX2(
        src_yuy2: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToYRow_SSE2(src_yuy2: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn YUY2ToUVRow_SSE2(
        src_yuy2: *const u8,
        stride_yuy2: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToUV422Row_SSE2(
        src_yuy2: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToYRow_NEON(src_yuy2: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn YUY2ToUVRow_NEON(
        src_yuy2: *const u8,
        stride_yuy2: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToUV422Row_NEON(
        src_yuy2: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToYRow_MSA(src_yuy2: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn YUY2ToYRow_MMI(src_yuy2: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn YUY2ToUVRow_MSA(
        src_yuy2: *const u8,
        src_stride_yuy2: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToUVRow_MMI(
        src_yuy2: *const u8,
        src_stride_yuy2: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToUV422Row_MSA(
        src_yuy2: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToUV422Row_MMI(
        src_yuy2: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToYRow_C(src_yuy2: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn YUY2ToUVRow_C(
        src_yuy2: *const u8,
        src_stride_yuy2: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToUV422Row_C(
        src_yuy2: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToYRow_Any_AVX2(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn YUY2ToUVRow_Any_AVX2(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToUV422Row_Any_AVX2(
        src_ptr: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToYRow_Any_SSE2(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn YUY2ToUVRow_Any_SSE2(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToUV422Row_Any_SSE2(
        src_ptr: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToYRow_Any_NEON(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn YUY2ToUVRow_Any_NEON(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToUV422Row_Any_NEON(
        src_ptr: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToYRow_Any_MSA(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn YUY2ToYRow_Any_MMI(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn YUY2ToUVRow_Any_MSA(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToUVRow_Any_MMI(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToUV422Row_Any_MSA(
        src_ptr: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn YUY2ToUV422Row_Any_MMI(
        src_ptr: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToYRow_AVX2(src_uyvy: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn UYVYToUVRow_AVX2(
        src_uyvy: *const u8,
        stride_uyvy: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToUV422Row_AVX2(
        src_uyvy: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToYRow_SSE2(src_uyvy: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn UYVYToUVRow_SSE2(
        src_uyvy: *const u8,
        stride_uyvy: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToUV422Row_SSE2(
        src_uyvy: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToYRow_NEON(src_uyvy: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn UYVYToUVRow_NEON(
        src_uyvy: *const u8,
        stride_uyvy: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToUV422Row_NEON(
        src_uyvy: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToYRow_MSA(src_uyvy: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn UYVYToYRow_MMI(src_uyvy: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn UYVYToUVRow_MSA(
        src_uyvy: *const u8,
        src_stride_uyvy: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToUVRow_MMI(
        src_uyvy: *const u8,
        src_stride_uyvy: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToUV422Row_MSA(
        src_uyvy: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToUV422Row_MMI(
        src_uyvy: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToYRow_C(src_uyvy: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn UYVYToUVRow_C(
        src_uyvy: *const u8,
        src_stride_uyvy: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToUV422Row_C(
        src_uyvy: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToYRow_Any_AVX2(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn UYVYToUVRow_Any_AVX2(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToUV422Row_Any_AVX2(
        src_ptr: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToYRow_Any_SSE2(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn UYVYToUVRow_Any_SSE2(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToUV422Row_Any_SSE2(
        src_ptr: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToYRow_Any_NEON(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn UYVYToUVRow_Any_NEON(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToUV422Row_Any_NEON(
        src_ptr: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToYRow_Any_MSA(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn UYVYToYRow_Any_MMI(src_ptr: *const u8, dst_ptr: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn UYVYToUVRow_Any_MSA(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToUVRow_Any_MMI(
        src_ptr: *const u8,
        src_stride_ptr: ::std::os::raw::c_int,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToUV422Row_Any_MSA(
        src_ptr: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn UYVYToUV422Row_Any_MMI(
        src_ptr: *const u8,
        dst_u: *mut u8,
        dst_v: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn AYUVToYRow_C(src_ayuv: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn AYUVToVURow_C(
        src_ayuv: *const u8,
        stride_ayuv: ::std::os::raw::c_int,
        dst_vu: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn AYUVToYRow_NEON(src_ayuv: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn AYUVToVURow_NEON(
        src_ayuv: *const u8,
        stride_ayuv: ::std::os::raw::c_int,
        dst_vu: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn AYUVToYRow_Any_NEON(src_ayuv: *const u8, dst_y: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn AYUVToVURow_Any_NEON(
        src_ayuv: *const u8,
        stride_ayuv: ::std::os::raw::c_int,
        dst_vu: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToYUY2Row_C(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_frame: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToUYVYRow_C(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_frame: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToYUY2Row_SSE2(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_yuy2: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToUYVYRow_SSE2(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_uyvy: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToYUY2Row_Any_SSE2(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToUYVYRow_Any_SSE2(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToYUY2Row_AVX2(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_yuy2: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToUYVYRow_AVX2(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_uyvy: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToYUY2Row_Any_AVX2(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToUYVYRow_Any_AVX2(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToYUY2Row_NEON(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_yuy2: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToUYVYRow_NEON(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_uyvy: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToYUY2Row_Any_NEON(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToUYVYRow_Any_NEON(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToYUY2Row_MSA(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_yuy2: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToYUY2Row_MMI(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_yuy2: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToUYVYRow_MSA(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_uyvy: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToUYVYRow_MMI(
        src_y: *const u8,
        src_u: *const u8,
        src_v: *const u8,
        dst_uyvy: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToYUY2Row_Any_MSA(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToYUY2Row_Any_MMI(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToUYVYRow_Any_MSA(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn I422ToUYVYRow_Any_MMI(
        y_buf: *const u8,
        u_buf: *const u8,
        v_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBAttenuateRow_C(src_argb: *const u8, dst_argb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBAttenuateRow_SSSE3(
        src_argb: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBAttenuateRow_AVX2(
        src_argb: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBAttenuateRow_NEON(
        src_argb: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBAttenuateRow_MSA(
        src_argb: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBAttenuateRow_MMI(
        src_argb: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBAttenuateRow_Any_SSSE3(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBAttenuateRow_Any_AVX2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBAttenuateRow_Any_NEON(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBAttenuateRow_Any_MSA(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBAttenuateRow_Any_MMI(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub static fixed_invtbl8: [u32; 256usize];
}
extern "C" {
    pub fn ARGBUnattenuateRow_C(
        src_argb: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBUnattenuateRow_SSE2(
        src_argb: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBUnattenuateRow_AVX2(
        src_argb: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBUnattenuateRow_Any_SSE2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBUnattenuateRow_Any_AVX2(
        src_ptr: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBGrayRow_C(src_argb: *const u8, dst_argb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBGrayRow_SSSE3(src_argb: *const u8, dst_argb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBGrayRow_NEON(src_argb: *const u8, dst_argb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBGrayRow_MSA(src_argb: *const u8, dst_argb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBGrayRow_MMI(src_argb: *const u8, dst_argb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBSepiaRow_C(dst_argb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBSepiaRow_SSSE3(dst_argb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBSepiaRow_NEON(dst_argb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBSepiaRow_MSA(dst_argb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBSepiaRow_MMI(dst_argb: *mut u8, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ARGBColorMatrixRow_C(
        src_argb: *const u8,
        dst_argb: *mut u8,
        matrix_argb: *const i8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBColorMatrixRow_SSSE3(
        src_argb: *const u8,
        dst_argb: *mut u8,
        matrix_argb: *const i8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBColorMatrixRow_NEON(
        src_argb: *const u8,
        dst_argb: *mut u8,
        matrix_argb: *const i8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBColorMatrixRow_MSA(
        src_argb: *const u8,
        dst_argb: *mut u8,
        matrix_argb: *const i8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBColorMatrixRow_MMI(
        src_argb: *const u8,
        dst_argb: *mut u8,
        matrix_argb: *const i8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBColorTableRow_C(
        dst_argb: *mut u8,
        table_argb: *const u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBColorTableRow_X86(
        dst_argb: *mut u8,
        table_argb: *const u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGBColorTableRow_C(
        dst_argb: *mut u8,
        table_argb: *const u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn RGBColorTableRow_X86(
        dst_argb: *mut u8,
        table_argb: *const u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBQuantizeRow_C(
        dst_argb: *mut u8,
        scale: ::std::os::raw::c_int,
        interval_size: ::std::os::raw::c_int,
        interval_offset: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBQuantizeRow_SSE2(
        dst_argb: *mut u8,
        scale: ::std::os::raw::c_int,
        interval_size: ::std::os::raw::c_int,
        interval_offset: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBQuantizeRow_NEON(
        dst_argb: *mut u8,
        scale: ::std::os::raw::c_int,
        interval_size: ::std::os::raw::c_int,
        interval_offset: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBQuantizeRow_MSA(
        dst_argb: *mut u8,
        scale: ::std::os::raw::c_int,
        interval_size: ::std::os::raw::c_int,
        interval_offset: ::std::os::raw::c_int,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBShadeRow_C(
        src_argb: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
        value: u32,
    );
}
extern "C" {
    pub fn ARGBShadeRow_SSE2(
        src_argb: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
        value: u32,
    );
}
extern "C" {
    pub fn ARGBShadeRow_NEON(
        src_argb: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
        value: u32,
    );
}
extern "C" {
    pub fn ARGBShadeRow_MSA(
        src_argb: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
        value: u32,
    );
}
extern "C" {
    pub fn ARGBShadeRow_MMI(
        src_argb: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
        value: u32,
    );
}
extern "C" {
    pub fn CumulativeSumToAverageRow_SSE2(
        topleft: *const i32,
        botleft: *const i32,
        width: ::std::os::raw::c_int,
        area: ::std::os::raw::c_int,
        dst: *mut u8,
        count: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ComputeCumulativeSumRow_SSE2(
        row: *const u8,
        cumsum: *mut i32,
        previous_cumsum: *const i32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ComputeCumulativeSumRow_MMI(
        row: *const u8,
        cumsum: *mut i32,
        previous_cumsum: *const i32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn CumulativeSumToAverageRow_C(
        tl: *const i32,
        bl: *const i32,
        w: ::std::os::raw::c_int,
        area: ::std::os::raw::c_int,
        dst: *mut u8,
        count: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ComputeCumulativeSumRow_C(
        row: *const u8,
        cumsum: *mut i32,
        previous_cumsum: *const i32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn InterpolateRow_C(
        dst_ptr: *mut u8,
        src_ptr: *const u8,
        src_stride: isize,
        width: ::std::os::raw::c_int,
        source_y_fraction: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn InterpolateRow_SSSE3(
        dst_ptr: *mut u8,
        src_ptr: *const u8,
        src_stride: isize,
        dst_width: ::std::os::raw::c_int,
        source_y_fraction: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn InterpolateRow_AVX2(
        dst_ptr: *mut u8,
        src_ptr: *const u8,
        src_stride: isize,
        dst_width: ::std::os::raw::c_int,
        source_y_fraction: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn InterpolateRow_NEON(
        dst_ptr: *mut u8,
        src_ptr: *const u8,
        src_stride: isize,
        dst_width: ::std::os::raw::c_int,
        source_y_fraction: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn InterpolateRow_MSA(
        dst_ptr: *mut u8,
        src_ptr: *const u8,
        src_stride: isize,
        width: ::std::os::raw::c_int,
        source_y_fraction: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn InterpolateRow_MMI(
        dst_ptr: *mut u8,
        src_ptr: *const u8,
        src_stride: isize,
        width: ::std::os::raw::c_int,
        source_y_fraction: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn InterpolateRow_Any_NEON(
        dst_ptr: *mut u8,
        src_ptr: *const u8,
        src_stride_ptr: isize,
        width: ::std::os::raw::c_int,
        source_y_fraction: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn InterpolateRow_Any_SSSE3(
        dst_ptr: *mut u8,
        src_ptr: *const u8,
        src_stride_ptr: isize,
        width: ::std::os::raw::c_int,
        source_y_fraction: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn InterpolateRow_Any_AVX2(
        dst_ptr: *mut u8,
        src_ptr: *const u8,
        src_stride_ptr: isize,
        width: ::std::os::raw::c_int,
        source_y_fraction: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn InterpolateRow_Any_MSA(
        dst_ptr: *mut u8,
        src_ptr: *const u8,
        src_stride_ptr: isize,
        width: ::std::os::raw::c_int,
        source_y_fraction: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn InterpolateRow_Any_MMI(
        dst_ptr: *mut u8,
        src_ptr: *const u8,
        src_stride_ptr: isize,
        width: ::std::os::raw::c_int,
        source_y_fraction: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn InterpolateRow_16_C(
        dst_ptr: *mut u16,
        src_ptr: *const u16,
        src_stride: isize,
        width: ::std::os::raw::c_int,
        source_y_fraction: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelXRow_C(
        src_y0: *const u8,
        src_y1: *const u8,
        src_y2: *const u8,
        dst_sobelx: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelXRow_SSE2(
        src_y0: *const u8,
        src_y1: *const u8,
        src_y2: *const u8,
        dst_sobelx: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelXRow_NEON(
        src_y0: *const u8,
        src_y1: *const u8,
        src_y2: *const u8,
        dst_sobelx: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelXRow_MSA(
        src_y0: *const u8,
        src_y1: *const u8,
        src_y2: *const u8,
        dst_sobelx: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelXRow_MMI(
        src_y0: *const u8,
        src_y1: *const u8,
        src_y2: *const u8,
        dst_sobelx: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelYRow_C(
        src_y0: *const u8,
        src_y1: *const u8,
        dst_sobely: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelYRow_SSE2(
        src_y0: *const u8,
        src_y1: *const u8,
        dst_sobely: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelYRow_NEON(
        src_y0: *const u8,
        src_y1: *const u8,
        dst_sobely: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelYRow_MSA(
        src_y0: *const u8,
        src_y1: *const u8,
        dst_sobely: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelYRow_MMI(
        src_y0: *const u8,
        src_y1: *const u8,
        dst_sobely: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelRow_C(
        src_sobelx: *const u8,
        src_sobely: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelRow_SSE2(
        src_sobelx: *const u8,
        src_sobely: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelRow_NEON(
        src_sobelx: *const u8,
        src_sobely: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelRow_MSA(
        src_sobelx: *const u8,
        src_sobely: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelRow_MMI(
        src_sobelx: *const u8,
        src_sobely: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelToPlaneRow_C(
        src_sobelx: *const u8,
        src_sobely: *const u8,
        dst_y: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelToPlaneRow_SSE2(
        src_sobelx: *const u8,
        src_sobely: *const u8,
        dst_y: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelToPlaneRow_NEON(
        src_sobelx: *const u8,
        src_sobely: *const u8,
        dst_y: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelToPlaneRow_MSA(
        src_sobelx: *const u8,
        src_sobely: *const u8,
        dst_y: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelToPlaneRow_MMI(
        src_sobelx: *const u8,
        src_sobely: *const u8,
        dst_y: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelXYRow_C(
        src_sobelx: *const u8,
        src_sobely: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelXYRow_SSE2(
        src_sobelx: *const u8,
        src_sobely: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelXYRow_NEON(
        src_sobelx: *const u8,
        src_sobely: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelXYRow_MSA(
        src_sobelx: *const u8,
        src_sobely: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelXYRow_MMI(
        src_sobelx: *const u8,
        src_sobely: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelRow_Any_SSE2(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelRow_Any_NEON(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelRow_Any_MSA(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelRow_Any_MMI(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelToPlaneRow_Any_SSE2(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelToPlaneRow_Any_NEON(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelToPlaneRow_Any_MSA(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelToPlaneRow_Any_MMI(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelXYRow_Any_SSE2(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelXYRow_Any_NEON(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelXYRow_Any_MSA(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn SobelXYRow_Any_MMI(
        y_buf: *const u8,
        uv_buf: *const u8,
        dst_ptr: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBPolynomialRow_C(
        src_argb: *const u8,
        dst_argb: *mut u8,
        poly: *const f32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBPolynomialRow_SSE2(
        src_argb: *const u8,
        dst_argb: *mut u8,
        poly: *const f32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBPolynomialRow_AVX2(
        src_argb: *const u8,
        dst_argb: *mut u8,
        poly: *const f32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn HalfFloatRow_C(src: *const u16, dst: *mut u16, scale: f32, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn HalfFloatRow_SSE2(
        src: *const u16,
        dst: *mut u16,
        scale: f32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn HalfFloatRow_Any_SSE2(
        src_ptr: *const u16,
        dst_ptr: *mut u16,
        param: f32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn HalfFloatRow_AVX2(
        src: *const u16,
        dst: *mut u16,
        scale: f32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn HalfFloatRow_Any_AVX2(
        src_ptr: *const u16,
        dst_ptr: *mut u16,
        param: f32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn HalfFloatRow_F16C(
        src: *const u16,
        dst: *mut u16,
        scale: f32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn HalfFloatRow_Any_F16C(
        src: *const u16,
        dst: *mut u16,
        scale: f32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn HalfFloat1Row_F16C(
        src: *const u16,
        dst: *mut u16,
        scale: f32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn HalfFloat1Row_Any_F16C(
        src: *const u16,
        dst: *mut u16,
        scale: f32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn HalfFloatRow_NEON(
        src: *const u16,
        dst: *mut u16,
        scale: f32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn HalfFloatRow_Any_NEON(
        src_ptr: *const u16,
        dst_ptr: *mut u16,
        param: f32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn HalfFloat1Row_NEON(
        src: *const u16,
        dst: *mut u16,
        scale: f32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn HalfFloat1Row_Any_NEON(
        src_ptr: *const u16,
        dst_ptr: *mut u16,
        param: f32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn HalfFloatRow_MSA(
        src: *const u16,
        dst: *mut u16,
        scale: f32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn HalfFloatRow_Any_MSA(
        src_ptr: *const u16,
        dst_ptr: *mut u16,
        param: f32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ByteToFloatRow_C(
        src: *const u8,
        dst: *mut f32,
        scale: f32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ByteToFloatRow_NEON(
        src: *const u8,
        dst: *mut f32,
        scale: f32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ByteToFloatRow_Any_NEON(
        src_ptr: *const u8,
        dst_ptr: *mut f32,
        param: f32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ARGBLumaColorTableRow_C(
        src_argb: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
        luma: *const u8,
        lumacoeff: u32,
    );
}
extern "C" {
    pub fn ARGBLumaColorTableRow_SSSE3(
        src_argb: *const u8,
        dst_argb: *mut u8,
        width: ::std::os::raw::c_int,
        luma: *const u8,
        lumacoeff: u32,
    );
}
extern "C" {
    pub fn ScaleMaxSamples_C(
        src: *const f32,
        dst: *mut f32,
        scale: f32,
        width: ::std::os::raw::c_int,
    ) -> f32;
}
extern "C" {
    pub fn ScaleMaxSamples_NEON(
        src: *const f32,
        dst: *mut f32,
        scale: f32,
        width: ::std::os::raw::c_int,
    ) -> f32;
}
extern "C" {
    pub fn ScaleSumSamples_C(
        src: *const f32,
        dst: *mut f32,
        scale: f32,
        width: ::std::os::raw::c_int,
    ) -> f32;
}
extern "C" {
    pub fn ScaleSumSamples_NEON(
        src: *const f32,
        dst: *mut f32,
        scale: f32,
        width: ::std::os::raw::c_int,
    ) -> f32;
}
extern "C" {
    pub fn ScaleSamples_C(src: *const f32, dst: *mut f32, scale: f32, width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ScaleSamples_NEON(
        src: *const f32,
        dst: *mut f32,
        scale: f32,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn FloatDivToByteRow_C(
        src_weights: *const f32,
        src_values: *const f32,
        dst_out: *mut u8,
        dst_mask: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn FloatDivToByteRow_NEON(
        src_weights: *const f32,
        src_values: *const f32,
        dst_out: *mut u8,
        dst_mask: *mut u8,
        width: ::std::os::raw::c_int,
    );
}
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_int;
pub use self::FilterMode as FilterModeEnum;
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,
    );
}
extern "C" {
    pub fn ScalePlane_16(
        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,
    );
}
extern "C" {
    pub fn I420Scale(
        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_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_u: *mut u8,
        dst_stride_u: ::std::os::raw::c_int,
        dst_v: *mut u8,
        dst_stride_v: ::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;
}
extern "C" {
    pub fn I420Scale_16(
        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_width: ::std::os::raw::c_int,
        src_height: ::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,
        dst_width: ::std::os::raw::c_int,
        dst_height: ::std::os::raw::c_int,
        filtering: FilterMode,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ARGBScale(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        src_width: ::std::os::raw::c_int,
        src_height: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::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;
}
extern "C" {
    pub fn ARGBScaleClip(
        src_argb: *const u8,
        src_stride_argb: ::std::os::raw::c_int,
        src_width: ::std::os::raw::c_int,
        src_height: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        dst_width: ::std::os::raw::c_int,
        dst_height: ::std::os::raw::c_int,
        clip_x: ::std::os::raw::c_int,
        clip_y: ::std::os::raw::c_int,
        clip_width: ::std::os::raw::c_int,
        clip_height: ::std::os::raw::c_int,
        filtering: FilterMode,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn YUVToARGBScaleClip(
        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_fourcc: u32,
        src_width: ::std::os::raw::c_int,
        src_height: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_stride_argb: ::std::os::raw::c_int,
        dst_fourcc: u32,
        dst_width: ::std::os::raw::c_int,
        dst_height: ::std::os::raw::c_int,
        clip_x: ::std::os::raw::c_int,
        clip_y: ::std::os::raw::c_int,
        clip_width: ::std::os::raw::c_int,
        clip_height: ::std::os::raw::c_int,
        filtering: FilterMode,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ScalePlaneVertical(
        src_height: ::std::os::raw::c_int,
        dst_width: ::std::os::raw::c_int,
        dst_height: ::std::os::raw::c_int,
        src_stride: ::std::os::raw::c_int,
        dst_stride: ::std::os::raw::c_int,
        src_argb: *const u8,
        dst_argb: *mut u8,
        x: ::std::os::raw::c_int,
        y: ::std::os::raw::c_int,
        dy: ::std::os::raw::c_int,
        bpp: ::std::os::raw::c_int,
        filtering: FilterMode,
    );
}
extern "C" {
    pub fn ScalePlaneVertical_16(
        src_height: ::std::os::raw::c_int,
        dst_width: ::std::os::raw::c_int,
        dst_height: ::std::os::raw::c_int,
        src_stride: ::std::os::raw::c_int,
        dst_stride: ::std::os::raw::c_int,
        src_argb: *const u16,
        dst_argb: *mut u16,
        x: ::std::os::raw::c_int,
        y: ::std::os::raw::c_int,
        dy: ::std::os::raw::c_int,
        wpp: ::std::os::raw::c_int,
        filtering: FilterMode,
    );
}
extern "C" {
    pub fn ScaleFilterReduce(
        src_width: ::std::os::raw::c_int,
        src_height: ::std::os::raw::c_int,
        dst_width: ::std::os::raw::c_int,
        dst_height: ::std::os::raw::c_int,
        filtering: FilterMode,
    ) -> FilterMode;
}
extern "C" {
    pub fn FixedDiv_C(
        num: ::std::os::raw::c_int,
        div: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn FixedDiv_X86(
        num: ::std::os::raw::c_int,
        div: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn FixedDiv_MIPS(
        num: ::std::os::raw::c_int,
        div: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn FixedDiv1_C(
        num: ::std::os::raw::c_int,
        div: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn FixedDiv1_X86(
        num: ::std::os::raw::c_int,
        div: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn FixedDiv1_MIPS(
        num: ::std::os::raw::c_int,
        div: ::std::os::raw::c_int,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn ScaleSlope(
        src_width: ::std::os::raw::c_int,
        src_height: ::std::os::raw::c_int,
        dst_width: ::std::os::raw::c_int,
        dst_height: ::std::os::raw::c_int,
        filtering: FilterMode,
        x: *mut ::std::os::raw::c_int,
        y: *mut ::std::os::raw::c_int,
        dx: *mut ::std::os::raw::c_int,
        dy: *mut ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2_C(
        src_ptr: *const u8,
        src_stride: isize,
        dst: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2_16_C(
        src_ptr: *const u16,
        src_stride: isize,
        dst: *mut u16,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Linear_C(
        src_ptr: *const u8,
        src_stride: isize,
        dst: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Linear_16_C(
        src_ptr: *const u16,
        src_stride: isize,
        dst: *mut u16,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Box_C(
        src_ptr: *const u8,
        src_stride: isize,
        dst: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Box_Odd_C(
        src_ptr: *const u8,
        src_stride: isize,
        dst: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Box_16_C(
        src_ptr: *const u16,
        src_stride: isize,
        dst: *mut u16,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown4_C(
        src_ptr: *const u8,
        src_stride: isize,
        dst: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown4_16_C(
        src_ptr: *const u16,
        src_stride: isize,
        dst: *mut u16,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown4Box_C(
        src_ptr: *const u8,
        src_stride: isize,
        dst: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown4Box_16_C(
        src_ptr: *const u16,
        src_stride: isize,
        dst: *mut u16,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown34_C(
        src_ptr: *const u8,
        src_stride: isize,
        dst: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown34_16_C(
        src_ptr: *const u16,
        src_stride: isize,
        dst: *mut u16,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown34_0_Box_C(
        src_ptr: *const u8,
        src_stride: isize,
        d: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown34_0_Box_16_C(
        src_ptr: *const u16,
        src_stride: isize,
        d: *mut u16,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown34_1_Box_C(
        src_ptr: *const u8,
        src_stride: isize,
        d: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown34_1_Box_16_C(
        src_ptr: *const u16,
        src_stride: isize,
        d: *mut u16,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleCols_C(
        dst_ptr: *mut u8,
        src_ptr: *const u8,
        dst_width: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleCols_16_C(
        dst_ptr: *mut u16,
        src_ptr: *const u16,
        dst_width: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleColsUp2_C(
        dst_ptr: *mut u8,
        src_ptr: *const u8,
        dst_width: ::std::os::raw::c_int,
        arg1: ::std::os::raw::c_int,
        arg2: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleColsUp2_16_C(
        dst_ptr: *mut u16,
        src_ptr: *const u16,
        dst_width: ::std::os::raw::c_int,
        arg1: ::std::os::raw::c_int,
        arg2: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleFilterCols_C(
        dst_ptr: *mut u8,
        src_ptr: *const u8,
        dst_width: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleFilterCols_16_C(
        dst_ptr: *mut u16,
        src_ptr: *const u16,
        dst_width: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleFilterCols64_C(
        dst_ptr: *mut u8,
        src_ptr: *const u8,
        dst_width: ::std::os::raw::c_int,
        x32: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleFilterCols64_16_C(
        dst_ptr: *mut u16,
        src_ptr: *const u16,
        dst_width: ::std::os::raw::c_int,
        x32: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown38_C(
        src_ptr: *const u8,
        src_stride: isize,
        dst: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown38_16_C(
        src_ptr: *const u16,
        src_stride: isize,
        dst: *mut u16,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown38_3_Box_C(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown38_3_Box_16_C(
        src_ptr: *const u16,
        src_stride: isize,
        dst_ptr: *mut u16,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown38_2_Box_C(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown38_2_Box_16_C(
        src_ptr: *const u16,
        src_stride: isize,
        dst_ptr: *mut u16,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleAddRow_C(src_ptr: *const u8, dst_ptr: *mut u16, src_width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ScaleAddRow_16_C(
        src_ptr: *const u16,
        dst_ptr: *mut u32,
        src_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDown2_C(
        src_argb: *const u8,
        src_stride: isize,
        dst_argb: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDown2Linear_C(
        src_argb: *const u8,
        src_stride: isize,
        dst_argb: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDown2Box_C(
        src_argb: *const u8,
        src_stride: isize,
        dst_argb: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDownEven_C(
        src_argb: *const u8,
        src_stride: isize,
        src_stepx: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDownEvenBox_C(
        src_argb: *const u8,
        src_stride: isize,
        src_stepx: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBCols_C(
        dst_argb: *mut u8,
        src_argb: *const u8,
        dst_width: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBCols64_C(
        dst_argb: *mut u8,
        src_argb: *const u8,
        dst_width: ::std::os::raw::c_int,
        x32: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBColsUp2_C(
        dst_argb: *mut u8,
        src_argb: *const u8,
        dst_width: ::std::os::raw::c_int,
        arg1: ::std::os::raw::c_int,
        arg2: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBFilterCols_C(
        dst_argb: *mut u8,
        src_argb: *const u8,
        dst_width: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBFilterCols64_C(
        dst_argb: *mut u8,
        src_argb: *const u8,
        dst_width: ::std::os::raw::c_int,
        x32: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2_SSSE3(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Linear_SSSE3(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Box_SSSE3(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2_AVX2(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Linear_AVX2(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Box_AVX2(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown4_SSSE3(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown4Box_SSSE3(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown4_AVX2(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown4Box_AVX2(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown34_SSSE3(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown34_1_Box_SSSE3(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown34_0_Box_SSSE3(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown38_SSSE3(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown38_3_Box_SSSE3(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown38_2_Box_SSSE3(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2_Any_SSSE3(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Linear_Any_SSSE3(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Box_Any_SSSE3(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Box_Odd_SSSE3(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2_Any_AVX2(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Linear_Any_AVX2(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Box_Any_AVX2(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Box_Odd_AVX2(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown4_Any_SSSE3(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown4Box_Any_SSSE3(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown4_Any_AVX2(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown4Box_Any_AVX2(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown34_Any_SSSE3(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown34_1_Box_Any_SSSE3(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown34_0_Box_Any_SSSE3(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown38_Any_SSSE3(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown38_3_Box_Any_SSSE3(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown38_2_Box_Any_SSSE3(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleAddRow_SSE2(
        src_ptr: *const u8,
        dst_ptr: *mut u16,
        src_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleAddRow_AVX2(
        src_ptr: *const u8,
        dst_ptr: *mut u16,
        src_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleAddRow_Any_SSE2(
        src_ptr: *const u8,
        dst_ptr: *mut u16,
        src_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleAddRow_Any_AVX2(
        src_ptr: *const u8,
        dst_ptr: *mut u16,
        src_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleFilterCols_SSSE3(
        dst_ptr: *mut u8,
        src_ptr: *const u8,
        dst_width: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleColsUp2_SSE2(
        dst_ptr: *mut u8,
        src_ptr: *const u8,
        dst_width: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBCols_SSE2(
        dst_argb: *mut u8,
        src_argb: *const u8,
        dst_width: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBFilterCols_SSSE3(
        dst_argb: *mut u8,
        src_argb: *const u8,
        dst_width: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBColsUp2_SSE2(
        dst_argb: *mut u8,
        src_argb: *const u8,
        dst_width: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBFilterCols_NEON(
        dst_argb: *mut u8,
        src_argb: *const u8,
        dst_width: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBCols_NEON(
        dst_argb: *mut u8,
        src_argb: *const u8,
        dst_width: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBFilterCols_Any_NEON(
        dst_ptr: *mut u8,
        src_ptr: *const u8,
        dst_width: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBCols_Any_NEON(
        dst_ptr: *mut u8,
        src_ptr: *const u8,
        dst_width: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBFilterCols_MSA(
        dst_argb: *mut u8,
        src_argb: *const u8,
        dst_width: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBCols_MSA(
        dst_argb: *mut u8,
        src_argb: *const u8,
        dst_width: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBFilterCols_Any_MSA(
        dst_ptr: *mut u8,
        src_ptr: *const u8,
        dst_width: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBCols_Any_MSA(
        dst_ptr: *mut u8,
        src_ptr: *const u8,
        dst_width: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBCols_MMI(
        dst_argb: *mut u8,
        src_argb: *const u8,
        dst_width: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBCols_Any_MMI(
        dst_ptr: *mut u8,
        src_ptr: *const u8,
        dst_width: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDown2_SSE2(
        src_argb: *const u8,
        src_stride: isize,
        dst_argb: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDown2Linear_SSE2(
        src_argb: *const u8,
        src_stride: isize,
        dst_argb: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDown2Box_SSE2(
        src_argb: *const u8,
        src_stride: isize,
        dst_argb: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDown2_NEON(
        src_ptr: *const u8,
        src_stride: isize,
        dst: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDown2Linear_NEON(
        src_argb: *const u8,
        src_stride: isize,
        dst_argb: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDown2Box_NEON(
        src_ptr: *const u8,
        src_stride: isize,
        dst: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDown2_MSA(
        src_argb: *const u8,
        src_stride: isize,
        dst_argb: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDown2Linear_MSA(
        src_argb: *const u8,
        src_stride: isize,
        dst_argb: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDown2Box_MSA(
        src_argb: *const u8,
        src_stride: isize,
        dst_argb: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDown2_MMI(
        src_argb: *const u8,
        src_stride: isize,
        dst_argb: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDown2Linear_MMI(
        src_argb: *const u8,
        src_stride: isize,
        dst_argb: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDown2Box_MMI(
        src_argb: *const u8,
        src_stride: isize,
        dst_argb: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDown2_Any_SSE2(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDown2Linear_Any_SSE2(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDown2Box_Any_SSE2(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDown2_Any_NEON(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDown2Linear_Any_NEON(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDown2Box_Any_NEON(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDown2_Any_MSA(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDown2Linear_Any_MSA(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDown2Box_Any_MSA(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDown2_Any_MMI(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDown2Linear_Any_MMI(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDown2Box_Any_MMI(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDownEven_SSE2(
        src_argb: *const u8,
        src_stride: isize,
        src_stepx: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDownEvenBox_SSE2(
        src_argb: *const u8,
        src_stride: isize,
        src_stepx: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDownEven_NEON(
        src_argb: *const u8,
        src_stride: isize,
        src_stepx: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDownEvenBox_NEON(
        src_argb: *const u8,
        src_stride: isize,
        src_stepx: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDownEven_MSA(
        src_argb: *const u8,
        src_stride: isize,
        src_stepx: i32,
        dst_argb: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDownEvenBox_MSA(
        src_argb: *const u8,
        src_stride: isize,
        src_stepx: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDownEven_MMI(
        src_argb: *const u8,
        src_stride: isize,
        src_stepx: i32,
        dst_argb: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDownEvenBox_MMI(
        src_argb: *const u8,
        src_stride: isize,
        src_stepx: ::std::os::raw::c_int,
        dst_argb: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDownEven_Any_SSE2(
        src_ptr: *const u8,
        src_stride: isize,
        src_stepx: ::std::os::raw::c_int,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDownEvenBox_Any_SSE2(
        src_ptr: *const u8,
        src_stride: isize,
        src_stepx: ::std::os::raw::c_int,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDownEven_Any_NEON(
        src_ptr: *const u8,
        src_stride: isize,
        src_stepx: ::std::os::raw::c_int,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDownEvenBox_Any_NEON(
        src_ptr: *const u8,
        src_stride: isize,
        src_stepx: ::std::os::raw::c_int,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDownEven_Any_MSA(
        src_ptr: *const u8,
        src_stride: isize,
        src_stepx: i32,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDownEvenBox_Any_MSA(
        src_ptr: *const u8,
        src_stride: isize,
        src_stepx: ::std::os::raw::c_int,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDownEven_Any_MMI(
        src_ptr: *const u8,
        src_stride: isize,
        src_stepx: i32,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBRowDownEvenBox_Any_MMI(
        src_ptr: *const u8,
        src_stride: isize,
        src_stepx: ::std::os::raw::c_int,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2_NEON(
        src_ptr: *const u8,
        src_stride: isize,
        dst: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Linear_NEON(
        src_ptr: *const u8,
        src_stride: isize,
        dst: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Box_NEON(
        src_ptr: *const u8,
        src_stride: isize,
        dst: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown4_NEON(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown4Box_NEON(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown34_NEON(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown34_0_Box_NEON(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown34_1_Box_NEON(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown38_NEON(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown38_3_Box_NEON(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown38_2_Box_NEON(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2_Any_NEON(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Linear_Any_NEON(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Box_Any_NEON(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Box_Odd_NEON(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown4_Any_NEON(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown4Box_Any_NEON(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown34_Any_NEON(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown34_0_Box_Any_NEON(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown34_1_Box_Any_NEON(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown38_Any_NEON(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown38_3_Box_Any_NEON(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown38_2_Box_Any_NEON(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleAddRow_NEON(
        src_ptr: *const u8,
        dst_ptr: *mut u16,
        src_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleAddRow_Any_NEON(
        src_ptr: *const u8,
        dst_ptr: *mut u16,
        src_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleFilterCols_NEON(
        dst_ptr: *mut u8,
        src_ptr: *const u8,
        dst_width: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleFilterCols_Any_NEON(
        dst_ptr: *mut u8,
        src_ptr: *const u8,
        dst_width: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2_MSA(
        src_ptr: *const u8,
        src_stride: isize,
        dst: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Linear_MSA(
        src_ptr: *const u8,
        src_stride: isize,
        dst: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Box_MSA(
        src_ptr: *const u8,
        src_stride: isize,
        dst: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown4_MSA(
        src_ptr: *const u8,
        src_stride: isize,
        dst: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown4Box_MSA(
        src_ptr: *const u8,
        src_stride: isize,
        dst: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown38_MSA(
        src_ptr: *const u8,
        src_stride: isize,
        dst: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown38_2_Box_MSA(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown38_3_Box_MSA(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleAddRow_MSA(src_ptr: *const u8, dst_ptr: *mut u16, src_width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ScaleFilterCols_MSA(
        dst_ptr: *mut u8,
        src_ptr: *const u8,
        dst_width: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown34_MSA(
        src_ptr: *const u8,
        src_stride: isize,
        dst: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown34_0_Box_MSA(
        src_ptr: *const u8,
        src_stride: isize,
        d: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown34_1_Box_MSA(
        src_ptr: *const u8,
        src_stride: isize,
        d: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2_Any_MSA(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Linear_Any_MSA(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Box_Any_MSA(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown4_Any_MSA(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown4Box_Any_MSA(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown38_Any_MSA(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown38_2_Box_Any_MSA(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown38_3_Box_Any_MSA(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleAddRow_Any_MSA(
        src_ptr: *const u8,
        dst_ptr: *mut u16,
        src_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleFilterCols_Any_MSA(
        dst_ptr: *mut u8,
        src_ptr: *const u8,
        dst_width: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown34_Any_MSA(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown34_0_Box_Any_MSA(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown34_1_Box_Any_MSA(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2_MMI(
        src_ptr: *const u8,
        src_stride: isize,
        dst: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2_16_MMI(
        src_ptr: *const u16,
        src_stride: isize,
        dst: *mut u16,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Linear_MMI(
        src_ptr: *const u8,
        src_stride: isize,
        dst: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Linear_16_MMI(
        src_ptr: *const u16,
        src_stride: isize,
        dst: *mut u16,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Box_MMI(
        src_ptr: *const u8,
        src_stride: isize,
        dst: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Box_16_MMI(
        src_ptr: *const u16,
        src_stride: isize,
        dst: *mut u16,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Box_Odd_MMI(
        src_ptr: *const u8,
        src_stride: isize,
        dst: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown4_MMI(
        src_ptr: *const u8,
        src_stride: isize,
        dst: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown4_16_MMI(
        src_ptr: *const u16,
        src_stride: isize,
        dst: *mut u16,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown4Box_MMI(
        src_ptr: *const u8,
        src_stride: isize,
        dst: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown4Box_16_MMI(
        src_ptr: *const u16,
        src_stride: isize,
        dst: *mut u16,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleAddRow_MMI(src_ptr: *const u8, dst_ptr: *mut u16, src_width: ::std::os::raw::c_int);
}
extern "C" {
    pub fn ScaleAddRow_16_MMI(
        src_ptr: *const u16,
        dst_ptr: *mut u32,
        src_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleColsUp2_MMI(
        dst_ptr: *mut u8,
        src_ptr: *const u8,
        dst_width: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleColsUp2_16_MMI(
        dst_ptr: *mut u16,
        src_ptr: *const u16,
        dst_width: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleARGBColsUp2_MMI(
        dst_argb: *mut u8,
        src_argb: *const u8,
        dst_width: ::std::os::raw::c_int,
        x: ::std::os::raw::c_int,
        dx: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2_Any_MMI(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Linear_Any_MMI(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown2Box_Any_MMI(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown4_Any_MMI(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleRowDown4Box_Any_MMI(
        src_ptr: *const u8,
        src_stride: isize,
        dst_ptr: *mut u8,
        dst_width: ::std::os::raw::c_int,
    );
}
extern "C" {
    pub fn ScaleAddRow_Any_MMI(
        src_ptr: *const u8,
        dst_ptr: *mut u16,
        src_width: ::std::os::raw::c_int,
    );
}
pub const FourCC_FOURCC_I420: FourCC = 808596553;
pub const FourCC_FOURCC_I422: FourCC = 842150985;
pub const FourCC_FOURCC_I444: FourCC = 875836489;
pub const FourCC_FOURCC_I400: FourCC = 808465481;
pub const FourCC_FOURCC_NV21: FourCC = 825382478;
pub const FourCC_FOURCC_NV12: FourCC = 842094158;
pub const FourCC_FOURCC_YUY2: FourCC = 844715353;
pub const FourCC_FOURCC_UYVY: FourCC = 1498831189;
pub const FourCC_FOURCC_H010: FourCC = 808529992;
pub const FourCC_FOURCC_M420: FourCC = 808596557;
pub const FourCC_FOURCC_ARGB: FourCC = 1111970369;
pub const FourCC_FOURCC_BGRA: FourCC = 1095911234;
pub const FourCC_FOURCC_ABGR: FourCC = 1380401729;
pub const FourCC_FOURCC_AR30: FourCC = 808669761;
pub const FourCC_FOURCC_AB30: FourCC = 808665665;
pub const FourCC_FOURCC_24BG: FourCC = 1195521074;
pub const FourCC_FOURCC_RAW: FourCC = 544694642;
pub const FourCC_FOURCC_RGBA: FourCC = 1094862674;
pub const FourCC_FOURCC_RGBP: FourCC = 1346520914;
pub const FourCC_FOURCC_RGBO: FourCC = 1329743698;
pub const FourCC_FOURCC_R444: FourCC = 875836498;
pub const FourCC_FOURCC_MJPG: FourCC = 1196444237;
pub const FourCC_FOURCC_YV12: FourCC = 842094169;
pub const FourCC_FOURCC_YV16: FourCC = 909203033;
pub const FourCC_FOURCC_YV24: FourCC = 875714137;
pub const FourCC_FOURCC_YU12: FourCC = 842093913;
pub const FourCC_FOURCC_J420: FourCC = 808596554;
pub const FourCC_FOURCC_J400: FourCC = 808465482;
pub const FourCC_FOURCC_H420: FourCC = 808596552;
pub const FourCC_FOURCC_H422: FourCC = 842150984;
pub const FourCC_FOURCC_IYUV: FourCC = 1448433993;
pub const FourCC_FOURCC_YU16: FourCC = 909202777;
pub const FourCC_FOURCC_YU24: FourCC = 875713881;
pub const FourCC_FOURCC_YUYV: FourCC = 1448695129;
pub const FourCC_FOURCC_YUVS: FourCC = 1937143161;
pub const FourCC_FOURCC_HDYC: FourCC = 1129923656;
pub const FourCC_FOURCC_2VUY: FourCC = 2037741106;
pub const FourCC_FOURCC_JPEG: FourCC = 1195724874;
pub const FourCC_FOURCC_DMB1: FourCC = 828534116;
pub const FourCC_FOURCC_BA81: FourCC = 825770306;
pub const FourCC_FOURCC_RGB3: FourCC = 859981650;
pub const FourCC_FOURCC_BGR3: FourCC = 861030210;
pub const FourCC_FOURCC_CM32: FourCC = 536870912;
pub const FourCC_FOURCC_CM24: FourCC = 402653184;
pub const FourCC_FOURCC_L555: FourCC = 892679500;
pub const FourCC_FOURCC_L565: FourCC = 892745036;
pub const FourCC_FOURCC_5551: FourCC = 825570613;
pub const FourCC_FOURCC_I411: FourCC = 825308233;
pub const FourCC_FOURCC_Q420: FourCC = 808596561;
pub const FourCC_FOURCC_RGGB: FourCC = 1111967570;
pub const FourCC_FOURCC_BGGR: FourCC = 1380403010;
pub const FourCC_FOURCC_GRBG: FourCC = 1195528775;
pub const FourCC_FOURCC_GBRG: FourCC = 1196573255;
pub const FourCC_FOURCC_H264: FourCC = 875967048;
pub const FourCC_FOURCC_ANY: FourCC = -1;
pub type FourCC = ::std::os::raw::c_int;
pub const FourCCBpp_FOURCC_BPP_I420: FourCCBpp = 12;
pub const FourCCBpp_FOURCC_BPP_I422: FourCCBpp = 16;
pub const FourCCBpp_FOURCC_BPP_I444: FourCCBpp = 24;
pub const FourCCBpp_FOURCC_BPP_I411: FourCCBpp = 12;
pub const FourCCBpp_FOURCC_BPP_I400: FourCCBpp = 8;
pub const FourCCBpp_FOURCC_BPP_NV21: FourCCBpp = 12;
pub const FourCCBpp_FOURCC_BPP_NV12: FourCCBpp = 12;
pub const FourCCBpp_FOURCC_BPP_YUY2: FourCCBpp = 16;
pub const FourCCBpp_FOURCC_BPP_UYVY: FourCCBpp = 16;
pub const FourCCBpp_FOURCC_BPP_M420: FourCCBpp = 12;
pub const FourCCBpp_FOURCC_BPP_Q420: FourCCBpp = 12;
pub const FourCCBpp_FOURCC_BPP_ARGB: FourCCBpp = 32;
pub const FourCCBpp_FOURCC_BPP_BGRA: FourCCBpp = 32;
pub const FourCCBpp_FOURCC_BPP_ABGR: FourCCBpp = 32;
pub const FourCCBpp_FOURCC_BPP_RGBA: FourCCBpp = 32;
pub const FourCCBpp_FOURCC_BPP_AR30: FourCCBpp = 32;
pub const FourCCBpp_FOURCC_BPP_AB30: FourCCBpp = 32;
pub const FourCCBpp_FOURCC_BPP_24BG: FourCCBpp = 24;
pub const FourCCBpp_FOURCC_BPP_RAW: FourCCBpp = 24;
pub const FourCCBpp_FOURCC_BPP_RGBP: FourCCBpp = 16;
pub const FourCCBpp_FOURCC_BPP_RGBO: FourCCBpp = 16;
pub const FourCCBpp_FOURCC_BPP_R444: FourCCBpp = 16;
pub const FourCCBpp_FOURCC_BPP_RGGB: FourCCBpp = 8;
pub const FourCCBpp_FOURCC_BPP_BGGR: FourCCBpp = 8;
pub const FourCCBpp_FOURCC_BPP_GRBG: FourCCBpp = 8;
pub const FourCCBpp_FOURCC_BPP_GBRG: FourCCBpp = 8;
pub const FourCCBpp_FOURCC_BPP_YV12: FourCCBpp = 12;
pub const FourCCBpp_FOURCC_BPP_YV16: FourCCBpp = 16;
pub const FourCCBpp_FOURCC_BPP_YV24: FourCCBpp = 24;
pub const FourCCBpp_FOURCC_BPP_YU12: FourCCBpp = 12;
pub const FourCCBpp_FOURCC_BPP_J420: FourCCBpp = 12;
pub const FourCCBpp_FOURCC_BPP_J400: FourCCBpp = 8;
pub const FourCCBpp_FOURCC_BPP_H420: FourCCBpp = 12;
pub const FourCCBpp_FOURCC_BPP_H422: FourCCBpp = 16;
pub const FourCCBpp_FOURCC_BPP_H010: FourCCBpp = 24;
pub const FourCCBpp_FOURCC_BPP_MJPG: FourCCBpp = 0;
pub const FourCCBpp_FOURCC_BPP_H264: FourCCBpp = 0;
pub const FourCCBpp_FOURCC_BPP_IYUV: FourCCBpp = 12;
pub const FourCCBpp_FOURCC_BPP_YU16: FourCCBpp = 16;
pub const FourCCBpp_FOURCC_BPP_YU24: FourCCBpp = 24;
pub const FourCCBpp_FOURCC_BPP_YUYV: FourCCBpp = 16;
pub const FourCCBpp_FOURCC_BPP_YUVS: FourCCBpp = 16;
pub const FourCCBpp_FOURCC_BPP_HDYC: FourCCBpp = 16;
pub const FourCCBpp_FOURCC_BPP_2VUY: FourCCBpp = 16;
pub const FourCCBpp_FOURCC_BPP_JPEG: FourCCBpp = 1;
pub const FourCCBpp_FOURCC_BPP_DMB1: FourCCBpp = 1;
pub const FourCCBpp_FOURCC_BPP_BA81: FourCCBpp = 8;
pub const FourCCBpp_FOURCC_BPP_RGB3: FourCCBpp = 24;
pub const FourCCBpp_FOURCC_BPP_BGR3: FourCCBpp = 24;
pub const FourCCBpp_FOURCC_BPP_CM32: FourCCBpp = 32;
pub const FourCCBpp_FOURCC_BPP_CM24: FourCCBpp = 24;
pub const FourCCBpp_FOURCC_BPP_ANY: FourCCBpp = 0;
pub type FourCCBpp = ::std::os::raw::c_int;
extern "C" {
    pub fn CanonicalFourCC(fourcc: u32) -> u32;
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __crt_locale_data {
    pub _address: u8,
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __crt_multibyte_data {
    pub _address: u8,
}

#[cfg(test)]
mod tests {
    #[test]
    fn it_works() {
        assert_eq!(2 + 2, 4);
    }
}
