X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-duck%2Fsrc%2Fcodecs%2Fvp78.rs;h=4ec79d13f85345073248d6d08cfb960b4da91025;hb=2c031ed0963cfb3a37ba6c5d4b64d9bbc4250832;hp=5f50e661f7c1333e3c1c129e15f03b20e1aafc51;hpb=0cc75664f579f511681ee7000741484a1d849061;p=nihav.git diff --git a/nihav-duck/src/codecs/vp78.rs b/nihav-duck/src/codecs/vp78.rs index 5f50e66..4ec79d1 100644 --- a/nihav-duck/src/codecs/vp78.rs +++ b/nihav-duck/src/codecs/vp78.rs @@ -25,8 +25,9 @@ impl<'a> VPTreeReader for BoolCoder<'a> { } #[repr(u8)] -#[derive(Clone,Copy,PartialEq,Debug)] +#[derive(Clone,Copy,PartialEq,Debug,Default)] pub enum PredMode { + #[default] DCPred, HPred, VPred, @@ -44,10 +45,6 @@ pub enum PredMode { Inter, } -impl Default for PredMode { - fn default() -> Self { PredMode::DCPred } -} - impl PredMode { pub fn to_b_mode(self) -> Self { if self == PredMode::DCPred { @@ -182,6 +179,12 @@ impl PredCache { self.v_pred.update_row(); self.y2_pred.update_row(); } + pub fn reset_left(&mut self) { + self.y_pred_left = [0; 4]; + self.u_pred_left = [0; 2]; + self.v_pred_left = [0; 2]; + self.y2_pred_left = 0; + } } pub const Y_MODE_TREE: &[VPTreeDef] = &[