#![allow(missing_abi)]
#![allow(unused_unsafe)]
#[cfg(test)]
#[macro_use]
extern crate pretty_assertions;
pub use crate::api::color;
pub use crate::api::{
Config, Context, EncoderConfig, EncoderStatus, InvalidConfig, Packet,
};
use crate::encoder::*;
pub use crate::frame::Frame;
pub use crate::util::{CastFromPrimitive, Pixel, PixelType};
#[macro_use]
mod arg_enum;
#[macro_use]
mod transform;
#[macro_use]
mod cpu_features;
mod activity;
pub(crate) mod asm;
mod dist;
mod ec;
mod partition;
mod predict;
mod quantize;
mod rdo;
mod rdo_tables;
#[macro_use]
mod util;
mod cdef;
#[doc(hidden)]
pub mod context;
mod deblock;
mod encoder;
mod entropymode;
mod levels;
mod lrf;
mod mc;
mod me;
mod rate;
mod recon_intra;
mod scan_order;
mod segmentation;
mod stats;
#[doc(hidden)]
pub mod tiling;
mod token_cdfs;
mod api;
mod frame;
#[doc(hidden)]
pub mod frame_buffer;
mod header;
#[doc(hidden)]
pub mod par;
mod scenechange;
pub mod prelude {
pub use crate::api::*;
pub use crate::encoder::{Sequence, Tune};
pub use crate::frame::{
Frame, FrameParameters, FrameTypeOverride, Plane, PlaneConfig,
};
pub use crate::partition::BlockSize;
pub use crate::predict::PredictionMode;
pub use crate::transform::TxType;
pub use crate::util::{CastFromPrimitive, Pixel, PixelType};
}
pub mod data {
pub use crate::api::{
ChromaticityPoint, EncoderStatus, FrameType, Packet, Rational,
};
pub use crate::frame::{Frame, FrameParameters};
pub use crate::stats::EncoderStats;
pub use crate::util::{CastFromPrimitive, Pixel, PixelType};
}
pub mod config {
pub use crate::api::config::{
GrainTableSegment, NoiseGenArgs, TransferFunction, NUM_UV_COEFFS,
NUM_UV_POINTS, NUM_Y_COEFFS, NUM_Y_POINTS,
};
pub use crate::api::{
Config, EncoderConfig, InvalidConfig, PredictionModesSetting,
RateControlConfig, RateControlError, RateControlSummary, SpeedSettings,
};
pub use crate::cpu_features::CpuFeatureLevel;
}
pub mod version {
pub fn major() -> u64 {
env!("CARGO_PKG_VERSION_MAJOR").parse().unwrap()
}
pub fn minor() -> u64 {
env!("CARGO_PKG_VERSION_MINOR").parse().unwrap()
}
pub fn patch() -> u64 {
env!("CARGO_PKG_VERSION_PATCH").parse().unwrap()
}
pub fn short() -> String {
env!("CARGO_PKG_VERSION").to_string()
}
pub fn long() -> String {
short()
}
pub fn full() -> String {
short()
}
}
#[cfg(all(test, any(feature = "decode_test", feature = "decode_test_dav1d")))]
mod test_encode_decode;