X-Git-Url: https://git.nihav.org/?p=nihav.git;a=blobdiff_plain;f=nihav-duck%2Fsrc%2Fcodecs%2Fmod.rs;h=faf27cce6eaa4ecd73240357fbe104585beb5969;hp=ccd5f36d53f896213d70265f7d0ae21d885e0987;hb=b922b48d3b003b2f4b84755541fd9dc4be8f22f6;hpb=40e9529189ad00f3306baa873d6b2bbc46204957 diff --git a/nihav-duck/src/codecs/mod.rs b/nihav-duck/src/codecs/mod.rs index ccd5f36..faf27cc 100644 --- a/nihav-duck/src/codecs/mod.rs +++ b/nihav-duck/src/codecs/mod.rs @@ -9,20 +9,79 @@ mod truemotion1; #[cfg(feature="decoder_truemotionrt")] mod truemotionrt; #[cfg(feature="decoder_truemotion2")] +#[allow(clippy::needless_range_loop)] mod truemotion2; #[cfg(feature="decoder_truemotion2x")] mod truemotion2x; +#[cfg(any(feature="decoder_vp3", feature="decoder_vp4", feature="decoder_vp5", feature="decoder_vp6", feature="decoder_vp7"))] +#[macro_use] +#[allow(clippy::erasing_op)] +#[allow(clippy::needless_range_loop)] +#[allow(clippy::too_many_arguments)] +#[allow(clippy::useless_let_if_seq)] +mod vpcommon; #[cfg(any(feature="decoder_vp3", feature="decoder_vp4"))] +#[allow(clippy::needless_range_loop)] +#[allow(clippy::too_many_arguments)] mod vp3; #[cfg(any(feature="decoder_vp5", feature="decoder_vp6"))] +#[allow(clippy::needless_range_loop)] +#[allow(clippy::useless_let_if_seq)] +#[allow(clippy::too_many_arguments)] 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; #[cfg(feature="decoder_vp7")] +#[allow(clippy::needless_range_loop)] +#[allow(clippy::useless_let_if_seq)] 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; #[cfg(feature="decoder_on2avc")] +#[allow(clippy::manual_memcpy)] +#[allow(clippy::needless_range_loop)] +#[allow(clippy::too_many_arguments)] mod on2avc; +#[cfg(feature="decoder_on2avc")] +mod on2avcdata; const DUCK_CODECS: &[DecoderInfo] = &[ #[cfg(feature="decoder_truemotion1")] @@ -38,11 +97,17 @@ const DUCK_CODECS: &[DecoderInfo] = &[ #[cfg(feature="decoder_vp4")] DecoderInfo { name: "vp4", get_decoder: vp3::get_decoder_vp4 }, #[cfg(feature="decoder_vp5")] - DecoderInfo { name: "vp5", get_decoder: vp56::get_decoder_vp5 }, + 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: "vp6", get_decoder: vp56::get_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 }, @@ -54,8 +119,30 @@ const DUCK_CODECS: &[DecoderInfo] = &[ DecoderInfo { name: "on2avc-501", get_decoder: on2avc::get_decoder_501 }, ]; -pub fn duck_register_all_codecs(rd: &mut RegisteredDecoders) { - for decoder in DUCK_CODECS.into_iter() { - rd.add_decoder(decoder.clone()); +/// 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); + } +} + +#[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); } }