From 8d828575dfb94040a5348b9fef15dd6574a33e08 Mon Sep 17 00:00:00 2001 From: meh Date: Tue, 12 May 2015 03:17:17 +0200 Subject: [PATCH] util/color_range: add ColorRange --- src/lib.rs | 1 + src/util/color_range.rs | 29 +++++++++++++++++++++++++++++ src/util/mod.rs | 1 + 3 files changed, 31 insertions(+) create mode 100644 src/util/color_range.rs diff --git a/src/lib.rs b/src/lib.rs index cd94bab..20b0064 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -10,3 +10,4 @@ pub use util::error::Error; pub use util::dictionary::Dictionary; pub use util::rational::Rational; pub use util::color_space::ColorSpace; +pub use util::color_range::ColorRange; diff --git a/src/util/color_range.rs b/src/util/color_range.rs new file mode 100644 index 0000000..6f54e72 --- /dev/null +++ b/src/util/color_range.rs @@ -0,0 +1,29 @@ +use ffi::*; + +#[derive(Eq, PartialEq, Clone, Copy, Debug)] +pub enum ColorRange { + Unspecified, + MPEG, + JPEG, +} + +impl From for ColorRange { + fn from(value: AVColorRange) -> Self { + match value { + AVCOL_RANGE_UNSPECIFIED => ColorRange::Unspecified, + AVCOL_RANGE_MPEG => ColorRange::MPEG, + AVCOL_RANGE_JPEG => ColorRange::JPEG, + AVCOL_RANGE_NB => ColorRange::Unspecified + } + } +} + +impl Into for ColorRange { + fn into(self) -> AVColorRange { + match self { + ColorRange::Unspecified => AVCOL_RANGE_UNSPECIFIED, + ColorRange::MPEG => AVCOL_RANGE_MPEG, + ColorRange::JPEG => AVCOL_RANGE_JPEG + } + } +} diff --git a/src/util/mod.rs b/src/util/mod.rs index fcb6d4f..074511e 100644 --- a/src/util/mod.rs +++ b/src/util/mod.rs @@ -2,6 +2,7 @@ pub mod dictionary; pub mod error; pub mod rational; pub mod color_space; +pub mod color_range; use std::ffi::CStr; use std::str::from_utf8_unchecked;