pub const CRF_MAX: u32 = 51;
#[derive(Debug, Clone, PartialEq)]
pub enum BitrateMode {
Cbr(u64),
Vbr { target: u64, max: u64 },
Crf(u32),
}
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn cbr_should_store_bitrate() {
assert!(matches!(
BitrateMode::Cbr(5_000_000),
BitrateMode::Cbr(5_000_000)
));
}
#[test]
fn vbr_should_store_target_and_max() {
let mode = BitrateMode::Vbr {
target: 4_000_000,
max: 6_000_000,
};
assert!(matches!(
mode,
BitrateMode::Vbr {
target: 4_000_000,
max: 6_000_000
}
));
}
#[test]
fn crf_should_store_quality_value() {
assert!(matches!(BitrateMode::Crf(23), BitrateMode::Crf(23)));
}
}