X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=src%2Fcodecs%2Fmod.rs;h=5f6009a5c87d502dfbcb5e489534172645955386;hb=1f7e9371e2ec548b6821bb01ce7ba82c4cd8068d;hp=796973c250c1c62910176a1f89b0f215ae4db8f7;hpb=3c8c667d352fc7522c3f15e8280c7cce614fbadd;p=nihav.git diff --git a/src/codecs/mod.rs b/src/codecs/mod.rs index 796973c..5f6009a 100644 --- a/src/codecs/mod.rs +++ b/src/codecs/mod.rs @@ -156,7 +156,7 @@ impl IPBShuffler { } } -#[derive(Debug,Clone,Copy)] +#[derive(Debug,Clone,Copy,PartialEq)] pub struct MV { pub x: i16, pub y: i16, @@ -235,7 +235,7 @@ pub struct DecoderInfo { get_decoder: fn () -> Box, } -#[cfg(feature="h263")] +#[cfg(any(feature="h263", feature="decoder_realvideo3", feature="decoder_realvideo4"))] mod blockdsp; #[cfg(feature="decoder_clearvideo")] @@ -246,9 +246,19 @@ mod gremlinvideo; mod indeo; #[cfg(feature="h263")] mod h263; +#[cfg(any(feature="decoder_realvideo3", feature="decoder_realvideo4", feature="decoder_realvideo6", feature="decoder_realaudio144", feature="decoder_realaudio288", feature="decoder_cook", feature="decoder_ralf"))] +mod real; +#[cfg(feature="decoder_aac")] +mod aac; +#[cfg(feature="decoder_atrac3")] +mod atrac3; #[cfg(feature="decoder_pcm")] mod pcm; +#[cfg(feature="decoder_sipro")] +mod sipro; +#[cfg(feature="decoder_ts102366")] +mod ts102366; const DECODERS: &[DecoderInfo] = &[ #[cfg(feature="decoder_clearvideo")] @@ -271,6 +281,12 @@ const DECODERS: &[DecoderInfo] = &[ DecoderInfo { name: "realvideo1", get_decoder: h263::rv10::get_decoder }, #[cfg(feature="decoder_realvideo2")] DecoderInfo { name: "realvideo2", get_decoder: h263::rv20::get_decoder }, +#[cfg(feature="decoder_realvideo3")] + DecoderInfo { name: "realvideo3", get_decoder: real::rv30::get_decoder }, +#[cfg(feature="decoder_realvideo4")] + DecoderInfo { name: "realvideo4", get_decoder: real::rv40::get_decoder }, +#[cfg(feature="decoder_realvideo6")] + DecoderInfo { name: "realvideo6", get_decoder: real::rv60::get_decoder }, #[cfg(feature="decoder_pcm")] DecoderInfo { name: "pcm", get_decoder: pcm::get_decoder }, @@ -278,6 +294,22 @@ const DECODERS: &[DecoderInfo] = &[ DecoderInfo { name: "imc", get_decoder: indeo::imc::get_decoder_imc }, #[cfg(feature="decoder_imc")] DecoderInfo { name: "iac", get_decoder: indeo::imc::get_decoder_iac }, +#[cfg(feature="decoder_realaudio144")] + DecoderInfo { name: "ra14.4", get_decoder: real::ra144::get_decoder }, +#[cfg(feature="decoder_realaudio288")] + DecoderInfo { name: "ra28.8", get_decoder: real::ra288::get_decoder }, +#[cfg(feature="decoder_sipro")] + DecoderInfo { name: "sipro", get_decoder: sipro::get_decoder }, +#[cfg(feature="decoder_ts102366")] + DecoderInfo { name: "ac3", get_decoder: ts102366::get_decoder }, +#[cfg(feature="decoder_cook")] + DecoderInfo { name: "cook", get_decoder: real::cook::get_decoder }, +#[cfg(feature="decoder_atrac3")] + DecoderInfo { name: "atrac3", get_decoder: atrac3::get_decoder }, +#[cfg(feature="decoder_aac")] + DecoderInfo { name: "aac", get_decoder: aac::get_decoder }, +#[cfg(feature="decoder_ralf")] + DecoderInfo { name: "ralf", get_decoder: real::ralf::get_decoder }, ]; pub fn find_decoder(name: &str) -> Option Box> {