Max TenEyck Woodbury
max at mtew.isa-geek.net
Fri Oct 5 08:40:04 CDT 2012
Hmm. I definitely misunderstood what this function was intended to do.
As I understand things now, there are two ways to approach processing
1) As a stream of information to be processed in the order it arrives.
2) As an aggregate to be processed all at once.
The PNG format is specifically designed to allow it to be processed as
a stream with good efficiency. Processing the aggregate is done by
processing the stream and accumulating the aggregated information.
The key interface to the stream approach is to enumerate the blocks and
process each one as you come to it. This approach has already been
The strategy of the aggregate approach is to have an array of blocks
and use an index to access the elements of the array. The key elements
are getting the number of blocks (this function) and getting access to
the block by its index number (using 'GetReaderByIndex'). This approach
has not been implemented.
To do this efficiently, it should be possible to validate the
correctness of each block WITHOUT getting into any more details about
the blocks than possible.
Have I got this right so far?
More information about the wine-devel