X-Git-Url: https://git.nihav.org/?p=nihav.git;a=blobdiff_plain;f=nihav-duck%2Fsrc%2Fcodecs%2Fvp6enc%2Fmb.rs;h=c7e5003d372f68865d6d1c989184fcf56f43b785;hp=de480ca81f7aa25eb2502179140c2ac6aefec678;hb=c5d5793c1fd18882a32acabb8141a221b0a97b61;hpb=b922b48d3b003b2f4b84755541fd9dc4be8f22f6 diff --git a/nihav-duck/src/codecs/vp6enc/mb.rs b/nihav-duck/src/codecs/vp6enc/mb.rs index de480ca..c7e5003 100644 --- a/nihav-duck/src/codecs/vp6enc/mb.rs +++ b/nihav-duck/src/codecs/vp6enc/mb.rs @@ -355,11 +355,8 @@ impl FrameEncoder { let mut mv_est = MVEstimator::new(ref_frame, mc_buf, loop_thr, self.me_range); - let mut mv_search: Box = match self.me_mode { - MVSearchMode::Full => Box::new(FullMVSearch::new()), - MVSearchMode::Diamond => Box::new(DiaSearch::new()), - MVSearchMode::Hexagon => Box::new(HexSearch::new()), - }; + let mut mv_search = self.me_mode.create_search(); + let mut mb_pos = 0; for (mb_y, row) in inter_mbs.chunks_mut(self.mb_w).enumerate() { for (mb_x, mb) in row.iter_mut().enumerate() { @@ -406,11 +403,7 @@ impl FrameEncoder { let mut mv_est = MVEstimator::new(ref_frame, mc_buf, loop_thr, self.me_range); - let mut mv_search: Box = match self.me_mode { - MVSearchMode::Full => Box::new(FullMVSearch::new()), - MVSearchMode::Diamond => Box::new(DiaSearch::new()), - MVSearchMode::Hexagon => Box::new(HexSearch::new()), - }; + let mut mv_search = self.me_mode.create_search(); for i in 0..4 { let xpos = mb_x * 16 + (i & 1) * 8;