pub mod format;
pub(crate) use format::*;
pub mod error;
pub(crate) use error::*;
#[cfg(feature = "openjpeg-sys")]
pub(crate) use openjpeg_sys as sys;
#[cfg(feature = "openjp2")]
pub(crate) mod sys {
pub use openjp2::openjpeg::*;
}
impl From<J2KFormat> for sys::CODEC_FORMAT {
fn from(format: J2KFormat) -> Self {
use J2KFormat::*;
match format {
JP2 => sys::CODEC_FORMAT::OPJ_CODEC_JP2,
J2K => sys::CODEC_FORMAT::OPJ_CODEC_J2K,
}
}
}
pub(crate) mod codec;
pub(crate) mod dump;
pub(crate) mod j2k_image;
pub(crate) mod stream;
pub use codec::*;
pub use dump::*;
pub(crate) use stream::*;
pub use self::j2k_image::*;
#[derive(Debug, Clone, Copy)]
pub enum ColorSpace {
Unknown,
Unspecified,
SRGB,
Gray,
SYCC,
EYCC,
CMYK,
}
impl From<ColorSpace> for sys::COLOR_SPACE {
fn from(color: ColorSpace) -> Self {
use sys::COLOR_SPACE::*;
use ColorSpace::*;
match color {
Unknown => OPJ_CLRSPC_UNKNOWN,
Unspecified => OPJ_CLRSPC_UNSPECIFIED,
SRGB => OPJ_CLRSPC_SRGB,
Gray => OPJ_CLRSPC_GRAY,
SYCC => OPJ_CLRSPC_SYCC,
EYCC => OPJ_CLRSPC_EYCC,
CMYK => OPJ_CLRSPC_CMYK,
}
}
}
impl From<sys::COLOR_SPACE> for ColorSpace {
fn from(color: sys::COLOR_SPACE) -> Self {
use sys::COLOR_SPACE::*;
use ColorSpace::*;
match color {
OPJ_CLRSPC_UNKNOWN => Unknown,
OPJ_CLRSPC_UNSPECIFIED => Unspecified,
OPJ_CLRSPC_SRGB => SRGB,
OPJ_CLRSPC_GRAY => Gray,
OPJ_CLRSPC_SYCC => SYCC,
OPJ_CLRSPC_EYCC => EYCC,
OPJ_CLRSPC_CMYK => CMYK,
}
}
}