[sane-devel] SANE2 standard revisited: image data format
Henning Meier-Geinitz
henning at meier-geinitz.de
Mon Dec 9 23:55:40 GMT 2002
Hi,
On Mon, Dec 09, 2002 at 06:21:30PM -0500, Matto Marjanovic wrote:
> >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.
>
> Hi, Oliver,
>
> 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.
I support this proposal. That was my original intention. I also don't
like the mulitiple call of sane_start.
This way, it's just a differnt image format. No problem at all. No
need to call sane_start three time, no need to call frames.
So we have only the image and the channel paradigm. One image per
sane_start. One ore more channels per image. The channels can be
ordered either interleaved or as planes.
> >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). :)
And we want to wtite some sane2-sane1 compatibility dll, so we
shouldn't get too incompatible, if possible.
> 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
> specs.
> 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.
This also avois explanations that SANE_FRAME_MIME can only use one
frame.
An alternative would be to use only two frame types SANE_FRAME_RAW and
SANE_FRAME_MIME and put the plane/interleaved distinction in the
format_desc:
"red:8,green:8,blue:8": interleaved
"red:8;green:8;blue:8": planes
BUT: Someone could try to use:
"red:8,green:8;blue:8": well?
And I guess we don't want that confusion with ";" and ",".
So the three distinct types seem to be easier.
Bye,
Henning
More information about the sane-devel
mailing list