X-Git-Url: https://git.nihav.org/?p=nihav.git;a=blobdiff_plain;f=nihav-duck%2Fsrc%2Fcodecs%2Fmod.rs;h=e2ba63efdece68b9132a656e18225de5ac153eb1;hp=2c934f18a828e0e8ec9925dcee42285f5560e79e;hb=19cfcd2f207b472c03de4c14db85d0cac1d93fa9;hpb=3584b223ce417fe167dc90cb9a40e173f34823c0 diff --git a/nihav-duck/src/codecs/mod.rs b/nihav-duck/src/codecs/mod.rs index 2c934f1..e2ba63e 100644 --- a/nihav-duck/src/codecs/mod.rs +++ b/nihav-duck/src/codecs/mod.rs @@ -9,27 +9,77 @@ 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(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")] @@ -48,10 +98,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 }, @@ -63,8 +117,30 @@ const DUCK_CODECS: &[DecoderInfo] = &[ DecoderInfo { name: "on2avc-501", get_decoder: on2avc::get_decoder_501 }, ]; -pub fn duck_register_all_codecs(rd: &mut RegisteredDecoders) { +/// 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); } }