codec/discard: add Discard
This commit is contained in:
parent
64c6678f04
commit
9c8ca6601f
40
src/codec/discard.rs
Normal file
40
src/codec/discard.rs
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
use ffi::*;
|
||||||
|
|
||||||
|
#[derive(Eq, PartialEq, Clone, Copy, Debug)]
|
||||||
|
pub enum Discard {
|
||||||
|
None,
|
||||||
|
Default,
|
||||||
|
NonReference,
|
||||||
|
Bidirectional,
|
||||||
|
NonIntra,
|
||||||
|
NonKey,
|
||||||
|
All,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<AVDiscard> for Discard {
|
||||||
|
fn from(value: AVDiscard) -> Self {
|
||||||
|
match value {
|
||||||
|
AVDISCARD_NONE => Discard::None,
|
||||||
|
AVDISCARD_DEFAULT => Discard::Default,
|
||||||
|
AVDISCARD_NONREF => Discard::NonReference,
|
||||||
|
AVDISCARD_BIDIR => Discard::Bidirectional,
|
||||||
|
AVDISCARD_NONINTRA => Discard::NonIntra,
|
||||||
|
AVDISCARD_NONKEY => Discard::NonKey,
|
||||||
|
AVDISCARD_ALL => Discard::All
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl Into<AVDiscard> for Discard {
|
||||||
|
fn into(self) -> AVDiscard {
|
||||||
|
match self {
|
||||||
|
Discard::None => AVDISCARD_NONE,
|
||||||
|
Discard::Default => AVDISCARD_DEFAULT,
|
||||||
|
Discard::NonReference => AVDISCARD_NONREF,
|
||||||
|
Discard::Bidirectional => AVDISCARD_BIDIR,
|
||||||
|
Discard::NonIntra => AVDISCARD_NONINTRA,
|
||||||
|
Discard::NonKey => AVDISCARD_NONKEY,
|
||||||
|
Discard::All => AVDISCARD_ALL
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -5,6 +5,8 @@ pub mod packet;
|
|||||||
|
|
||||||
pub mod subtitle;
|
pub mod subtitle;
|
||||||
|
|
||||||
|
pub mod discard;
|
||||||
|
|
||||||
use std::ffi::CStr;
|
use std::ffi::CStr;
|
||||||
use std::str::from_utf8_unchecked;
|
use std::str::from_utf8_unchecked;
|
||||||
|
|
||||||
|
@ -17,3 +17,4 @@ pub use util::frame::{self, Frame};
|
|||||||
pub mod codec;
|
pub mod codec;
|
||||||
pub use codec::packet::{self, Packet};
|
pub use codec::packet::{self, Packet};
|
||||||
pub use codec::subtitle::Subtitle;
|
pub use codec::subtitle::Subtitle;
|
||||||
|
pub use codec::discard::Discard;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user