mod fdct;
mod ycbcr;
use crate::encode::encoder::Operations;
pub use fdct::fdct_avx2;
pub use ycbcr::*;
pub(crate) struct AVX2Operations;
impl Operations for AVX2Operations {
#[inline(always)]
fn fdct(data: &mut [i16; 64]) {
fdct_avx2(data);
}
#[inline(always)]
fn quantize_block(
block: &[i16; 64],
q_block: &mut [i16; 64],
table: &crate::encode::quantization::QuantizationTable,
) {
unsafe {
crate::encode::quantization::avx2::quantize_block_avx2(block, q_block, table);
}
}
}