codec/encoder/decision: add enum

This commit is contained in:
meh 2015-05-16 22:41:01 +02:00
parent 2de64a1a37
commit 4fe66b6735
2 changed files with 34 additions and 0 deletions

View File

@ -0,0 +1,31 @@
use libc::c_int;
use ffi::*;
#[derive(Eq, PartialEq, Clone, Copy, Debug)]
pub enum Decision {
Simple,
Bits,
RateDistortion,
}
impl From<c_int> for Decision {
fn from(value: c_int) -> Decision {
match value {
FF_MB_DECISION_SIMPLE => Decision::Simple,
FF_MB_DECISION_BITS => Decision::Bits,
FF_MB_DECISION_RD => Decision::RateDistortion,
_ => Decision::Simple,
}
}
}
impl Into<c_int> for Decision {
fn into(self) -> c_int {
match self {
Decision::Simple => FF_MB_DECISION_SIMPLE,
Decision::Bits => FF_MB_DECISION_BITS,
Decision::RateDistortion => FF_MB_DECISION_RD,
}
}
}

View File

@ -16,6 +16,9 @@ pub use self::prediction::Prediction;
pub mod comparison;
pub use self::comparison::Comparison;
pub mod decision;
pub use self::decision::Decision;
use std::ffi::CString;
use std::ptr;
use std::ops::Deref;