ffmpeg_the_third/codec/
field_order.rs

1use crate::ffi::AVFieldOrder::*;
2use crate::ffi::*;
3#[cfg(feature = "serialize")]
4use serde::{Deserialize, Serialize};
5
6#[derive(Eq, PartialEq, Clone, Copy, Debug)]
7#[cfg_attr(feature = "serialize", derive(Serialize, Deserialize))]
8pub enum FieldOrder {
9    Unknown,
10    Progressive,
11    TT,
12    BB,
13    TB,
14    BT,
15}
16
17impl From<AVFieldOrder> for FieldOrder {
18    fn from(value: AVFieldOrder) -> Self {
19        match value {
20            AV_FIELD_UNKNOWN => FieldOrder::Unknown,
21            AV_FIELD_PROGRESSIVE => FieldOrder::Progressive,
22            AV_FIELD_TT => FieldOrder::TT,
23            AV_FIELD_BB => FieldOrder::BB,
24            AV_FIELD_TB => FieldOrder::TB,
25            AV_FIELD_BT => FieldOrder::BT,
26
27            #[cfg(feature = "non-exhaustive-enums")]
28            _ => unimplemented!(),
29        }
30    }
31}
32
33impl From<FieldOrder> for AVFieldOrder {
34    fn from(value: FieldOrder) -> AVFieldOrder {
35        match value {
36            FieldOrder::Unknown => AV_FIELD_UNKNOWN,
37            FieldOrder::Progressive => AV_FIELD_PROGRESSIVE,
38            FieldOrder::TT => AV_FIELD_TT,
39            FieldOrder::BB => AV_FIELD_BB,
40            FieldOrder::TB => AV_FIELD_TB,
41            FieldOrder::BT => AV_FIELD_BT,
42        }
43    }
44}