mm2 / Little-CMS

A free, open source, CMM engine. It provides fast transforms between ICC profiles.
https://www.littlecms.com
MIT License
571 stars 176 forks source link

Non-equidistant planes in DoTransformLineStride #444

Closed YomikoR closed 6 months ago

YomikoR commented 6 months ago

Hi! This is a feature request for what the title says. In video frame servers such as VapourSynth and Avisynth, video frame data are usually stored in separated planes instead of packed formats, partially because most filters are selective on planes. As a result, the planes are by design not guaranteed to be equidistant in memory. For now I just create a temp buffer and copy plane data per line to it for the DoTransform call. But I would like to hear from you if this use case might be supported in low effort.

mm2 commented 6 months ago

You could use a formatter plug-in to do it in a neat way. Take a look to the Plugin API manaual, "Formatters plug-in"