11use super :: ifd:: { Directory , Value } ;
2- use super :: stream:: { ByteOrder , DeflateReader , LZWReader , PackBitsReader } ;
2+ use super :: stream:: { ByteOrder , PackBitsReader } ;
33use super :: tag_reader:: TagReader ;
44use super :: { predict_f16, predict_f32, predict_f64, Limits } ;
55use super :: { stream:: EndianReader , ChunkType } ;
@@ -9,7 +9,6 @@ use crate::tags::{
99use crate :: { ColorType , TiffError , TiffFormatError , TiffResult , TiffUnsupportedError , UsageError } ;
1010use std:: io:: { self , Cursor , Read , Seek } ;
1111use std:: sync:: Arc ;
12- use zune_jpeg:: zune_core;
1312
1413#[ derive( Debug ) ]
1514pub ( crate ) struct StripDecodeState {
@@ -370,23 +369,29 @@ impl Image {
370369
371370 fn create_reader < ' r , R : ' r + Read > (
372371 reader : R ,
373- photometric_interpretation : PhotometricInterpretation ,
372+ # [ allow ( unused_variables ) ] photometric_interpretation : PhotometricInterpretation ,
374373 compression_method : CompressionMethod ,
375374 compressed_length : u64 ,
376- jpeg_tables : Option < & [ u8 ] > ,
375+ # [ allow ( unused_variables ) ] jpeg_tables : Option < & [ u8 ] > ,
377376 ) -> TiffResult < Box < dyn Read + ' r > > {
378377 Ok ( match compression_method {
379378 CompressionMethod :: None => Box :: new ( reader) ,
380- CompressionMethod :: LZW => {
381- Box :: new ( LZWReader :: new ( reader, usize:: try_from ( compressed_length) ?) )
382- }
379+ #[ cfg( feature = "lzw" ) ]
380+ CompressionMethod :: LZW => Box :: new ( super :: stream:: LZWReader :: new (
381+ reader,
382+ usize:: try_from ( compressed_length) ?,
383+ ) ) ,
383384 #[ cfg( feature = "zstd" ) ]
384385 CompressionMethod :: ZSTD => Box :: new ( zstd:: Decoder :: new ( reader) ?) ,
385386 CompressionMethod :: PackBits => Box :: new ( PackBitsReader :: new ( reader, compressed_length) ) ,
387+ #[ cfg( feature = "deflate" ) ]
386388 CompressionMethod :: Deflate | CompressionMethod :: OldDeflate => {
387- Box :: new ( DeflateReader :: new ( reader) )
389+ Box :: new ( super :: stream :: DeflateReader :: new ( reader) )
388390 }
391+ #[ cfg( feature = "jpeg" ) ]
389392 CompressionMethod :: ModernJPEG => {
393+ use zune_jpeg:: zune_core;
394+
390395 if jpeg_tables. is_some ( ) && compressed_length < 2 {
391396 return Err ( TiffError :: FormatError (
392397 TiffFormatError :: InvalidTagValueType ( Tag :: JPEGTables ) ,
0 commit comments