Opened 16 years ago

Last modified 16 years ago

#266 closed defect (fixed)

JasPer 16bit support broken?

Reported by: warmerdam Owned by: dron
Priority: high Milestone:
Component: default Version: unspecified
Severity: normal Keywords:
Cc:

Description

Andrey,

The new GeoJP2 support looks to be working well with the JasPer
driver.  However, 16bit files don't seem to be recognised properly
any more.

Also, there seems to be alot of "jp2 box" debugging output.  If you 
want to preserve it could you route it through CPLDebug()? 

eg.

warmerda@gdal2200[410]% gdalinfo gtsmall.jp2 
JP2 box: type="JP" (0x6a502020); length=12
JP2 box: type="FTYP" (0x66747970); length=20
JP2 box: type="JP2H" (0x6a703268); length=45
JP2 box: type="IHDR" (0x69686472); length=22
JP2 box: type="COLR" (0x636f6c72); length=15
method=1; pri=0; approx=0
csid=17
JP2 box: type="UUID" (0x75756964); length=302
JP2 box: type="JP2C" (0x6a703263); length=0
JP2 box: type="Unknown" (0x00290000); length=-11534511
Driver: JPEG2000/JPEG-2000 part 1 (ISO/IEC 15444-1)
Size is 500, 500
Coordinate System is:
GEOGCS["WGS 84",
    DATUM["WGS_1984",
        SPHEROID["WGS 84",6378137,298.2572235629972,
            AUTHORITY["EPSG","7030"]],
        AUTHORITY["EPSG","6326"]],
    PRIMEM["Greenwich",0],
    UNIT["degree",0.0174532925199433],
    AUTHORITY["EPSG","4326"]]
Origin = (-100.000000,40.000000)
Pixel Size = (0.008333,-0.008333)
Corner Coordinates:
Upper Left  (-100.0000000,  40.0000000) (100d 0'0.00"W, 40d 0'0.00"N)
Lower Left  (-100.0000000,  35.8333333) (100d 0'0.00"W, 35d50'0.00"N)
Upper Right ( -95.8333333,  40.0000000) ( 95d50'0.00"W, 40d 0'0.00"N)
Lower Right ( -95.8333333,  35.8333333) ( 95d50'0.00"W, 35d50'0.00"N)
Center      ( -97.9166667,  37.9166667) ( 97d55'0.00"W, 37d55'0.00"N)
Band 1 Block=500x500 Type=Byte, ColorInterp=Undefined

I will attach gtsmall.jp2.  Note, when opening it in OpenEV you can also
see the classic problem of 16bit data "wrapping" at pixel value 256.

Attachments (1)

gtsmall.jp2 (86.9 KB) - added by warmerdam 16 years ago.
16bit GeoJP2 file not recognised properly.

Download all attachments as: .zip

Change History (5)

Changed 16 years ago by warmerdam

Attachment: gtsmall.jp2 added

16bit GeoJP2 file not recognised properly.

comment:1 Changed 16 years ago by warmerdam

One other point.  Is configure supposed to find jp2_uuid_getdata()? 

checking for SDreaddata in -lmfhdf... yes
checking for jpc_decode in -ljasper... yes
checking for jp2_decode in -ljasper... yes
checking for pgx_decode in -ljasper... yes
checking for jp2_uuid_getdata in -ljasper... no
checking for jp2_encode_uuid in -ljasper... yes
hacked JasPer version found (JasPer UUID).


comment:2 Changed 16 years ago by dron

Frank,

> 16bit files don't seem to be recognised properly any more

Bug fixed. It was '&&' instead of '&' in bitwise operation...
Does gtsmall.jp2 contains signed data?

> there seems to be alot of "jp2 box" debugging output

It's not my output, it is printed by JasPer to the stderr.

> checking for jp2_uuid_getdata in -ljasper... no

Not really needed in configure.in, removed.

comment:3 Changed 16 years ago by warmerdam

Andrey,

Could you provide feedback to the JasPer author indicating that it is 
desirable that applications be able to disable debug output to stderr? 

I tested the updated code and it worked fine with my gtsmall.jp2.  The
file is signed. Note that it is available in this bug report for you to
download.


comment:4 Changed 16 years ago by dron

> I tested the updated code and it worked fine with my gtsmall.jp2.  The
> file is signed. Note that it is available in this bug report for you to
> download.

I've asked question about signedness just because I was not sure that my code
works right with signed data. Now I see that it is correct.
Note: See TracTickets for help on using tickets.