(v13) Band-interleaved and line-interleaved output
This page applies to Harlequin v13.1r0 and later; and to Harlequin MultiRIP but not Harlequin Core
In band‐interleaved output, the RIP passes the plugin a band containing the values of the first component for all the pixels, followed by the values of the second component for all the pixels, and so on. In other words, the data appears to be composed of several graytone bands concatenated.
- There can be an arbitrary number of channels (including two). This is indicated by the value supplied by the RIP in the
numChannels
field of therasterFormat
structure. The color of each channel to which a real colorant is mapped is described by thePageHeaderColorant
structures and their order by thepColorants
linked list of these structures passed in thepageHeader
structure.
In all versions, the description of each band includes the number of lines, size, and offset for a single channel, and raster data for the other channels is contiguous in memory with the first, though each line may be padded to a 4or 8-byte boundary.
Since all the color components of one band are available together for band‐interleaved formats, this format can also be used for devices requiring line‐interleaving. In all bands, the offset to the next color component can be calculated as the number of lines of each colorant in that band multiplied by the padded line width. With the exception of the last band on a page, the line count is given by the d_linesperband
field of the deviceDefinition
structure. For the last band, it is imageHeight(bandcount * d_linesperband)
. The padded line width byte count is calculated by dividing dataWidth
in the pageHeader
structure by 8. ((v13) The deviceDefinition structure
describes the deviceDefinition
structure.)
d_linesperband
indicates the number of “image lines” in the band. For example: with CYMK data, there are 4 * d_linesperband
lines of data in the band. In the example of band‐interleaved output in Figure: Color raster interleaving
d_linesperband
would have the value 3.
The last band of a page may contain fewer than d_linesperband
lines per component. This does not affect the produced image, but it does affect the separation of the components in memory. In the last band on a page, the components are separated by the actual number of image lines in that band when delivered in buffer memory. Figure: The last band of a band-interleaved page
” shows this separation: compare this memory organization to the last three lines in the band‐interleaved section of Figure: Color raster interleaving
, which shows only the imaged data.
Figure: The last band of a band-interleaved page