X-Git-Url: https://git.nihav.org/?p=nihav.git;a=blobdiff_plain;f=nihav-duck%2Fsrc%2Fcodecs%2Fmod.rs;h=faf27cce6eaa4ecd73240357fbe104585beb5969;hp=bfdd44ed705f34a50a57d6875acc2b897a15140a;hb=b922b48d3b003b2f4b84755541fd9dc4be8f22f6;hpb=78fb6560c73965d834b215fb0b49505ae5443288 diff --git a/nihav-duck/src/codecs/mod.rs b/nihav-duck/src/codecs/mod.rs index bfdd44e..faf27cc 100644 --- a/nihav-duck/src/codecs/mod.rs +++ b/nihav-duck/src/codecs/mod.rs @@ -32,6 +32,10 @@ mod vp56; #[cfg(feature="decoder_vp5")] #[allow(clippy::needless_range_loop)] mod vp5; +#[cfg(any(feature="decoder_vp6", feature="encoder_vp6"))] +mod vp6data; +#[cfg(any(feature="decoder_vp6", feature="encoder_vp6"))] +mod vp6dsp; #[cfg(feature="decoder_vp6")] #[allow(clippy::needless_range_loop)] mod vp6; @@ -41,12 +45,33 @@ mod vp6; mod vp7; #[cfg(feature="decoder_vp7")] mod vp7data; +#[cfg(any(feature="decoder_vp7", feature="decoder_vp8"))] +mod vp78data; #[cfg(feature="decoder_vp7")] #[allow(clippy::erasing_op)] #[allow(clippy::needless_range_loop)] #[allow(clippy::too_many_arguments)] #[allow(clippy::useless_let_if_seq)] mod vp7dsp; +#[cfg(any(feature="decoder_vp7", feature="decoder_vp8"))] +#[allow(clippy::needless_range_loop)] +#[allow(clippy::useless_let_if_seq)] +mod vp78; +#[cfg(any(feature="decoder_vp7", feature="decoder_vp8"))] +#[allow(clippy::erasing_op)] +#[allow(clippy::needless_range_loop)] +#[allow(clippy::too_many_arguments)] +#[allow(clippy::useless_let_if_seq)] +mod vp78dsp; +#[cfg(feature="decoder_vp8")] +#[allow(clippy::needless_range_loop)] +#[allow(clippy::useless_let_if_seq)] +mod vp8; +#[cfg(feature="decoder_vp8")] +#[allow(clippy::erasing_op)] +#[allow(clippy::needless_range_loop)] +#[allow(clippy::too_many_arguments)] +mod vp8dsp; #[cfg(any(feature="decoder_dk3_adpcm", feature="decoder_dk4_adpcm"))] mod dkadpcm; @@ -75,10 +100,14 @@ const DUCK_CODECS: &[DecoderInfo] = &[ DecoderInfo { name: "vp5", get_decoder: vp5::get_decoder }, #[cfg(feature="decoder_vp6")] DecoderInfo { name: "vp6", get_decoder: vp6::get_decoder_vp6 }, +#[cfg(feature="decoder_vp6")] + DecoderInfo { name: "vp6f", get_decoder: vp6::get_decoder_vp6f }, #[cfg(feature="decoder_vp6")] DecoderInfo { name: "vp6a", get_decoder: vp6::get_decoder_vp6_alpha }, #[cfg(feature="decoder_vp7")] DecoderInfo { name: "vp7", get_decoder: vp7::get_decoder }, +#[cfg(feature="decoder_vp8")] + DecoderInfo { name: "vp8", get_decoder: vp8::get_decoder }, #[cfg(feature="decoder_dk3_adpcm")] DecoderInfo { name: "adpcm-dk3", get_decoder: dkadpcm::get_decoder_dk3 }, @@ -93,6 +122,27 @@ const DUCK_CODECS: &[DecoderInfo] = &[ /// Registers all available codecs provided by this crate. pub fn duck_register_all_decoders(rd: &mut RegisteredDecoders) { for decoder in DUCK_CODECS.iter() { - rd.add_decoder(decoder.clone()); + rd.add_decoder(*decoder); + } +} + +#[cfg(feature="encoder_vp6")] +#[macro_use] +mod vpenc; +#[cfg(feature="encoder_vp6")] +#[allow(clippy::needless_range_loop)] +mod vp6enc; + +const DUCK_ENCODERS: &[EncoderInfo] = &[ +#[cfg(feature="encoder_vp6")] + EncoderInfo { name: "vp6", get_encoder: vp6enc::get_encoder }, +#[cfg(feature="encoder_vp6")] + EncoderInfo { name: "vp6f", get_encoder: vp6enc::get_encoder_flv }, +]; + +/// Registers all available encoders provided by this crate. +pub fn duck_register_all_encoders(re: &mut RegisteredEncoders) { + for encoder in DUCK_ENCODERS.iter() { + re.add_encoder(*encoder); } }