https://bugs.documentfoundation.org/show_bug.cgi?id=131199

Julien Nabet <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |enhancement

--- Comment #9 from Julien Nabet <[email protected]> ---
I read more about tiff recently and there are 2 things to consider here:
1) in LO, Adobe deflate (compression = 8) isn't taken into account in tiff
import mechanism

2) different photometric interpretation in the 6 files:
  Photometric Interpretation: min-is-black
  Photometric Interpretation: CIE L*a*b*
  Photometric Interpretation: RGB color
  Photometric Interpretation: min-is-black
  Photometric Interpretation: RGB color
  Photometric Interpretation: separated

If I just do "git grep -n nPhotometricInterpretation itiff.cxx"
(see
https://opengrok.libreoffice.org/xref/core/vcl/source/filter/itiff/itiff.cxx?r=891ff133),
I got:
itiff.cxx:77:    sal_uInt32              nPhotometricInterpretation;
itiff.cxx:150:        , nPhotometricInterpretation(0)
itiff.cxx:377:            nPhotometricInterpretation = ReadIntData();
itiff.cxx:378:            SAL_INFO("filter.tiff","PhotometricInterpretation: "
<< nPhotometricInterpretation);
itiff.cxx:865:             nPlanes == 1 && nPhotometricInterpretation == 2 )
itiff.cxx:906:               ( nPhotometricInterpretation == 2 &&
nSamplesPerPixel >= 3 ) ||
itiff.cxx:907:               ( nPhotometricInterpretation == 5 &&
nSamplesPerPixel == 3 )
itiff.cxx:927:                    if (nPhotometricInterpretation == 2)
itiff.cxx:934:        else if( nPhotometricInterpretation == 5 &&
nSamplesPerPixel == 4 )
itiff.cxx:977:    else if ( nSamplesPerPixel == 1 && (
nPhotometricInterpretation <= 1 || nPhotometricInterpretation == 3 ) )
itiff.cxx:1190:        if ( nPhotometricInterpretation <= 1 )
itiff.cxx:1206:                if ( nPhotometricInterpretation == 1 )
itiff.cxx:1263:                 nPhotometricInterpretation == 2;
itiff.cxx:1396:                nPhotometricInterpretation = 0;
itiff.cxx:1474:                if ( nPhotometricInterpretation == 2 ||
nPhotometricInterpretation == 5 || nPhotometricInterpretation == 6 )


So "CIE L*a*b*" (which has code 8, see
https://www.itu.int/itudoc/itu-t/com16/tiff-fx/docs/tiff6.pdf), isn't
implemented at all.

Quoting again Wikipedia:
"
TIFF is a complex format, defining many tags of which typically only a few are
used in each file. This led to implementations supporting very varying subsets
of the format, a situation that gave rise to the joke that TIFF stands for
Thousands of Incompatible File Formats.[8] This problem was addressed in
revision 6.0[7] of the TIFF specification (June 1992) by introducing a
distinction between Baseline TIFF (which all implementations were required to
support) and TIFF Extensions (which are optional). Additional extensions are
defined in two supplements to the specification, published September 1995[9]
and March 2002,[citation needed] respectively."
I think we should consider this one more than an enhancement and seeing the
number of different combinations in tiff.
The best thing to do would be to use libtiff lib to delegate the tiff
management but Tomaž indicated it required a lot of work.

Now about Irfanview, as an image viewer, we can expect it tries to respond
about its very core feature.

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to