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 mod comparison;
|
||||||
pub use self::comparison::Comparison;
|
pub use self::comparison::Comparison;
|
||||||
|
|
||||||
|
pub mod decision;
|
||||||
|
pub use self::decision::Decision;
|
||||||
|
|
||||||
use std::ffi::CString;
|
use std::ffi::CString;
|
||||||
use std::ptr;
|
use std::ptr;
|
||||||
use std::ops::Deref;
|
use std::ops::Deref;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user