X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=src%2Fcodecs%2Fmod.rs;h=c3833576f79deff0225533814ab3c62b9b290b36;hb=16dd4f445b3ee6b038926fdd2b9cd0081186eb28;hp=4897a7b6533bc7192237beacb81686a7b2f613ff;hpb=c3e7a747a47fdcc3d099c32f017b9736d560e0fc;p=nihav.git diff --git a/src/codecs/mod.rs b/src/codecs/mod.rs index 4897a7b..c383357 100644 --- a/src/codecs/mod.rs +++ b/src/codecs/mod.rs @@ -138,6 +138,22 @@ impl IPBShuffler { None } } + #[allow(dead_code)] + fn get_b_fwdref(&mut self) -> Option> { + if let Some(ref frm) = self.nextframe { + Some(frm.clone()) + } else { + None + } + } + #[allow(dead_code)] + fn get_b_bwdref(&mut self) -> Option> { + if let Some(ref frm) = self.lastframe { + Some(frm.clone()) + } else { + None + } + } } #[derive(Debug,Clone,Copy)] @@ -219,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")] @@ -230,9 +246,15 @@ 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"))] +mod real; #[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")] @@ -255,6 +277,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 }, @@ -262,6 +290,14 @@ 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 }, ]; pub fn find_decoder(name: &str) -> Option Box> {