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