#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum QualityTier {
Low,
Standard,
HighRes,
Ultra,
}
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum EncodeMode {
Interactive,
LosslessRefine,
IdleLowFps,
}
#[derive(Debug, Clone)]
pub struct EncodeParams {
pub width: u32,
pub height: u32,
pub target_fps: u32,
pub bitrate_bps: u64,
pub max_bitrate_bps: u64,
pub mode: EncodeMode,
pub force_keyframe: bool,
}
impl Default for EncodeParams {
fn default() -> Self {
Self {
width: 1920,
height: 1080,
target_fps: 60,
bitrate_bps: 15_000_000,
max_bitrate_bps: 30_000_000,
mode: EncodeMode::Interactive,
force_keyframe: false,
}
}
}