X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=src%2Fcodecs%2Fmod.rs;h=625485e1ed4ed8382c2957b2bc2f4add44863390;hb=f149a5b7c236d8ab88daca8417a0cc95dda4edfc;hp=d1a970f3eed41c5422a878a4158e8ee1ea1e7084;hpb=503374e726db6340d38efd2459f48863a415d31d;p=nihav.git diff --git a/src/codecs/mod.rs b/src/codecs/mod.rs index d1a970f..625485e 100644 --- a/src/codecs/mod.rs +++ b/src/codecs/mod.rs @@ -8,6 +8,7 @@ use io::codebook::CodebookError; #[derive(Debug,Clone,Copy,PartialEq)] #[allow(dead_code)] pub enum DecoderError { + NoFrame, TryAgain, InvalidData, ShortData, @@ -107,6 +108,8 @@ macro_rules! validate { ($a:expr) => { if !$a { return Err(DecoderError::InvalidData); } }; } +#[cfg(feature="decoder_gdvvid")] +mod gremlinvideo; #[cfg(feature="decoder_indeo2")] mod indeo2; #[cfg(feature="decoder_indeo3")] @@ -115,6 +118,8 @@ mod indeo3; mod pcm; const DECODERS: &[DecoderInfo] = &[ +#[cfg(feature="decoder_gdvvid")] + DecoderInfo { name: "gdv-video", get_decoder: gremlinvideo::get_decoder }, #[cfg(feature="decoder_indeo2")] DecoderInfo { name: "indeo2", get_decoder: indeo2::get_decoder }, #[cfg(feature="decoder_indeo3")] @@ -153,7 +158,7 @@ fn write_pgmyuv(pfx: &str, strno: usize, num: u64, frmref: NAFrameRef) { let dta = buf.get_data(); let ls = buf.get_stride(0); let mut idx = 0; - let mut idx2 = ls; + let mut idx2 = w; let mut pad: Vec = Vec::with_capacity((w - w2 * 2) / 2); pad.resize((w - w2 * 2) / 2, 0xFF); for _ in 0..h {