codec_support: fix doctests
[nihav.git] / nihav-codec-support / src / codecs / mod.rs
index 389821eb6c4e1de71642cc44ff18ada1ab4306bc..ebdbaa7e56cf97bb715eaa2fc6ad36a27ae0d107 100644 (file)
@@ -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;
@@ -11,19 +11,19 @@ use std::mem;
 ///
 /// # Examples
 ///
-/// ````norun
+/// ```ignore
 /// let mut frame = if is_intra_frame {
 ///         allocate_video_frame()
 ///     } else {
 ///         let ret = shuffler.clone_ref();
 ///         if ret.is_none() {
-///             return Err(DecodingError::MissingReference);
+///             return Err(DecoderError::MissingReference);
 ///         }
 ///         ret.unwrap()
 ///     };
 /// // output data into the frame
 /// shuffler.add_frame(frame.clone()); // tells frame manager to use the frame as the next reference
-/// ````
+/// ```
 #[allow(dead_code)]
 pub struct HAMShuffler<T: Copy> {
     lastframe: Option<NAVideoBufferRef<T>>,
@@ -72,18 +72,18 @@ impl<T: Copy> Default for HAMShuffler<T> {
 ///
 /// # Examples
 ///
-/// ````norun
+/// ```ignore
 /// let mut frame = allocate_video_frame();
 /// if is_inter_frame {
 ///     let ret = shuffler.get_ref();
 ///     if ret.is_none() {
-///         return Err(DecodingError::MissingReference);
+///         return Err(DecoderError::MissingReference);
 ///     }
 ///     let ref_frame = ret.unwrap();
 ///     // keep decoding using data from ref_frame
 /// }
 /// shuffler.add_frame(frame.clone()); // tells frame manager to use the frame as the next reference
-/// ````
+/// ```
 #[allow(dead_code)]
 pub struct IPShuffler {
     lastframe: Option<NAVideoBufferRef<u8>>,
@@ -122,7 +122,7 @@ impl Default for IPShuffler {
 ///
 /// # Examples
 ///
-/// ````norun
+/// ```ignore
 /// let mut frame = allocate_video_frame();
 /// for mb in all_macroblocks {
 ///     // decode macroblock type
@@ -144,7 +144,7 @@ impl Default for IPShuffler {
 /// if is_intra_frame || is_p_frame {
 ///     shuffler.add_frame(frame.clone()); // tells frame manager to use the frame as the next reference
 /// }
-/// ````
+/// ```
 #[allow(dead_code)]
 pub struct IPBShuffler {
     lastframe: Option<NAVideoBufferRef<u8>>,
@@ -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)