use yuv::{
bgra_to_ycgco444, rgb_to_ycgco444, rgba_to_ycgco444, ycgco444_alpha_to_bgra,
ycgco444_alpha_to_rgba,
};
use crate::clahe_declarations_yuv::ycgco444_skip_alpha_to_rgb;
use crate::hist_equal_yuv_impl::equalize_histogram_yuv_impl;
pub fn hist_equal_yuv_rgb(
src: &[u8],
src_stride: u32,
dst: &mut [u8],
dst_stride: u32,
width: u32,
height: u32,
) {
equalize_histogram_yuv_impl::<3>(
src,
src_stride,
dst,
dst_stride,
width,
height,
rgb_to_ycgco444,
ycgco444_skip_alpha_to_rgb,
);
}
pub fn hist_equal_yuv_rgba(
src: &[u8],
src_stride: u32,
dst: &mut [u8],
dst_stride: u32,
width: u32,
height: u32,
) {
equalize_histogram_yuv_impl::<4>(
src,
src_stride,
dst,
dst_stride,
width,
height,
rgba_to_ycgco444,
ycgco444_alpha_to_rgba,
);
}
pub fn hist_equal_yuv_bgra(
src: &[u8],
src_stride: u32,
dst: &mut [u8],
dst_stride: u32,
width: u32,
height: u32,
) {
equalize_histogram_yuv_impl::<4>(
src,
src_stride,
dst,
dst_stride,
width,
height,
bgra_to_ycgco444,
ycgco444_alpha_to_bgra,
);
}