playa_ffmpeg/codec/
discard.rs

1use crate::ffi::{AVDiscard::*, *};
2
3#[derive(Eq, PartialEq, Clone, Copy, Debug)]
4pub enum Discard {
5    None,
6    Default,
7    NonReference,
8    Bidirectional,
9    NonIntra,
10    NonKey,
11    All,
12}
13
14impl From<AVDiscard> for Discard {
15    fn from(value: AVDiscard) -> Self {
16        match value {
17            AVDISCARD_NONE => Discard::None,
18            AVDISCARD_DEFAULT => Discard::Default,
19            AVDISCARD_NONREF => Discard::NonReference,
20            AVDISCARD_BIDIR => Discard::Bidirectional,
21            AVDISCARD_NONINTRA => Discard::NonIntra,
22            AVDISCARD_NONKEY => Discard::NonKey,
23            AVDISCARD_ALL => Discard::All,
24        }
25    }
26}
27
28impl From<Discard> for AVDiscard {
29    fn from(value: Discard) -> AVDiscard {
30        match value {
31            Discard::None => AVDISCARD_NONE,
32            Discard::Default => AVDISCARD_DEFAULT,
33            Discard::NonReference => AVDISCARD_NONREF,
34            Discard::Bidirectional => AVDISCARD_BIDIR,
35            Discard::NonIntra => AVDISCARD_NONINTRA,
36            Discard::NonKey => AVDISCARD_NONKEY,
37            Discard::All => AVDISCARD_ALL,
38        }
39    }
40}