codec/encoder/decision: add enum
This commit is contained in:
parent
2de64a1a37
commit
4fe66b6735
31
src/codec/encoder/decision.rs
Normal file
31
src/codec/encoder/decision.rs
Normal 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,
|
||||
}
|
||||
}
|
||||
}
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user