projects
/
nihav.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
VP7 encoder
[nihav.git]
/
nihav-duck
/
src
/
codecs
/
vp6enc
/
mb.rs
diff --git
a/nihav-duck/src/codecs/vp6enc/mb.rs
b/nihav-duck/src/codecs/vp6enc/mb.rs
index de480ca81f7aa25eb2502179140c2ac6aefec678..c7e5003d372f68865d6d1c989184fcf56f43b785 100644
(file)
--- 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_est = MVEstimator::new(ref_frame, mc_buf, loop_thr, self.me_range);
- let mut mv_search: Box<dyn MVSearch> = 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() {
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_est = MVEstimator::new(ref_frame, mc_buf, loop_thr, self.me_range);
- let mut mv_search: Box<dyn MVSearch> = 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;
for i in 0..4 {
let xpos = mb_x * 16 + (i & 1) * 8;