mod invariant;
mod config;
mod cmaf_worker;
mod chunk_worker;
#[cfg(test)]
mod tests;
pub use invariant::{
Av1Invariant, H26xInvariant, InvariantCheck, RungCodecInvariant,
validate_or_set_rung_invariant,
};
pub use config::{EncoderWorkerConfig, WorkerOutput};
pub use cmaf_worker::run_encoder_worker_blocking;
pub use chunk_worker::{ChunkPackets, run_chunk_encoder_worker_blocking};
use codec::encode::EncoderConfig;
fn build_enc_config(cfg: &EncoderWorkerConfig) -> EncoderConfig {
EncoderConfig {
codec: cfg.codec,
width: cfg.width,
height: cfg.height,
frame_rate: cfg.frame_rate,
quality: cfg.quality,
speed_preset: cfg.speed_preset,
keyframe_interval: cfg.keyframe_interval,
threads: cfg.threads,
pixel_format: cfg.output_pixel_format,
color_metadata: cfg.output_color_metadata,
gpu_index: cfg.gpu_index,
gpu_vendor: cfg.gpu_vendor,
target: cfg.target,
tier: cfg.tier,
constant_qp: cfg.constant_qp,
..EncoderConfig::default()
}
}