diff --git a/src/decoder/ifd.rs b/src/decoder/ifd.rs index acbe484..f1daae7 100644 --- a/src/decoder/ifd.rs +++ b/src/decoder/ifd.rs @@ -35,7 +35,6 @@ pub enum Value { } impl Value { - pub fn into_u8(self) -> TiffResult { match self { Byte(val) => Ok(val), diff --git a/src/decoder/mod.rs b/src/decoder/mod.rs index 17420ee..b0731a9 100644 --- a/src/decoder/mod.rs +++ b/src/decoder/mod.rs @@ -9,8 +9,9 @@ use self::ifd::Directory; use tags::{CompressionMethod, PhotometricInterpretation, Predictor, SampleFormat, Tag, Type}; use self::stream::{ -ByteOrder, DeflateReader, EndianReader, LZWReader, PackBitsReader, SmartReader, JpegReader + ByteOrder, DeflateReader, EndianReader, LZWReader, PackBitsReader, SmartReader, JpegReader }; +use tags::{CompressionMethod, PhotometricInterpretation, Predictor, Tag, Type}; pub mod ifd; mod stream; @@ -638,7 +639,9 @@ impl Decoder { for _ in 0..num_tags { let (tag, entry) = match self.read_entry()? { Some(val) => val, - None => continue, // Unknown data type in tag, skip + None => { + continue; + } // Unknown data type in tag, skip }; dir.insert(tag, entry); } @@ -962,7 +965,6 @@ impl Decoder { let mut res_img = Vec::with_capacity(tile_offsets[0] as usize); for (idx, offset) in tile_offsets.iter().enumerate() { - self.goto_offset(*offset)?; let jpeg_reader = JpegReader::new(&mut self.reader, tile_bytes[idx], &jpeg_tables)?; let mut decoder = jpeg::Decoder::new(jpeg_reader); @@ -970,13 +972,12 @@ impl Decoder { match decoder.decode() { Err(e) => { panic!("The ERror was: {}", e); - }, + } Ok(mut val) => res_img.append(&mut val), } } Ok(DecodingResult::U8(res_img)) - } pub fn read_jpeg_strips(&mut self) -> TiffResult { @@ -986,8 +987,8 @@ impl Decoder { let mut res_img = Vec::with_capacity(strip_offsets[0] as usize); - for (idx, offset) in strip_offsets.iter().enumerate() { + for (idx, offset) in strip_offsets.iter().enumerate() { self.goto_offset(*offset)?; let jpeg_reader = JpegReader::new(&mut self.reader, strip_bytes[idx], &jpeg_tables)?; let mut decoder = jpeg::Decoder::new(jpeg_reader); @@ -995,7 +996,7 @@ impl Decoder { match decoder.decode() { Err(e) => { panic!("Error when reading jpeg tiles: {}", e); - }, + } Ok(mut val) => res_img.append(&mut val), } } @@ -1003,7 +1004,6 @@ impl Decoder { Ok(DecodingResult::U8(res_img)) } - pub fn read_strip_to_buffer(&mut self, mut buffer: DecodingBuffer) -> TiffResult<()> { self.initialize_strip_decoder()?; @@ -1126,7 +1126,6 @@ impl Decoder { /// Decodes the entire image and return it as a Vector pub fn read_image(&mut self) -> TiffResult { - if self.compression_method == CompressionMethod::ModernJPEG { match self.find_tag(Tag::TileOffsets) { Ok(None) | Err(_) => return self.read_jpeg_strips(), @@ -1146,7 +1145,6 @@ impl Decoder { for i in 0..usize::try_from(self.strip_count()?)? { self.read_strip_to_buffer(result.as_buffer(samples_per_strip * i))?; } - Ok(result) } } diff --git a/src/decoder/stream.rs b/src/decoder/stream.rs index 56ef877..7df3bf8 100644 --- a/src/decoder/stream.rs +++ b/src/decoder/stream.rs @@ -343,7 +343,7 @@ impl JpegReader { pub fn new( reader: &mut SmartReader, length: u32, - jpeg_tables: &Vec + jpeg_tables: &Vec, ) -> io::Result where R: Read + Seek, @@ -359,12 +359,10 @@ impl JpegReader { jpeg_data.extend_from_slice(&mut segment[2..]); - Ok( - JpegReader { - buffer: io::Cursor::new(jpeg_data), - byte_order: order, - }, - ) + Ok(JpegReader { + buffer: io::Cursor::new(jpeg_data), + byte_order: order, + }) } } @@ -382,8 +380,6 @@ impl EndianReader for JpegReader { } } - - /// /// ## PackBits Reader /// diff --git a/tests/decode_images.rs b/tests/decode_images.rs index 2336178..a92a668 100644 --- a/tests/decode_images.rs +++ b/tests/decode_images.rs @@ -170,7 +170,7 @@ fn test_decode_data() { let mut decoder = Decoder::new(file).unwrap(); assert_eq!(decoder.colortype().unwrap(), ColorType::RGB(8)); assert_eq!(decoder.dimensions().unwrap(), (100, 100)); - if let DecodingResult::U8(img_res) = decoder.read_image().unwrap() { + if let DecodingResult::U8(img_res) = decoder.read_strip().unwrap() { assert_eq!(image_data, img_res); } else { panic!("Wrong data type");