[gdal-dev] OpenJPEG driver

Even Rouault even.rouault at mines-paris.org
Mon May 19 11:01:47 PDT 2014


Guillaume,

> 
> I am using the OpenJPEG driver from GDAL and I noticed some differences
> with the behaviour of an other OpenJPEG "driver" that I used before in
> the library Orfeo ToolBox. The GDAL driver fails to pass a conformance
> test : using the input file "jpeg2000_conf_p1_06.j2k" 

Are you refering to 
http://code.google.com/p/openjpeg/source/browse/data/input/conformance/p1_06.j2k 
? I see this is a 12 x 12 pixel image ...

> , reading the
> resolution level 4 (zero being the original image) , it should produce a
> 1x1 image with the pixel value [195, 36, 100].
> 
> The behaviour of GDAL drivers differs on the following points :
> 
>   * The number of overviews detected for a jpeg2000 dataset is limited
>     (no overview if its dimensions are both lower than 256). Even if the
>     the overviews can be computed by GDAL, it won't use the wavelet
>     coefficients for the highest levels, but rather perform the default
>     nearest neighbor interpolation.

Yes, this is to avoid exposing overviews that are too small and do not make 
pratical sense. Other JPEG2000 drivers, such as JP2KAK or JP2ECW, have similar 
logic.

>   * The size of the overview at level 'n' is computed as : ovr_size =
>     raster_size / 2^n , whereas it should be ovr_size = ceil(
>     raster_size / float(2^n) )
> 

Hum, any reason to particularly round to the upper value rather than the lower 
value ? The JP2ECW driver does the rounding to the lower value too.

> 
> I am using GDAL 1.10.1 and OpenJpeg 2.0.
> Is it relevant to report a bug on this topic ?

IMHO the test case seems to be a bit too artificial to justify any change, 
unless there are real world cases where that would cause issues.

Even

-- 
Geospatial professional services
http://even.rouault.free.fr/services.html


More information about the gdal-dev mailing list