>> When doing some interpolation between destination pixels, for every
>> destination pixel multiple source pixels must be converted to the correct
>> color space.
>> This means it is faster to convert the source at once to the required
>> colorspace, then every source pixel just needs to be converted once.
>
> It may be enough to convert individual scanlines and clobber them with the next one. It depends. I need to look at some image filters and analyse their access pattern. It could be pretty random, I need to come up with something solid. I was just trying to see if anybody else out there already had to do this and could give some pointers.
You could prefetch/cache a number of scanlines, depending on the
vertical distance of the filter.
It would be much easier to just convert the entire image, though --
either on load, or at the time of first necessity. If you don't mind
slowing down any possible "undo" step, you could drop the original
image data after you convert it into the colorspace you use for
processing, or do so conditionally based on available memory.
The best solution would be to have native support for the colorspaces,
i.e. actual pixel formats for them...perhaps doing real-time
conversion only for the blend modes that don't make sense, or turning
them into no-ops.
Sorry if that's just spelling out the obvious. :)
Lorne Laliberte
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/_______________________________________________
Vector-agg-general mailing list
Vector-agg-general@...
https://lists.sourceforge.net/lists/listinfo/vector-agg-general