mod adapt;
mod bitwriter;
mod compressed;
mod encoder;
mod frame;
mod frameenc;
mod header;
mod intermode;
mod mv;
pub mod prof;
mod prob;
#[cfg(test)]
mod quality;
mod quantize;
mod syntax;
mod tokens;
mod transform;
mod varpart;
mod varrd;
pub(crate) use bitwriter::{BitWriter, BoolEncoder};
pub(crate) use compressed::write_compressed_header;
pub use encoder::{EncodedPacket, Vp9Encoder, Vp9EncoderConfig};
pub(crate) use frame::{assemble_frame, assemble_tiles};
pub(crate) use frameenc::FrameEncoder;
pub use frameenc::{ref_hist_take, set_modemap_std, set_snap_pool};
pub(crate) use header::write_uncompressed_header;
pub(crate) use intermode::{
write_comp_inter, write_comp_ref, write_inter_mode, write_interp_filter, write_is_inter,
write_single_ref,
};
pub(crate) use mv::encode_mv;
pub(crate) use prob::{
diff_update_encode, encode_term_subexp, forward_remap_prob, update_mv_prob_encode,
};
pub(crate) use quantize::quantize;
pub(crate) use syntax::{
write_intra_mode, write_partition, write_segment_id, write_selected_tx_size, write_skip,
};
pub(crate) use tokens::{coef_cost, encode_coefs};
pub(crate) use transform::forward_transform;
#[cfg(test)]
mod tests {
#[test]
fn reused_codebooks_are_reachable() {
assert_eq!(
crate::prob_tables::DEFAULT_COEF_PROBS[0][0][0][0][0],
[195, 29, 183]
);
assert!(crate::quant::dc_quant(0, 8) > 0);
assert!(crate::quant::ac_quant(255, 8) > 0);
assert_eq!(crate::scan_tables::DEFAULT_SCAN_4X4.len(), 16);
}
}