[sane-devel] SANE2 standard revisited: image data format
Mon, 9 Dec 2002 18:21:30 -0500
>On Monday 09 December 2002 17:51, Matto Marjanovic wrote:
>> So, how about this: remove the "frames" concept altogether. The whole
>> notion of calling start_scan() repeatedly to scan the same document was
>> always rather gruesome anyway.
>this is very similar to the frame type. In fact you do not change a lot with
>this. When we want to remove the frames then I suggest to do it right:
>only channel-interleaved data, no planes in SANE_(FRAME_)RAW.
The difference isn't so much the data format as the code flow: all the
planar data is returned after a single sane_start(), and the multi-frame
flags for determining which 'frame' is currently being scanned can be
removed from the standard.
>In fact this makes the sane standard more simple. Three pass scanners
>are not produced any more.
But people still keep using them (and sending bug reports). :)
I think there is still some utility to a planar transfer mode, because
it might allow the backend to stay really lightweight. (That telescope
you mention below may send planar data, and it might be hooked up to a
lonely embedded SANE server off on a mountain top....)
>But we have to keep in mind that sane is not only made for scanners.
>There may be e.g. a telescope that produces a visible image
>(may be RGB, may be CMYK) and also additional infrared or
>ultra-violett data. We still need a way to transmit such data!
I understand, and it's not an issue.
The PLANAR mode would still have N channels, just transmitted one channel
at a time instead of sample-interleaved.
I envision three SANE_Frame types:
o SANE_FRAME_PACKED --- sample-interleaved channels, following all the
current RAW specs.
o SANE_FRAME_PLANAR --- planar channels, following all the current RAW
o SANE_FRAME_MIME --- opaque image data, with a MIME type.
Each sane_start() cycle would return a single frame, and each frame would
be a complete image.