1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
use ffi::*;

#[derive(Eq, PartialEq, Clone, Copy, Debug)]
pub enum FieldOrder {
	Unknown,
	Progressive,
	TT,
	BB,
	TB,
	BT,
}

impl From<AVFieldOrder> for FieldOrder {
	fn from(value: AVFieldOrder) -> Self {
		match value {
			AV_FIELD_UNKNOWN     => FieldOrder::Unknown,
			AV_FIELD_PROGRESSIVE => FieldOrder::Progressive,
			AV_FIELD_TT          => FieldOrder::TT,
			AV_FIELD_BB          => FieldOrder::BB,
			AV_FIELD_TB          => FieldOrder::TB,
			AV_FIELD_BT          => FieldOrder::BT
		}
	}
}

impl Into<AVFieldOrder> for FieldOrder {
	fn into(self) -> AVFieldOrder {
		match self {
			FieldOrder::Unknown     => AV_FIELD_UNKNOWN,
			FieldOrder::Progressive => AV_FIELD_PROGRESSIVE,
			FieldOrder::TT          => AV_FIELD_TT,
			FieldOrder::BB          => AV_FIELD_BB,
			FieldOrder::TB          => AV_FIELD_TB,
			FieldOrder::BT          => AV_FIELD_BT
		}
	}
}