X-Git-Url: https://git.nihav.org/?p=nihav.git;a=blobdiff_plain;f=nihav-codec-support%2Fsrc%2Fcodecs%2Fmod.rs;h=92dee916db07f818611befffbb83ba400adcf75e;hp=4353ad969e204d014695e4f441ba0748f8bf6b3d;hb=473c2f76c1164db245d9de89034650be998d4d7d;hpb=b4d5b8515e75383b4fc59ea2813c90c615d59a96 diff --git a/nihav-codec-support/src/codecs/mod.rs b/nihav-codec-support/src/codecs/mod.rs index 4353ad9..92dee91 100644 --- a/nihav-codec-support/src/codecs/mod.rs +++ b/nihav-codec-support/src/codecs/mod.rs @@ -1,6 +1,6 @@ //! Decoder support functions and definitions. use std::fmt; -use std::ops::{Add, AddAssign, Sub, SubAssign}; +use std::ops::{Add, AddAssign, Sub, SubAssign, Neg}; pub use nihav_core::frame::*; use std::mem; @@ -25,11 +25,11 @@ use std::mem; /// shuffler.add_frame(frame.clone()); // tells frame manager to use the frame as the next reference /// ```` #[allow(dead_code)] -pub struct HAMShuffler { - lastframe: Option>, +pub struct HAMShuffler { + lastframe: Option>, } -impl HAMShuffler { +impl HAMShuffler { /// Constructs a new instance of frame manager. #[allow(dead_code)] pub fn new() -> Self { HAMShuffler { lastframe: None } } @@ -38,12 +38,12 @@ impl HAMShuffler { pub fn clear(&mut self) { self.lastframe = None; } /// Sets a new frame reference. #[allow(dead_code)] - pub fn add_frame(&mut self, buf: NAVideoBufferRef) { + pub fn add_frame(&mut self, buf: NAVideoBufferRef) { self.lastframe = Some(buf); } /// Provides a copy of the reference frame if present or `None` if it is not. #[allow(dead_code)] - pub fn clone_ref(&mut self) -> Option> { + pub fn clone_ref(&mut self) -> Option> { if let Some(ref mut frm) = self.lastframe { let newfrm = frm.copy_buffer(); *frm = newfrm.clone().into_ref(); @@ -54,7 +54,7 @@ impl HAMShuffler { } /// Returns the original saved reference frame or `None` if it is not present. #[allow(dead_code)] - pub fn get_output_frame(&mut self) -> Option> { + pub fn get_output_frame(&mut self) -> Option> { match self.lastframe { Some(ref frm) => Some(frm.clone()), None => None, @@ -62,7 +62,7 @@ impl HAMShuffler { } } -impl Default for HAMShuffler { +impl Default for HAMShuffler { fn default() -> Self { Self { lastframe: None } } } @@ -288,6 +288,13 @@ impl SubAssign for MV { fn sub_assign(&mut self, other: MV) { self.x -= other.x; self.y -= other.y; } } +impl Neg for MV { + type Output = MV; + fn neg(self) -> Self::Output { + MV { x: -self.x, y: -self.y } + } +} + impl fmt::Display for MV { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { write!(f, "{},{}", self.x, self.y) @@ -298,6 +305,9 @@ impl fmt::Display for MV { pub mod blockdsp; #[cfg(feature="h263")] +#[allow(clippy::collapsible_if)] +#[allow(clippy::manual_memcpy)] +#[allow(clippy::needless_range_loop)] pub mod h263; /// The common 8x8 zigzag scan. @@ -311,3 +321,5 @@ pub const ZIGZAG: [usize; 64] = [ 58, 59, 52, 45, 38, 31, 39, 46, 53, 60, 61, 54, 47, 55, 62, 63 ]; + +pub mod imaadpcm;