The number of channels is the matrix size divided by the number of frames.
The number of frames which is the size of the streaming dimension,
or 1
if no streaming is used.
Reads a chunk of matrix data into a provided buffer.
Reads a chunk of matrix data into a provided buffer. If the stream-transposed
matrix has more than two dimensions, the de-interleaving is regularly from
from to back. E.g. in a matrix of shape [a][b][c]
, if a
is the streaming
dimension, the first channel is b0, c0
, the second channel is b0, c1
,
and so on until b0, ck-1
where k
is the size of third dimension, followed
by b1, c0
etc.
the buffer to read into. This must be two-dimensional with the
outer dimension corresponding to channels, and the inner arrays
having at least a size of off + len
.
the offset into each channel of buf
the number of frames to read
A reader is a two dimensional view of the matrix, where time proceeds along the streaming dimension used when calling
getKey
. The streaming dimension is reflected by the number of frames.The reader is stateful and remembers the number of frames read (current position). When created, the reader's position is zero. If one tries to read more than
numFrames
frames, an exception will be thrown.