Skip to main content
Skip table of contents

(v13) InterleaveMultiDecode filter

This page applies to Harlequin v13.1r0 and later; both Harlequin Core and Harlequin MultiRIP.

The InterleaveMultiDecode filter is used to combine several sources of samples together into a single bitstream. The InterleaveMultiDecode filter operates by combining “windows” of samples from a number of sources. A single sample from each source is required for each output “window” of data. Unlike most filters, this filter does not expect a single source on the stack. Instead, a parameter dictionary is supplied, which contains a DataSource key referencing several input sources from which samples are drawn. The parameter dictionary may contain the following entries:


DataSource

array (required)

An array of filter sources (strings, procedures, or files), supplying data for each interleaved channel of the bitstream. A single sample from each source is concatenated to create each output “window”. The samples from each source may supply different numbers of bits.

InputBits

positive interger or array of integers (optional)

The number of bits from each source to combine. If this value is an integer, it applies to all samples in the interleaved “window”. If an array, it must be the same length or shorter than the DataSource array. The corresponding value in this array is used for each filter source; if this array is shorter that the DataSource array, the last value in the array is used for all of the subsequent filter sources (default 8).

InputAlignRepeat

non-negative integer or array of integers (optional)

The number of interleaved source “windows” to process before aligning the input sources. If zero, the input sources are never aligned. If this value is an integer it applies to all samples in the interleaved “window”. If an array, it must be the same length or shorter than the DataSource array. The corresponding value in this array is used for each filter source; if this array is shorter that the DataSource array, the last value in the array is used for all of the subsequent filter sources (default 0).

InputAlignBits

positive integer or array of integers (optional, )

If InputAlignRepeat is non-zero, then after that number of data windows are processed, the corresponding input source is aligned by reading extra bits such that a multiple of this number of bits has been read. The minimum number of bits to achieve the specified alignment are read. The default alignment is to byte boundaries. If this value is an integer, it applies to all samples in the interleaved “window”. If an array, it must be the same length or shorter than the DataSource array. The corresponding value in this array is used for each filter source; if this array is shorter that the DataSource array, the last value in the array is used for all of the subsequent filter sources (default 8).

OutputAlignRepeat

non-negative integer (optional)

The number of interleaved source “windows” to process before aligning the interleaved filter output. If zero, the output is never  aligned (default 0).

OutputAlignBits

positive integer (optional)

If OutputAlignRepeat is non-zero, then after that number of data windows are processed, the corresponding output source is aligned by writing extra bits such that a multiple of this number of bits has been written. The minimum number of bits to achieve the specified alignment is written. The default alignment is to a byte boundary (default 8).

Repeat

non-negative integer (optional)

This value indicates the number of windows to process. If zero, the filter keeps requesting data from its sources until EOF is indicated from the sources. If non-zero, this is the number of whole windows of interleaved data that are processed before the filter returns EOF. It may be useful to set this parameter to prevent the filter from reading more data than is applicable for an interleaved image source (default 0).

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.