Function om_decoder_decode_chunks

Source
pub unsafe extern "C" fn om_decoder_decode_chunks(
    decoder: *const OmDecoder_t,
    chunkIndex: OmRange_t,
    data: *const c_void,
    dataCount: u64,
    into: *mut c_void,
    chunkBuffer: *mut c_void,
    error: *mut OmError_t,
) -> bool
Expand description

@brief Decodes multiple data chunks from compressed input into a target buffer.

This function iteratively decodes a range of chunks from the compressed input data using the specified decoder configuration. It processes each chunk within the provided range, decompressing it into a buffer and copying the decompressed data into the output buffer. The decoding uses an internal function _om_decoder_decode_chunk for each individual chunk.

@param[in] decoder A pointer to the om_decoder_t structure, which defines the decoder configuration, including dimensions, chunk sizes, data type and compression type. @param[in] chunk An om_range_t structure specifying the range of chunks to decode. The range is defined by chunk.lowerBound (inclusive) and chunk.upperBound (exclusive). @param[in] data A pointer to the compressed data buffer from which the chunks are read and decoded. @param[in] data_size The size of the data buffer, in bytes. This ensures that the function does not read beyond the provided data size. @param[out] into A pointer to the output buffer where the decompressed data will be written. The buffer should have enough space to store the decompressed output. @param[out] chunkBuffer A temporary buffer used for storing intermediate decompressed chunk data before copying it into the final output buffer. Must be sized according to om_decoder_read_buffer_size @param[out] error May return an out-of-bounds read error on corrupted data.

@returns false if an error occurred.