1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
use libc::c_int; #[derive(Eq, PartialEq, Clone, Copy, Debug)] pub enum MotionEstimation { Zero, Full, Log, Phods, Epzs, X1, Hex, Umh, Iter, Tesa, } impl From<c_int> for MotionEstimation { fn from(value: c_int) -> MotionEstimation { match value { 1 => MotionEstimation::Zero, 2 => MotionEstimation::Full, 3 => MotionEstimation::Log, 4 => MotionEstimation::Phods, 5 => MotionEstimation::Epzs, 6 => MotionEstimation::X1, 7 => MotionEstimation::Hex, 8 => MotionEstimation::Umh, 9 => MotionEstimation::Iter, 10 => MotionEstimation::Tesa, _ => MotionEstimation::Zero, } } } impl Into<c_int> for MotionEstimation { fn into(self) -> c_int { match self { MotionEstimation::Zero => 1, MotionEstimation::Full => 2, MotionEstimation::Log => 3, MotionEstimation::Phods => 4, MotionEstimation::Epzs => 5, MotionEstimation::X1 => 6, MotionEstimation::Hex => 7, MotionEstimation::Umh => 8, MotionEstimation::Iter => 9, MotionEstimation::Tesa => 10, } } }