diff options
author | Hubert Figuière <hub@figuiere.net> | 2023-08-19 13:47:57 -0400 |
---|---|---|
committer | Hubert Figuière <hub@figuiere.net> | 2023-08-19 23:02:59 -0400 |
commit | ed85a557e6ddb68270e5059b470b1c8d748bcf71 (patch) | |
tree | 964923e35c475f32eddcee034bffdca6943f85e5 | |
parent | e7d9462efb93cc7dada674d7fe5f1fb33859f827 (diff) |
doc+api: cleanup visibility for API
-rw-r--r-- | benches/the_benchmark.rs | 2 | ||||
-rw-r--r-- | src/bin/fuzz-ljpeg.rs | 2 | ||||
-rw-r--r-- | src/bin/test-ljpeg.rs | 2 | ||||
-rw-r--r-- | src/bitmap.rs | 10 | ||||
-rw-r--r-- | src/decompress/ljpeg.rs | 9 | ||||
-rw-r--r-- | src/dump.rs | 2 | ||||
-rw-r--r-- | src/olympus/decompress.rs | 3 | ||||
-rw-r--r-- | src/rawimage.rs | 2 | ||||
-rw-r--r-- | src/render/grayscale.rs | 2 | ||||
-rw-r--r-- | src/thumbnail.rs | 9 | ||||
-rw-r--r-- | src/tiff.rs | 2 | ||||
-rw-r--r-- | src/tiff/entry.rs | 8 | ||||
-rw-r--r-- | src/tiff/exif.rs | 11 | ||||
-rw-r--r-- | src/tiff/exif/tags.rs | 218 |
14 files changed, 149 insertions, 133 deletions
diff --git a/benches/the_benchmark.rs b/benches/the_benchmark.rs index f25edca..bf7c86d 100644 --- a/benches/the_benchmark.rs +++ b/benches/the_benchmark.rs @@ -83,7 +83,7 @@ fn ljpeg_benchmark(c: &mut Criterion) { let mut decompressor = LJpeg::new(); let io = std::fs::File::open("test/ljpegtest1.jpg").expect("Couldn't open"); let mut buffered = std::io::BufReader::new(io); - let _ = decompressor.decompress(&mut buffered); + let _ = decompressor.discard_decompress(&mut buffered); }); }); } diff --git a/src/bin/fuzz-ljpeg.rs b/src/bin/fuzz-ljpeg.rs index b7df2df..6b19318 100644 --- a/src/bin/fuzz-ljpeg.rs +++ b/src/bin/fuzz-ljpeg.rs @@ -9,6 +9,6 @@ fn main() { fuzz!(|data: &[u8]| { let mut io = std::io::Cursor::new(data); let mut decompressor = LJpeg::new(); - let _ = decompressor.decompress(&mut io); + let _ = decompressor.discard_decompress(&mut io); }); } diff --git a/src/bin/test-ljpeg.rs b/src/bin/test-ljpeg.rs index a22077d..4d68433 100644 --- a/src/bin/test-ljpeg.rs +++ b/src/bin/test-ljpeg.rs @@ -13,7 +13,7 @@ fn main() { let io = std::fs::File::open(&args[1]); assert!(io.is_ok()); let mut io = std::io::BufReader::new(io.unwrap()); - let _ = decompressor.decompress(&mut io).map_err(|e| { + let _ = decompressor.discard_decompress(&mut io).map_err(|e| { println!("Error decoding: {}", e); e }); diff --git a/src/bitmap.rs b/src/bitmap.rs index afd6bf5..ea74dae 100644 --- a/src/bitmap.rs +++ b/src/bitmap.rs @@ -26,7 +26,7 @@ use crate::DataType; /// An image buffer carries the data and the dimension. It is used to /// carry pipeline input and ouput as dimensions can change. -pub struct ImageBuffer<T> { +pub(crate) struct ImageBuffer<T> { pub(crate) data: Vec<T>, pub(crate) width: u32, pub(crate) height: u32, @@ -49,7 +49,7 @@ impl<T> ImageBuffer<T> { } /// Return the pixel RGB value at `x` and `y`. - pub fn pixel_at(&self, x: u32, y: u32) -> Option<Vec<T>> + pub(crate) fn pixel_at(&self, x: u32, y: u32) -> Option<Vec<T>> where T: Copy, { @@ -64,7 +64,7 @@ impl<T> ImageBuffer<T> { } impl ImageBuffer<f64> { - pub fn into_u16(self) -> ImageBuffer<u16> { + pub(crate) fn into_u16(self) -> ImageBuffer<u16> { ImageBuffer::<u16>::with_data( self.data .iter() @@ -79,7 +79,7 @@ impl ImageBuffer<f64> { } impl ImageBuffer<u16> { - pub fn into_f64(self) -> ImageBuffer<f64> { + pub(crate) fn into_f64(self) -> ImageBuffer<f64> { ImageBuffer::<f64>::with_data( self.data .iter() @@ -108,6 +108,8 @@ pub trait Bitmap { fn data8(&self) -> Option<&[u8]>; } +/// An `Image` is a more comprehensive `Bitmap` with 16-bits +/// support. pub trait Image: Bitmap { /// Image data in 16 bits fn data16(&self) -> Option<&[u16]>; diff --git a/src/decompress/ljpeg.rs b/src/decompress/ljpeg.rs index c899496..12515eb 100644 --- a/src/decompress/ljpeg.rs +++ b/src/decompress/ljpeg.rs @@ -237,8 +237,13 @@ impl LJpeg { }) } - /// Decompress the LJPEG stream into a RawImage. - pub fn decompress(&mut self, reader: &mut dyn ReadAndSeek) -> Result<ImageBuffer<u16>> { + #[cfg(any(feature = "fuzzing", feature = "bench"))] + /// Used to fuzz or bench the decompressor that is otherwise crate only. + pub fn discard_decompress(&mut self, reader: &mut dyn ReadAndSeek) -> Result<()> { + self.decompress(reader).map(|_| ()) + } + + pub(crate) fn decompress(&mut self, reader: &mut dyn ReadAndSeek) -> Result<ImageBuffer<u16>> { let tile = self.decompress_buffer(reader, false)?; Ok(ImageBuffer::with_data( tile.buf, diff --git a/src/dump.rs b/src/dump.rs index f495f54..8c4d876 100644 --- a/src/dump.rs +++ b/src/dump.rs @@ -23,7 +23,7 @@ macro_rules! dumpfile_impl { } /// Trait to dump a container. -/// XXX invert the default methods +// XXX invert the default methods pub trait Dump { #[cfg(feature = "dump")] /// Print dump the container as `indent` diff --git a/src/olympus/decompress.rs b/src/olympus/decompress.rs index 199ba44..37f519d 100644 --- a/src/olympus/decompress.rs +++ b/src/olympus/decompress.rs @@ -27,7 +27,8 @@ use bitreader::BitReader; use crate::{Error, Result}; -/// Decompress the Olympus raw data. +#[doc(hidden)] +/// Decompress the Olympus raw data. Not a public API. pub fn decompress_olympus(input: &[u8], w: usize, h: usize) -> Result<Vec<u16>> { if input.len() < 8 { return Err(Error::Decompression( diff --git a/src/rawimage.rs b/src/rawimage.rs index d82a76b..cf032e6 100644 --- a/src/rawimage.rs +++ b/src/rawimage.rs @@ -397,7 +397,7 @@ impl RawImage { cam_xyz * xyz_rgb } - pub fn colour_correct( + pub(crate) fn colour_correct( &self, mut buffer: ImageBuffer<f64>, target: ColourSpace, diff --git a/src/render/grayscale.rs b/src/render/grayscale.rs index f0d5e78..d60d25b 100644 --- a/src/render/grayscale.rs +++ b/src/render/grayscale.rs @@ -25,7 +25,7 @@ use crate::{Error, Result}; /// Convert a grayscale buffer to RGB /// /// It's done naively. -pub fn to_rgb(buffer: &ImageBuffer<f64>) -> Result<ImageBuffer<f64>> { +pub(crate) fn to_rgb(buffer: &ImageBuffer<f64>) -> Result<ImageBuffer<f64>> { if buffer.cc != 1 { return Err(Error::InvalidFormat); } diff --git a/src/thumbnail.rs b/src/thumbnail.rs index 6b50808..dc239c9 100644 --- a/src/thumbnail.rs +++ b/src/thumbnail.rs @@ -99,12 +99,17 @@ impl Default for Thumbnail { } impl Thumbnail { - pub fn new() -> Thumbnail { + pub(crate) fn new() -> Thumbnail { Thumbnail::default() } /// New thumbnail with data. - pub fn with_data(width: u32, height: u32, data_type: DataType, data: Vec<u8>) -> Thumbnail { + pub(crate) fn with_data( + width: u32, + height: u32, + data_type: DataType, + data: Vec<u8>, + ) -> Thumbnail { Thumbnail { width, height, diff --git a/src/tiff.rs b/src/tiff.rs index 7faab8e..9fafe41 100644 --- a/src/tiff.rs +++ b/src/tiff.rs @@ -155,7 +155,7 @@ pub trait Ifd { } } -pub type MakeToIdMap = std::collections::HashMap<&'static str, TypeId>; +pub(crate) type MakeToIdMap = std::collections::HashMap<&'static str, TypeId>; /// Identify a files using the Exif data pub(crate) fn identify_with_exif(container: &Container, map: &MakeToIdMap) -> Option<TypeId> { diff --git a/src/tiff/entry.rs b/src/tiff/entry.rs index b9c6979..b5b2319 100644 --- a/src/tiff/entry.rs +++ b/src/tiff/entry.rs @@ -166,7 +166,7 @@ impl Entry { } /// Get the value at index. - pub fn value_at_index<T, E>(&self, index: u32) -> Option<T> + pub(crate) fn value_at_index<T, E>(&self, index: u32) -> Option<T> where T: ExifValue, E: ByteOrder, @@ -256,7 +256,7 @@ impl Entry { } /// Get the value out of the entry, ignoring the type. - pub fn value_untyped<T, E>(&self) -> Option<T> + pub(crate) fn value_untyped<T, E>(&self) -> Option<T> where T: ExifValue, E: ByteOrder, @@ -296,7 +296,7 @@ impl Entry { } /// Get the value out of the entry. - pub fn value<T, E>(&self) -> Option<T> + pub(crate) fn value<T, E>(&self) -> Option<T> where T: ExifValue, E: ByteOrder, @@ -445,7 +445,7 @@ impl Entry { } /// Get the value array out of the entry, using `endian`. - pub fn value_array<T>(&self, endian: Endian) -> Option<Vec<T>> + pub(crate) fn value_array<T>(&self, endian: Endian) -> Option<Vec<T>> where T: ExifValue, { diff --git a/src/tiff/exif.rs b/src/tiff/exif.rs index 5039f99..cad3cb2 100644 --- a/src/tiff/exif.rs +++ b/src/tiff/exif.rs @@ -23,9 +23,9 @@ /// Exif tags constants pub(crate) mod generated; -pub use generated::EXIF_TAG_NAMES as TAG_NAMES; +pub(crate) use generated::EXIF_TAG_NAMES as TAG_NAMES; mod tags; -pub use tags::*; +pub(crate) use tags::*; use std::collections::HashMap; @@ -34,7 +34,7 @@ use num_enum::TryFromPrimitive; use crate::utils; -pub type TagMap = HashMap<u16, &'static str>; +pub(crate) type TagMap = HashMap<u16, &'static str>; /// Type a tag. See `tiff::Entry`. #[derive(Debug, PartialEq)] @@ -87,7 +87,7 @@ impl std::convert::From<TagType> for &'static str { } /// Return the size of a unit for the tag type -pub fn tag_unit_size(tag_type: TagType) -> usize { +pub(crate) fn tag_unit_size(tag_type: TagType) -> usize { use TagType::*; match tag_type { @@ -365,9 +365,9 @@ impl ToString for SRational { } } -/// Exif photometric interpretation #[repr(u16)] #[derive(Copy, Clone, Debug, Default)] +/// Exif photometric interpretation pub enum PhotometricInterpretation { #[default] None = 0, @@ -398,6 +398,7 @@ impl std::convert::TryFrom<u32> for PhotometricInterpretation { #[repr(u32)] #[derive(Clone, Copy, Debug, PartialEq, TryFromPrimitive)] +/// Exif light source (Illuminant) pub enum LightsourceValue { Unknown = 0, Daylight = 1, diff --git a/src/tiff/exif/tags.rs b/src/tiff/exif/tags.rs index 40e4134..b924cbd 100644 --- a/src/tiff/exif/tags.rs +++ b/src/tiff/exif/tags.rs @@ -19,145 +19,147 @@ * <http://www.gnu.org/licenses/>. */ -pub const EXIF_TAG_INTEROPERABILITY_INDEX: u16 = 0x0001; -pub const EXIF_TAG_INTEROPERABILITY_VERSION: u16 = 0x0002; +// Make values public as soon as they get used. + +pub const _EXIF_TAG_INTEROPERABILITY_INDEX: u16 = 0x0001; +pub const _EXIF_TAG_INTEROPERABILITY_VERSION: u16 = 0x0002; pub const EXIF_TAG_NEW_SUBFILE_TYPE: u16 = 0x00fe; pub const EXIF_TAG_IMAGE_WIDTH: u16 = 0x0100; pub const EXIF_TAG_IMAGE_LENGTH: u16 = 0x0101; pub const EXIF_TAG_BITS_PER_SAMPLE: u16 = 0x0102; pub const EXIF_TAG_COMPRESSION: u16 = 0x0103; pub const EXIF_TAG_PHOTOMETRIC_INTERPRETATION: u16 = 0x0106; -pub const EXIF_TAG_FILL_ORDER: u16 = 0x010a; +pub const _EXIF_TAG_FILL_ORDER: u16 = 0x010a; pub const EXIF_TAG_DOCUMENT_NAME: u16 = 0x010d; pub const EXIF_TAG_IMAGE_DESCRIPTION: u16 = 0x010e; pub const EXIF_TAG_MAKE: u16 = 0x010f; pub const EXIF_TAG_MODEL: u16 = 0x0110; pub const EXIF_TAG_STRIP_OFFSETS: u16 = 0x0111; pub const EXIF_TAG_ORIENTATION: u16 = 0x0112; -pub const EXIF_TAG_SAMPLES_PER_PIXEL: u16 = 0x0115; -pub const EXIF_TAG_ROWS_PER_STRIP: u16 = 0x0116; +pub const _EXIF_TAG_SAMPLES_PER_PIXEL: u16 = 0x0115; +pub const _EXIF_TAG_ROWS_PER_STRIP: u16 = 0x0116; pub const EXIF_TAG_STRIP_BYTE_COUNTS: u16 = 0x0117; -pub const EXIF_TAG_X_RESOLUTION: u16 = 0x011a; -pub const EXIF_TAG_Y_RESOLUTION: u16 = 0x011b; -pub const EXIF_TAG_PLANAR_CONFIGURATION: u16 = 0x011c; -pub const EXIF_TAG_RESOLUTION_UNIT: u16 = 0x0128; -pub const EXIF_TAG_TRANSFER_FUNCTION: u16 = 0x012d; -pub const EXIF_TAG_SOFTWARE: u16 = 0x0131; -pub const EXIF_TAG_DATE_TIME: u16 = 0x0132; -pub const EXIF_TAG_ARTIST: u16 = 0x013b; -pub const EXIF_TAG_WHITE_POINT: u16 = 0x013e; -pub const EXIF_TAG_PRIMARY_CHROMATICITIES: u16 = 0x013f; +pub const _EXIF_TAG_X_RESOLUTION: u16 = 0x011a; +pub const _EXIF_TAG_Y_RESOLUTION: u16 = 0x011b; +pub const _EXIF_TAG_PLANAR_CONFIGURATION: u16 = 0x011c; +pub const _EXIF_TAG_RESOLUTION_UNIT: u16 = 0x0128; +pub const _EXIF_TAG_TRANSFER_FUNCTION: u16 = 0x012d; +pub const _EXIF_TAG_SOFTWARE: u16 = 0x0131; +pub const _EXIF_TAG_DATE_TIME: u16 = 0x0132; +pub const _EXIF_TAG_ARTIST: u16 = 0x013b; +pub const _EXIF_TAG_WHITE_POINT: u16 = 0x013e; +pub const _EXIF_TAG_PRIMARY_CHROMATICITIES: u16 = 0x013f; pub const TIFF_TAG_TILE_WIDTH: u16 = 0x0142; pub const TIFF_TAG_TILE_LENGTH: u16 = 0x0143; pub const TIFF_TAG_TILE_OFFSETS: u16 = 0x0144; pub const TIFF_TAG_TILE_BYTECOUNTS: u16 = 0x0145; -pub const EXIF_TAG_TRANSFER_RANGE: u16 = 0x0156; +pub const _EXIF_TAG_TRANSFER_RANGE: u16 = 0x0156; pub const EXIF_TAG_SUB_IFDS: u16 = 0x014a; -pub const EXIF_TAG_JPEG_PROC: u16 = 0x0200; +pub const _EXIF_TAG_JPEG_PROC: u16 = 0x0200; pub const EXIF_TAG_JPEG_INTERCHANGE_FORMAT: u16 = 0x0201; pub const EXIF_TAG_JPEG_INTERCHANGE_FORMAT_LENGTH: u16 = 0x0202; -pub const EXIF_TAG_YCBCR_COEFFICIENTS: u16 = 0x0211; -pub const EXIF_TAG_YCBCR_SUB_SAMPLING: u16 = 0x0212; -pub const EXIF_TAG_YCBCR_POSITIONING: u16 = 0x0213; -pub const EXIF_TAG_REFERENCE_BLACK_WHITE: u16 = 0x0214; -pub const EXIF_TAG_XML_PACKET: u16 = 0x02bc; -pub const EXIF_TAG_RELATED_IMAGE_FILE_FORMAT: u16 = 0x1000; -pub const EXIF_TAG_RELATED_IMAGE_WIDTH: u16 = 0x1001; -pub const EXIF_TAG_RELATED_IMAGE_LENGTH: u16 = 0x1002; -pub const EXIF_TAG_CFA_REPEAT_PATTERN_DIM: u16 = 0x828d; +pub const _EXIF_TAG_YCBCR_COEFFICIENTS: u16 = 0x0211; +pub const _EXIF_TAG_YCBCR_SUB_SAMPLING: u16 = 0x0212; +pub const _EXIF_TAG_YCBCR_POSITIONING: u16 = 0x0213; +pub const _EXIF_TAG_REFERENCE_BLACK_WHITE: u16 = 0x0214; +pub const _EXIF_TAG_XML_PACKET: u16 = 0x02bc; +pub const _EXIF_TAG_RELATED_IMAGE_FILE_FORMAT: u16 = 0x1000; +pub const _EXIF_TAG_RELATED_IMAGE_WIDTH: u16 = 0x1001; +pub const _EXIF_TAG_RELATED_IMAGE_LENGTH: u16 = 0x1002; +pub const _EXIF_TAG_CFA_REPEAT_PATTERN_DIM: u16 = 0x828d; pub const EXIF_TAG_CFA_PATTERN: u16 = 0x828e; -pub const EXIF_TAG_BATTERY_LEVEL: u16 = 0x828f; -pub const EXIF_TAG_COPYRIGHT: u16 = 0x8298; -pub const EXIF_TAG_EXPOSURE_TIME: u16 = 0x829a; -pub const EXIF_TAG_FNUMBER: u16 = 0x829d; -pub const EXIF_TAG_IPTC_NAA: u16 = 0x83bb; -pub const EXIF_TAG_IMAGE_RESOURCES: u16 = 0x8649; +pub const _EXIF_TAG_BATTERY_LEVEL: u16 = 0x828f; +pub const _EXIF_TAG_COPYRIGHT: u16 = 0x8298; +pub const _EXIF_TAG_EXPOSURE_TIME: u16 = 0x829a; +pub const _EXIF_TAG_FNUMBER: u16 = 0x829d; +pub const _EXIF_TAG_IPTC_NAA: u16 = 0x83bb; +pub const _EXIF_TAG_IMAGE_RESOURCES: u16 = 0x8649; pub const EXIF_TAG_EXIF_IFD_POINTER: u16 = 0x8769; -pub const EXIF_TAG_INTER_COLOR_PROFILE: u16 = 0x8773; -pub const EXIF_TAG_EXPOSURE_PROGRAM: u16 = 0x8822; -pub const EXIF_TAG_SPECTRAL_SENSITIVITY: u16 = 0x8824; -pub const EXIF_TAG_GPS_INFO_IFD_POINTER: u16 = 0x8825; -pub const EXIF_TAG_ISO_SPEED_RATINGS: u16 = 0x8827; -pub const EXIF_TAG_OECF: u16 = 0x8828; -pub const EXIF_TAG_EXIF_VERSION: u16 = 0x9000; +pub const _EXIF_TAG_INTER_COLOR_PROFILE: u16 = 0x8773; +pub const _EXIF_TAG_EXPOSURE_PROGRAM: u16 = 0x8822; +pub const _EXIF_TAG_SPECTRAL_SENSITIVITY: u16 = 0x8824; +pub const _EXIF_TAG_GPS_INFO_IFD_POINTER: u16 = 0x8825; +pub const _EXIF_TAG_ISO_SPEED_RATINGS: u16 = 0x8827; +pub const _EXIF_TAG_OECF: u16 = 0x8828; +pub const _EXIF_TAG_EXIF_VERSION: u16 = 0x9000; pub const EXIF_TAG_DATE_TIME_ORIGINAL: u16 = 0x9003; pub const EXIF_TAG_DATE_TIME_DIGITIZED: u16 = 0x9004; -pub const EXIF_TAG_COMPONENTS_CONFIGURATION: u16 = 0x9101; -pub const EXIF_TAG_COMPRESSED_BITS_PER_PIXEL: u16 = 0x9102; -pub const EXIF_TAG_SHUTTER_SPEED_VALUE: u16 = 0x9201; -pub const EXIF_TAG_APERTURE_VALUE: u16 = 0x9202; -pub const EXIF_TAG_BRIGHTNESS_VALUE: u16 = 0x9203; -pub const EXIF_TAG_EXPOSURE_BIAS_VALUE: u16 = 0x9204; -pub const EXIF_TAG_MAX_APERTURE_VALUE: u16 = 0x9205; +pub const _EXIF_TAG_COMPONENTS_CONFIGURATION: u16 = 0x9101; +pub const _EXIF_TAG_COMPRESSED_BITS_PER_PIXEL: u16 = 0x9102; +pub const _EXIF_TAG_SHUTTER_SPEED_VALUE: u16 = 0x9201; +pub const _EXIF_TAG_APERTURE_VALUE: u16 = 0x9202; +pub const _EXIF_TAG_BRIGHTNESS_VALUE: u16 = 0x9203; +pub const _EXIF_TAG_EXPOSURE_BIAS_VALUE: u16 = 0x9204; +pub const _EXIF_TAG_MAX_APERTURE_VALUE: u16 = 0x9205; pub const EXIF_TAG_SUBJECT_DISTANCE: u16 = 0x9206; pub const EXIF_TAG_METERING_MODE: u16 = 0x9207; -pub const EXIF_TAG_LIGHT_SOURCE: u16 = 0x9208; +pub const _EXIF_TAG_LIGHT_SOURCE: u16 = 0x9208; pub const EXIF_TAG_FLASH: u16 = 0x9209; pub const EXIF_TAG_FOCAL_LENGTH: u16 = 0x920a; -pub const EXIF_TAG_SUBJECT_AREA: u16 = 0x9214; -pub const EXIF_TAG_TIFF_EP_STANDARD_ID: u16 = 0x9216; +pub const _EXIF_TAG_SUBJECT_AREA: u16 = 0x9214; +pub const _EXIF_TAG_TIFF_EP_STANDARD_ID: u16 = 0x9216; pub const EXIF_TAG_MAKER_NOTE: u16 = 0x927c; -pub const EXIF_TAG_USER_COMMENT: u16 = 0x9286; -pub const EXIF_TAG_SUB_SEC_TIME: u16 = 0x9290; -pub const EXIF_TAG_SUB_SEC_TIME_ORIGINAL: u16 = 0x9291; -pub const EXIF_TAG_SUB_SEC_TIME_DIGITIZED: u16 = 0x9292; -pub const EXIF_TAG_FLASH_PIX_VERSION: u16 = 0xa000; -pub const EXIF_TAG_COLOR_SPACE: u16 = 0xa001; +pub const _EXIF_TAG_USER_COMMENT: u16 = 0x9286; +pub const _EXIF_TAG_SUB_SEC_TIME: u16 = 0x9290; +pub const _EXIF_TAG_SUB_SEC_TIME_ORIGINAL: u16 = 0x9291; +pub const _EXIF_TAG_SUB_SEC_TIME_DIGITIZED: u16 = 0x9292; +pub const _EXIF_TAG_FLASH_PIX_VERSION: u16 = 0xa000; +pub const _EXIF_TAG_COLOR_SPACE: u16 = 0xa001; pub const EXIF_TAG_PIXEL_X_DIMENSION: u16 = 0xa002; pub const EXIF_TAG_PIXEL_Y_DIMENSION: u16 = 0xa003; -pub const EXIF_TAG_RELATED_SOUND_FILE: u16 = 0xa004; -pub const EXIF_TAG_INTEROPERABILITY_IFD_POINTER: u16 = 0xa005; -pub const EXIF_TAG_FLASH_ENERGY: u16 = 0xa20b; -pub const EXIF_TAG_SPATIAL_FREQUENCY_RESPONSE: u16 = 0xa20c; -pub const EXIF_TAG_FOCAL_PLANE_X_RESOLUTION: u16 = 0xa20e; -pub const EXIF_TAG_FOCAL_PLANE_Y_RESOLUTION: u16 = 0xa20f; -pub const EXIF_TAG_FOCAL_PLANE_RESOLUTION_UNIT: u16 = 0xa210; -pub const EXIF_TAG_SUBJECT_LOCATION: u16 = 0xa214; -pub const EXIF_TAG_EXPOSURE_INDEX: u16 = 0xa215; -pub const EXIF_TAG_SENSING_METHOD: u16 = 0xa217; -pub const EXIF_TAG_FILE_SOURCE: u16 = 0xa300; -pub const EXIF_TAG_SCENE_TYPE: u16 = 0xa301; +pub const _EXIF_TAG_RELATED_SOUND_FILE: u16 = 0xa004; +pub const _EXIF_TAG_INTEROPERABILITY_IFD_POINTER: u16 = 0xa005; +pub const _EXIF_TAG_FLASH_ENERGY: u16 = 0xa20b; +pub const _EXIF_TAG_SPATIAL_FREQUENCY_RESPONSE: u16 = 0xa20c; +pub const _EXIF_TAG_FOCAL_PLANE_X_RESOLUTION: u16 = 0xa20e; +pub const _EXIF_TAG_FOCAL_PLANE_Y_RESOLUTION: u16 = 0xa20f; +pub const _EXIF_TAG_FOCAL_PLANE_RESOLUTION_UNIT: u16 = 0xa210; +pub const _EXIF_TAG_SUBJECT_LOCATION: u16 = 0xa214; +pub const _EXIF_TAG_EXPOSURE_INDEX: u16 = 0xa215; +pub const _EXIF_TAG_SENSING_METHOD: u16 = 0xa217; +pub const _EXIF_TAG_FILE_SOURCE: u16 = 0xa300; +pub const _EXIF_TAG_SCENE_TYPE: u16 = 0xa301; pub const EXIF_TAG_NEW_CFA_PATTERN: u16 = 0xa302; -pub const EXIF_TAG_CUSTOM_RENDERED: u16 = 0xa401; -pub const EXIF_TAG_EXPOSURE_MODE: u16 = 0xa402; -pub const EXIF_TAG_WHITE_BALANCE: u16 = 0xa403; -pub const EXIF_TAG_DIGITAL_ZOOM_RATIO: u16 = 0xa404; -pub const EXIF_TAG_FOCAL_LENGTH_IN_35MM_FILM: u16 = 0xa405; -pub const EXIF_TAG_SCENE_CAPTURE_TYPE: u16 = 0xa406; -pub const EXIF_TAG_GAIN_CONTROL: u16 = 0xa407; -pub const EXIF_TAG_CONTRAST: u16 = 0xa408; -pub const EXIF_TAG_SATURATION: u16 = 0xa409; -pub const EXIF_TAG_SHARPNESS: u16 = 0xa40a; -pub const EXIF_TAG_DEVICE_SETTING_DESCRIPTION: u16 = 0xa40b; -pub const EXIF_TAG_SUBJECT_DISTANCE_RANGE: u16 = 0xa40c; -pub const EXIF_TAG_IMAGE_UNIQUE_ID: u16 = 0xa420; +pub const _EXIF_TAG_CUSTOM_RENDERED: u16 = 0xa401; +pub const _EXIF_TAG_EXPOSURE_MODE: u16 = 0xa402; +pub const _EXIF_TAG_WHITE_BALANCE: u16 = 0xa403; +pub const _EXIF_TAG_DIGITAL_ZOOM_RATIO: u16 = 0xa404; +pub const _EXIF_TAG_FOCAL_LENGTH_IN_35MM_FILM: u16 = 0xa405; +pub const _EXIF_TAG_SCENE_CAPTURE_TYPE: u16 = 0xa406; +pub const _EXIF_TAG_GAIN_CONTROL: u16 = 0xa407; +pub const _EXIF_TAG_CONTRAST: u16 = 0xa408; +pub const _EXIF_TAG_SATURATION: u16 = 0xa409; +pub const _EXIF_TAG_SHARPNESS: u16 = 0xa40a; +pub const _EXIF_TAG_DEVICE_SETTING_DESCRIPTION: u16 = 0xa40b; +pub const _EXIF_TAG_SUBJECT_DISTANCE_RANGE: u16 = 0xa40c; +pub const _EXIF_TAG_IMAGE_UNIQUE_ID: u16 = 0xa420; pub const EXIF_TAG_CAMERA_OWNER_NAME: u16 = 0xa430; pub const EXIF_TAG_BODY_SERIAL_NUMBER: u16 = 0xa431; -pub const EXIF_TAG_BODY_LENS_MAKE: u16 = 0xa433; -pub const EXIF_TAG_BODY_LENS_MODEL: u16 = 0xa434; -pub const EXIF_TAG_GAMMA: u16 = 0xa500; -pub const EXIF_TAG_PRINT_IM: u16 = 0xc4a5; +pub const _EXIF_TAG_BODY_LENS_MAKE: u16 = 0xa433; +pub const _EXIF_TAG_BODY_LENS_MODEL: u16 = 0xa434; +pub const _EXIF_TAG_GAMMA: u16 = 0xa500; +pub const _EXIF_TAG_PRINT_IM: u16 = 0xc4a5; /* DNG tags */ pub const TIFF_TAG_DNG_VERSION: u16 = 0xc612; pub const DNG_TAG_UNIQUE_CAMERA_MODEL: u16 = 0xc614; pub const DNG_TAG_LINEARIZATION_TABLE: u16 = 0xc618; pub const DNG_TAG_BLACK_LEVEL: u16 = 0xc61a; pub const DNG_TAG_WHITE_LEVEL: u16 = 0xc61d; -pub const DNG_TAG_DEFAULT_CROP_ORIGIN: u16 = 0xc61f; -pub const DNG_TAG_DEFAULT_CROP_SIZE: u16 = 0xc620; +pub const _DNG_TAG_DEFAULT_CROP_ORIGIN: u16 = 0xc61f; +pub const _DNG_TAG_DEFAULT_CROP_SIZE: u16 = 0xc620; pub const DNG_TAG_COLORMATRIX1: u16 = 0xc621; pub const DNG_TAG_COLORMATRIX2: u16 = 0xc622; -pub const DNG_TAG_CAMERA_CALIBRATION1: u16 = 0xc623; -pub const DNG_TAG_CAMERA_CALIBRATION2: u16 = 0xc624; -pub const DNG_TAG_REDUCTION_MATRIX1: u16 = 0xc625; -pub const DNG_TAG_REDUCTION_MATRIX2: u16 = 0xc626; -pub const DNG_TAG_ANALOG_BALANCE: u16 = 0xc627; +pub const _DNG_TAG_CAMERA_CALIBRATION1: u16 = 0xc623; +pub const _DNG_TAG_CAMERA_CALIBRATION2: u16 = 0xc624; +pub const _DNG_TAG_REDUCTION_MATRIX1: u16 = 0xc625; +pub const _DNG_TAG_REDUCTION_MATRIX2: u16 = 0xc626; +pub const _DNG_TAG_ANALOG_BALANCE: u16 = 0xc627; pub const DNG_TAG_AS_SHOT_NEUTRAL: u16 = 0xc628; -pub const DNG_TAG_AS_SHOT_WHITE_XY: u16 = 0xc629; -pub const DNG_TAG_DNG_PRIVATE: u16 = 0xc634; +pub const _DNG_TAG_AS_SHOT_WHITE_XY: u16 = 0xc629; +pub const _DNG_TAG_DNG_PRIVATE: u16 = 0xc634; pub const DNG_TAG_CALIBRATION_ILLUMINANT1: u16 = 0xc65a; pub const DNG_TAG_CALIBRATION_ILLUMINANT2: u16 = 0xc65b; -pub const DNG_TAG_ORIGINAL_RAW_FILE_NAME: u16 = 0xc68b; +pub const _DNG_TAG_ORIGINAL_RAW_FILE_NAME: u16 = 0xc68b; pub const DNG_TAG_ACTIVE_AREA: u16 = 0xc68d; /* ARW tags */ @@ -191,9 +193,9 @@ pub const ORF_TAG_RAW_DEVELOPMENT2: u16 = 0x2031; /// Image processing IFD pub const ORF_TAG_IMAGE_PROCESSING: u16 = 0x2040; pub const ORF_TAG_IP_WHITE_BALANCE_RB: u16 = 0x0100; -pub const ORF_TAG_IP_WHITE_BALANCE_G: u16 = 0x011f; -pub const ORF_TAG_IP_COLOR_MATRIX: u16 = 0x200; -pub const ORF_TAG_IP_BLACK_LEVEL: u16 = 0x0600; +pub const _ORF_TAG_IP_WHITE_BALANCE_G: u16 = 0x011f; +pub const _ORF_TAG_IP_COLOR_MATRIX: u16 = 0x200; +pub const _ORF_TAG_IP_BLACK_LEVEL: u16 = 0x0600; pub const ORF_TAG_IP_CROP_LEFT: u16 = 0x0612; pub const ORF_TAG_IP_CROP_TOP: u16 = 0x0613; pub const ORF_TAG_IP_CROP_WIDTH: u16 = 0x0614; @@ -205,12 +207,12 @@ pub const ORF_TAG_RAW_INFO: u16 = 0x3000; /* CR2 tags */ /// This tag is present in the RAW IFD for Canon CR2. -pub const CR2_TAG_C5D8: u16 = 0xc5d8; -pub const CR2_TAG_C5D9: u16 = 0xc5d9; +pub const _CR2_TAG_C5D8: u16 = 0xc5d8; +pub const _CR2_TAG_C5D9: u16 = 0xc5d9; /// Exif tag for CR2 RAW "slices" pub const CR2_TAG_SLICE: u16 = 0xc640; -pub const CR2_TAG_SRAW_TYPE: u16 = 0xc6c5; -pub const CR2_TAG_C6D6: u16 = 0xc6d6; +pub const _CR2_TAG_SRAW_TYPE: u16 = 0xc6c5; +pub const _CR2_TAG_C6D6: u16 = 0xc6d6; /* RW2 tags */ pub const RW2_TAG_SENSOR_WIDTH: u16 = 0x0002; @@ -227,20 +229,20 @@ pub const RW2_TAG_LINEARITY_LIMIT_GREEN: u16 = 0x00f; pub const RW2_TAG_LINEARITY_LIMIT_BLUE: u16 = 0x010; pub const RW2_TAG_RED_BALANCE: u16 = 0x011; pub const RW2_TAG_BLUE_BALANCE: u16 = 0x012; -pub const RW2_TAG_WB_INFO: u16 = 0x013; +pub const _RW2_TAG_WB_INFO: u16 = 0x013; pub const RW2_TAG_BLACK_LEVEL_RED: u16 = 0x01c; pub const RW2_TAG_BLACK_LEVEL_GREEN: u16 = 0x01d; pub const RW2_TAG_BLACK_LEVEL_BLUE: u16 = 0x01e; pub const RW2_TAG_WB_RED_LEVEL: u16 = 0x024; pub const RW2_TAG_WB_GREEN_LEVEL: u16 = 0x025; pub const RW2_TAG_WB_BLUE_LEVEL: u16 = 0x026; -pub const RW2_TAG_IMAGE_RAWFORMAT: u16 = 0x002d; +pub const _RW2_TAG_IMAGE_RAWFORMAT: u16 = 0x002d; pub const RW2_TAG_JPEG_FROM_RAW: u16 = 0x002e; pub const RW2_TAG_RAW_OFFSET: u16 = 0x0118; pub const RW2_TAG_CAMERA_IFD: u16 = 0x0120; /* Pentax MakerNote tags */ -pub const MNOTE_PENTAX_PREVIEW_IMAGE_SIZE: u16 = 0x02; +pub const _MNOTE_PENTAX_PREVIEW_IMAGE_SIZE: u16 = 0x02; pub const MNOTE_PENTAX_PREVIEW_IMAGE_LENGTH: u16 = 0x03; pub const MNOTE_PENTAX_PREVIEW_IMAGE_START: u16 = 0x04; pub const MNOTE_PENTAX_MODEL_ID: u16 = 0x05; @@ -254,8 +256,8 @@ pub const MNOTE_PENTAX_WHITE_BALANCE: u16 = 0x201; /* Canon MakerNote tags */ /// The model ID for Canon cameras. pub const MNOTE_CANON_MODEL_ID: u16 = 0x0010; -pub const MNOTE_CANON_RAW_DATA_OFFSET: u16 = 0x0081; -pub const MNOTE_CANON_RAW_DATA_LENGTH: u16 = 0x0082; +pub const _MNOTE_CANON_RAW_DATA_OFFSET: u16 = 0x0081; +pub const _MNOTE_CANON_RAW_DATA_LENGTH: u16 = 0x0082; pub const MNOTE_CANON_SENSORINFO: u16 = 0x00e0; pub const MNOTE_CANON_COLOR_DATA: u16 = 0x4001; @@ -267,8 +269,8 @@ pub const MNOTE_NIKON_QUALITY: u16 = 0x04; pub const MNOTE_NIKON_WB_RB_LEVELS: u16 = 0x0c; pub const MNOTE_NIKON_PREVIEW_IFD: u16 = 0x11; pub const MNOTE_NIKON_COLOR_BALANCE_A: u16 = 0x14; -pub const MNOTE_NIKON_SERIAL_NUMBER: u16 = 0x1d; -pub const MNOTE_NIKON_SHUTTER_COUNT: u16 = 0xa7; +pub const _MNOTE_NIKON_SERIAL_NUMBER: u16 = 0x1d; +pub const _MNOTE_NIKON_SHUTTER_COUNT: u16 = 0xa7; pub const MNOTE_NIKON_NEFDECODETABLE2: u16 = 0x96; pub const MNOTE_NIKON_COLOR_BALANCE: u16 = 0x97; |