|Version 28 (modified by normanb, 5 years ago)|
RFC 24: GDAL Progressive Data Support
Author: Norman Barker
To provide an interface for data streaming support to GDAL by overloading the RasterIO function to include a callback function when there are buffer updates. The RFC focuses on JPIP but should be generic to apply to other streaming / progressive formats.
JPIP: JPEG 2000 Interactive Protocol
To provide an interface to a streaming data source in a convenient manner for RasterIO operations within GDAL and to expose this interface via swig.
Note this RFC originally explored using an Observer pattern as per implementations in Java imageio update but after detailed discussions with Tamas Szekeres, Even Rouault and Adam Nowacki a simpler interface to reduce the potential for problems by having the callback implemented by another thread.
Each swig wrapper language will have its own design pattern for event handling (the image updates) and the proposed interface will allow that pattern implementation to be provided, even if simulated/
The implementation is a definition of an interface, in particular an overloaded function definition for RasterIO. Concrete implementations of this interface will follow. Currently the most convenient JPIP streaming developer library is Kakadu however since GDAL is also developer library, only stubs can be distributed to conform to Kakadu licensing (JP2KAK). Commercial vendors are also interested in using GDAL for streaming support and a standard interface will allow these commercial plugins to be incorporated. e.g. ECW, MrSID.
- progressive.jpg (153.6 KB) - added by normanb 5 years ago.
- class.2.png (8.3 KB) - added by normanb 5 years ago.
- class.png (8.2 KB) - added by normanb 5 years ago.
- sequence.png (37.3 KB) - added by normanb 4 years ago.
- gdalsequence.PNG (124.3 KB) - added by normanb 4 years ago.
- components.PNG (11.9 KB) - added by normanb 4 years ago.
- demoviewer.PNG (96.3 KB) - added by normanb 4 years ago.