[][src]Module exr::block

Handle compressed and uncompressed pixel byte blocks. Includes compression and decompression, and some functions that completely read an image into blocks.

Modules

chunk

Read and write already compressed pixel data blocks. Does not include the process of compression and decompression.

lines

Extract lines from a block of pixel bytes.

samples

Extract pixel samples from a block of pixel bytes.

Structs

BlockIndex

Specifies where a block of pixel data should be placed in the actual image. This is a globally unique identifier which includes the layer, level index, and pixel location.

UncompressedBlock

Contains a block of pixel data and where that data should be placed in the actual image.

Functions

for_compressed_blocks_in_image

Compress all chunks in the image described by meta_data and get_line. Calls write_chunk for each compressed chunk, while respecting the line_order of the image.

read_all_blocks_from_buffered

Reads and decompresses all chunks of a file sequentially without seeking. Will not skip any parts of the file. Does not buffer the reader, you should always pass a BufReader.

read_all_compressed_chunks_from_buffered

Read all chunks without seeking. Returns the meta data, number of chunks, and a compressed chunk reader. Does not buffer the reader, you should always pass a BufReader.

read_filtered_blocks_from_buffered

Reads ad decompresses all desired chunks of a file sequentially, possibly seeking. Will skip any parts of the file that do not match the specified filter condition. Will never seek if the filter condition matches all chunks. Does not buffer the reader, you should always pass a BufReader. This may leave you with an uninitialized image, when all blocks are filtered out.

read_filtered_chunks_from_buffered

Read all desired chunks, possibly seeking. Skips all chunks that do not match the filter. Returns the compressed chunks. Does not buffer the reader, you should always pass a BufReader. This may leave you with an uninitialized image, if all chunks are filtered out.

uncompressed_image_blocks_ordered

Iterate over all uncompressed blocks of an image. The image contents are collected by the get_line function parameter. Returns blocks in LineOrder::Increasing, unless the line order is requested to be decreasing.

write_all_blocks_to_buffered

Compresses and writes all lines of an image described by meta_data and get_line to the writer. Flushes the writer to explicitly handle all errors.