pub mod compress;
pub mod container;
pub mod decoder;
pub mod ifd;
pub mod types;
use oxideav_core::ContainerRegistry;
use oxideav_core::{CodecCapabilities, CodecId, PixelFormat};
use oxideav_core::{CodecInfo, CodecRegistry};
pub const CODEC_ID_STR: &str = "tiff";
pub fn register_codecs(reg: &mut CodecRegistry) {
let caps = CodecCapabilities::video("tiff_sw")
.with_intra_only(true)
.with_lossless(true)
.with_max_size(65535, 65535)
.with_pixel_formats(vec![
PixelFormat::Rgb24,
PixelFormat::Rgb48Le,
PixelFormat::Gray8,
PixelFormat::Gray16Le,
]);
reg.register(
CodecInfo::new(CodecId::new(CODEC_ID_STR))
.capabilities(caps)
.decoder(decoder::make_decoder),
);
}
pub fn register_containers(reg: &mut ContainerRegistry) {
container::register(reg);
}
pub fn register(codecs: &mut CodecRegistry, containers: &mut ContainerRegistry) {
register_codecs(codecs);
register_containers(containers);
}
pub use decoder::{decode_tiff, DecodedTiff};