ffmpeg_the_third/codec/
field_order.rs1use 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}