diff options
Diffstat (limited to 'evc/src/codec/encode/advanced.rs')
-rw-r--r-- | evc/src/codec/encode/advanced.rs | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/evc/src/codec/encode/advanced.rs b/evc/src/codec/encode/advanced.rs index e15d8f2..0e45176 100644 --- a/evc/src/codec/encode/advanced.rs +++ b/evc/src/codec/encode/advanced.rs @@ -21,23 +21,25 @@ pub fn default( loop { let (mut d, mut p) = (diff, pm.clone()); - pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.x += 4); - pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.x -= 4); - pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.y += 4); - pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.y -= 4); - pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.x += 2); - pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.x -= 2); - pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.y += 2); - pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.y -= 2); - pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.x += 1); - pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.x -= 1); - pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.y += 1); - pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.y -= 1); + if config.do_translate { + pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.x += 4); + pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.x -= 4); + pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.y += 4); + pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.y -= 4); + pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.x += 2); + pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.x -= 2); + pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.y += 2); + pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.y -= 2); + pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.x += 1); + pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.x -= 1); + pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.y += 1); + pk(&view, &prev, &mut d, &mut p, &pm, |p| p.translation.y -= 1); + } if config.do_value_scale { pk(&view, &prev, &mut d, &mut p, &pm, |p| p.value_scale += 1); pk(&view, &prev, &mut d, &mut p, &pm, |p| p.value_scale -= 1); } - if config.do_matrix_transform { + if config.do_linear_transform { pk(&view, &prev, &mut d, &mut p, &pm, |p| p.transform.a -= 1); pk(&view, &prev, &mut d, &mut p, &pm, |p| p.transform.a += 1); pk(&view, &prev, &mut d, &mut p, &pm, |p| p.transform.b -= 1); @@ -83,7 +85,7 @@ pub fn partial( pk(&view, &prev, &mut d, &mut p, &pm, |p| p.value_scale += 1); pk(&view, &prev, &mut d, &mut p, &pm, |p| p.value_scale -= 1); - + if d >= diff { break (diff, Block::AdvancedReference(pm)); } |