Recently seen that GDALRasterBand read for the Mosaics is affected because the read always trying to default to IReadBlock and we never implemented IReadBlock because of less generic type support I guess:
our implementation : class XRasterBand : public GDALRasterBand { public: XRasterBand(GDALDataset *dataset, int gdalBandNum, const xyzSize<uint32> &rastersize, const xyzSize<uint32> &blocksize, GDALDataType gdalDatatype, GDALColorInterp colorInterp_, const xyzTransferGuard<GDALColorTable> &ctbl_, bool haveNoData_, double noDataValue_); virtual CPLErr IRasterIO( GDALRWFlag eRWFlag, int nXOff, int nYOff, int nXSize, int nYSize, void *pData, int nBufXSize, int nBufYSize, GDALDataType eBufType, int nPixelSpace, int nLineSpace, GDALRasterIOExtraArg* sExtraArg); virtual CPLErr IReadBlock(int nXBlockOff, int nYBlockOff, void *pabyData){ CPLError(CE_Failure, CPLE_AppDefined, "Internal Error: doesn't support block reading"); return CE_Failure; } Since we recently upgraded to GDAL 2.1.2 from GDAL 1.1 all the Raster reads are defaulting to IReadBlock for warping /mosaics. I referred to Migration Guide, but it does not mention of such a change( even the RasterIO RFC is unrelated) - ref :https://svn.osgeo.org/gdal/branches/2.0/gdal/MIGRATION_GUIDE.TXT My Question is : 1. has anyone seen this issue ? 2. what has changed that may not be documented ? 3. is there a need to implement IReadBlock 2.0 onwards ? -- View this message in context: http://osgeo-org.1560.x6.nabble.com/Change-of-behavior-GDALRasterBand-IReadBlock-vs-RasterIO-tp5305401.html Sent from the GDAL - Dev mailing list archive at Nabble.com. _______________________________________________ gdal-dev mailing list gdal-dev@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/gdal-dev