#![allow(clippy::too_many_arguments)]
#![cfg_attr(not(feature = "unsafe"), forbid(unsafe_code))]
#![allow(stable_features)]
#![cfg_attr(
all(
feature = "nightly_avx512",
any(target_arch = "x86", target_arch = "x86_64")
),
feature(cfg_version)
)]
#![cfg_attr(
all(
feature = "nightly_avx512",
any(target_arch = "x86", target_arch = "x86_64")
),
feature(avx512_target_feature)
)]
#![cfg_attr(
all(
feature = "nightly_avx512",
any(target_arch = "x86", target_arch = "x86_64")
),
feature(stdarch_x86_avx512)
)]
#![deny(unreachable_pub)]
extern crate core;
#[cfg(all(target_arch = "x86_64", feature = "unsafe", feature = "avx"))]
mod avx;
#[cfg(all(target_arch = "x86_64", feature = "nightly_avx512"))]
mod avx512;
mod cbcr8;
mod flip;
mod float32_cbcr_invoker;
mod float32_invoker;
mod float_32;
mod flop;
#[cfg(all(target_arch = "aarch64", feature = "unsafe", feature = "neon"))]
mod neon;
mod plane16;
mod plane8;
mod rgba16;
mod rgba8;
mod rotate180;
#[cfg(all(
any(target_arch = "x86", target_arch = "x86_64"),
feature = "unsafe",
feature = "sse"
))]
mod sse;
mod transpose_arbitrary;
mod transpose_arbitrary_group;
mod unsigned_16;
mod unsigned_8;
mod utils;
pub use flip::{
flip_arbitrary, flip_plane, flip_plane16, flip_plane16_with_alpha, flip_plane_f32,
flip_plane_f32_with_alpha, flip_plane_with_alpha, flip_rgb, flip_rgb16, flip_rgb_f32,
flip_rgba, flip_rgba16, flip_rgba_f32,
};
pub use float_32::{
transpose_plane_f32, transpose_plane_f32_with_alpha, transpose_rgb_f32, transpose_rgba_f32,
};
pub use flop::{
flop_arbitrary, flop_plane, flop_plane16, flop_plane16_with_alpha, flop_plane_f32,
flop_plane_f32_with_alpha, flop_plane_with_alpha, flop_rgb, flop_rgb16, flop_rgb_f32,
flop_rgba, flop_rgba16, flop_rgba_f32,
};
pub use rotate180::{
rotate180_arbitrary, rotate180_plane, rotate180_plane16, rotate180_plane16_with_alpha,
rotate180_plane_f32, rotate180_plane_f32_with_alpha, rotate180_plane_with_alpha, rotate180_rgb,
rotate180_rgb16, rotate180_rgb_f32, rotate180_rgba, rotate180_rgba16, rotate180_rgba_f32,
};
pub use transpose_arbitrary::transpose_arbitrary;
pub use unsigned_16::{
transpose_plane16, transpose_plane16_with_alpha, transpose_rgb16, transpose_rgba16,
};
pub use unsigned_8::{transpose_plane, transpose_plane_with_alpha, transpose_rgb, transpose_rgba};
pub use utils::{FlipMode, FlopMode, TransposeError};