ff_encode/video/codec_options/
mod.rs1mod av1;
11mod dnxhd;
12mod h264;
13mod h265;
14mod prores;
15mod svt_av1;
16mod vp9;
17
18pub use av1::{Av1Options, Av1Usage};
19pub use dnxhd::{DnxhdOptions, DnxhdVariant};
20pub use h264::{H264Options, H264Preset, H264Profile, H264Tune};
21pub use h265::{H265Options, H265Profile, H265Tier};
22pub use prores::{ProResOptions, ProResProfile};
23pub use svt_av1::SvtAv1Options;
24pub use vp9::Vp9Options;
25
26#[derive(Debug, Clone)]
34pub enum VideoCodecOptions {
35 H264(H264Options),
37 H265(H265Options),
39 Av1(Av1Options),
41 Av1Svt(SvtAv1Options),
43 Vp9(Vp9Options),
45 ProRes(ProResOptions),
47 Dnxhd(DnxhdOptions),
49}
50
51#[cfg(test)]
52mod tests {
53 use super::*;
54
55 #[test]
56 fn video_codec_options_enum_variants_are_accessible() {
57 let _h264 = VideoCodecOptions::H264(H264Options::default());
58 let _h265 = VideoCodecOptions::H265(H265Options::default());
59 let _av1 = VideoCodecOptions::Av1(Av1Options::default());
60 let _av1svt = VideoCodecOptions::Av1Svt(SvtAv1Options::default());
61 let _vp9 = VideoCodecOptions::Vp9(Vp9Options::default());
62 let _prores = VideoCodecOptions::ProRes(ProResOptions::default());
63 let _dnxhd = VideoCodecOptions::Dnxhd(DnxhdOptions::default());
64 }
65}