pub unsafe extern "C" fn om_decoder_init(
decoder: *mut OmDecoder_t,
variable: *const OmVariable_t,
dimension_count: u64,
read_offset: *const u64,
read_count: *const u64,
cube_offset: *const u64,
cube_dimensions: *const u64,
io_size_merge: u64,
io_size_max: u64,
) -> OmError_tExpand description
@brief Initializes the om_decoder_t structure with the specified parameters.
This function sets up the om_decoder_t instance, configuring its dimensions, chunk information,
reading parameters, LUT (Look-Up Table) properties, and decompression methods. It prepares the
decoder for reading and processing compressed data.
@param decoder A pointer to an om_decoder_t structure that will be initialized.
@param variable A pointer to the data region of the variable to read
@param dimension_count The number of dimensions of the data (e.g., 3 for 3D data). All following array must have the some dimension count.
@param read_offset A pointer to an array specifying the offsets for reading data in each dimension. This array sets the starting points for data reads.
@param read_count A pointer to an array specifying the number of elements to read along each dimension. It defines how much data to read starting from read_offset.
@param cube_offset A pointer to an array specifying the offset of the target cube in each dimension. This is used when reading data into a larger array.
@param cube_dimensions A pointer to an array specifying the dimensions of the target cube being written to.It can be the same as read_count but allows writing into larger arrays..
@param io_size_merge The maximum size (in bytes) for merging consecutive IO operations. It helps to optimize read performance by merging small reads.
@param io_size_max The maximum size (in bytes) for a single IO operation before it is split. It defines the threshold for splitting large reads.
@returns Return an om_error_t if the compression or dimension is invalid