xinxinlx / openjpeg

Automatically exported from code.google.com/p/openjpeg
Other
0 stars 0 forks source link

Allow eYCC colour spaces to decode correctly #236

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
openjpeg-2.0 can correctly decode images containing a eYCC colour spaces but 
the resulting image is tagged as OPJ_CLRSPC_UNKNOWN making it unusable.

The attached patch corrects this and allows the resulting image to be tagged 
correctly.

Original issue reported on code.google.com by slmis...@gmail.com on 6 Sep 2013 at 10:14

Attachments:

GoogleCodeExporter commented 9 years ago
Could you please upload the file with 'enumCS == 24' or upload a link to that 
file?
So that I could test the file.

Simply extending the 'OPJ_COLOR_SPACE' does not seem enough. There must a 
conversion
to e.g. RGB. How did you convert?

winfried

Original comment by szukw...@arcor.de on 19 Sep 2013 at 10:56

GoogleCodeExporter commented 9 years ago
Attached is the test file you requested.

The conversion to RGB takes place outside of OpenJPEG2 and can be seen in the 
attached source code file function called s_jpxd_ycc_to_rgb.

Original comment by slmis...@gmail.com on 25 Sep 2013 at 6:08

Attachments:

GoogleCodeExporter commented 9 years ago
FIRST GLANCE
===================

pdf2ps j2kp4-file2-eycc-8bpc.pdf
   **** Warning: Unknown enumerated color space in JPX stream.
   **** Warning: image has no /ColorSpace key; assuming /DeviceRGB.

   **** This file had errors that were repaired or ignored.
   **** Please notify the author of the software that produced this
   **** file that it does not conform to Adobe's published PDF
   **** specification.

gv j2kp4-file2-eycc-8bpc.ps
SUCCEEDS

pdftops j2kp4-file2-eycc-8bpc.pdf /* poppler */
FAILS

mupdf j2kp4-file2-eycc-8bpc.pdf
FAILS

gv j2kp4-file2-eycc-8bpc.pdf
SUCCEEDS

Used programs:
------------------
gs-9.07
poppler-0.23.2
gv-3.7.4
mupdf-git-2013-08-04

SECOND_GLANCE
===============

The file j2kp4-file2-eycc-8bpc.pdf obviously uses 'file2.jp2':
this file has 'enumCS == 18', i.e. the 'sYCC' color space. The
SPEC is IEC 61966-2-1 Amd. 1 .

'enumCS == 24' is the color space 'e-sYCC'. It is 'e-sRGB' based.
The SPEC is PIMA 7667 Annex B.

winfried

Original comment by szukw...@arcor.de on 26 Sep 2013 at 8:29

GoogleCodeExporter commented 9 years ago

Original comment by mathieu.malaterre on 25 Feb 2014 at 3:48

GoogleCodeExporter commented 9 years ago
Should be fixed by r2451. Closing, feel free to re-open if patch is incomplete.

Original comment by mathieu.malaterre on 26 Feb 2014 at 4:00