[gdal-dev] IReadBlock() and number of bands

Andrey Kiselev a_kissel at e...
Sat Apr 27 14:36:16 EDT 2002


>IReadBlock() is called separately for each raster band. If you have a
>pixel interleaved file, and use a simplistic mechanism to access the
>band data, reloading the pixel interleaved data for each bands request,
>the overhead is substantial. In fact, this is exactly what the Raw dataset
>code does for the pixel intereaved case

Not only raw data driver but also geotiff driver works a similar manner.

>However, when implementing a pixel interleaved format it is possible to
>internally have the dataset load the pixel interleaved scanline and then
>band pull out the data of interest to avoid multiple loads. This pushes
>the responsibility for managing the data access into the driver but I it
>need not have a substantial effect on efficiency.

So there isn't drivers implemented in such way? I'm already get the working HRPT/LAC dataset reader, but 5x overhead slightly confuses me.

Regards,
Andrey




Join 18 million Eudora users by signing up for a free Eudora Web-Mail account at http://www.eudoramail.com




More information about the Gdal-dev mailing list