HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
openexr_chunkio.h File Reference
#include "openexr_part.h"
#include <stdint.h>
+ Include dependency graph for openexr_chunkio.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  exr_chunk_info_t
 

Functions

EXR_EXPORT exr_result_t exr_get_chunk_table_offset (exr_const_context_t ctxt, int part_index, uint64_t *chunk_offset_out)
 Retrieve the chunk table offset for the part in question. More...
 
EXR_EXPORT exr_result_t exr_chunk_default_initialize (exr_context_t ctxt, int part_index, const exr_attr_box2i_t *box, int levelx, int levely, exr_chunk_info_t *cinfo)
 
EXR_EXPORT exr_result_t exr_read_scanline_chunk_info (exr_const_context_t ctxt, int part_index, int y, exr_chunk_info_t *cinfo)
 
EXR_EXPORT exr_result_t exr_read_tile_chunk_info (exr_const_context_t ctxt, int part_index, int tilex, int tiley, int levelx, int levely, exr_chunk_info_t *cinfo)
 
EXR_EXPORT exr_result_t exr_read_chunk (exr_const_context_t ctxt, int part_index, const exr_chunk_info_t *cinfo, void *packed_data)
 
EXR_EXPORT exr_result_t exr_read_deep_chunk (exr_const_context_t ctxt, int part_index, const exr_chunk_info_t *cinfo, void *packed_data, void *sample_data)
 
EXR_EXPORT exr_result_t exr_write_scanline_chunk_info (exr_context_t ctxt, int part_index, int y, exr_chunk_info_t *cinfo)
 
EXR_EXPORT exr_result_t exr_write_tile_chunk_info (exr_context_t ctxt, int part_index, int tilex, int tiley, int levelx, int levely, exr_chunk_info_t *cinfo)
 
EXR_EXPORT exr_result_t exr_write_scanline_chunk (exr_context_t ctxt, int part_index, int y, const void *packed_data, uint64_t packed_size)
 
EXR_EXPORT exr_result_t exr_write_deep_scanline_chunk (exr_context_t ctxt, int part_index, int y, const void *packed_data, uint64_t packed_size, uint64_t unpacked_size, const void *sample_data, uint64_t sample_data_size)
 
EXR_EXPORT exr_result_t exr_write_tile_chunk (exr_context_t ctxt, int part_index, int tilex, int tiley, int levelx, int levely, const void *packed_data, uint64_t packed_size)
 
EXR_EXPORT exr_result_t exr_write_deep_tile_chunk (exr_context_t ctxt, int part_index, int tilex, int tiley, int levelx, int levely, const void *packed_data, uint64_t packed_size, uint64_t unpacked_size, const void *sample_data, uint64_t sample_data_size)
 

Function Documentation

EXR_EXPORT exr_result_t exr_chunk_default_initialize ( exr_context_t  ctxt,
int  part_index,
const exr_attr_box2i_t box,
int  levelx,
int  levely,
exr_chunk_info_t cinfo 
)

initialize chunk info with the default values from the specified part

The 'x' and 'y' parameters are used to indicate the starting position of the chunk being initialized. This does not perform any I/O to validate and so the values are only indicative. (but can be used to do things like compress / decompress a chunk without having a file to actually read

EXR_EXPORT exr_result_t exr_get_chunk_table_offset ( exr_const_context_t  ctxt,
int  part_index,
uint64_t *  chunk_offset_out 
)

Retrieve the chunk table offset for the part in question.

EXR_EXPORT exr_result_t exr_read_chunk ( exr_const_context_t  ctxt,
int  part_index,
const exr_chunk_info_t cinfo,
void packed_data 
)

Read the packed data block for a chunk.

This assumes that the buffer pointed to by packed_data is large enough to hold the chunk block info packed_size bytes.

EXR_EXPORT exr_result_t exr_read_deep_chunk ( exr_const_context_t  ctxt,
int  part_index,
const exr_chunk_info_t cinfo,
void packed_data,
void sample_data 
)

Read chunk for deep data.

This allows one to read the packed data, the sample count data, or both. exr_read_chunk also works to read deep data packed data, but this is a routine to get the sample count table and the packed data in one go, or if you want to pre-read the sample count data, you can get just that buffer.

EXR_EXPORT exr_result_t exr_read_scanline_chunk_info ( exr_const_context_t  ctxt,
int  part_index,
int  y,
exr_chunk_info_t cinfo 
)
EXR_EXPORT exr_result_t exr_read_tile_chunk_info ( exr_const_context_t  ctxt,
int  part_index,
int  tilex,
int  tiley,
int  levelx,
int  levely,
exr_chunk_info_t cinfo 
)
EXR_EXPORT exr_result_t exr_write_deep_scanline_chunk ( exr_context_t  ctxt,
int  part_index,
int  y,
const void packed_data,
uint64_t  packed_size,
uint64_t  unpacked_size,
const void sample_data,
uint64_t  sample_data_size 
)

y must the appropriate starting y for the specified chunk.

EXR_EXPORT exr_result_t exr_write_deep_tile_chunk ( exr_context_t  ctxt,
int  part_index,
int  tilex,
int  tiley,
int  levelx,
int  levely,
const void packed_data,
uint64_t  packed_size,
uint64_t  unpacked_size,
const void sample_data,
uint64_t  sample_data_size 
)
EXR_EXPORT exr_result_t exr_write_scanline_chunk ( exr_context_t  ctxt,
int  part_index,
int  y,
const void packed_data,
uint64_t  packed_size 
)

y must the appropriate starting y for the specified chunk.

EXR_EXPORT exr_result_t exr_write_scanline_chunk_info ( exr_context_t  ctxt,
int  part_index,
int  y,
exr_chunk_info_t cinfo 
)

Initialize a exr_chunk_info_t structure when encoding scanline data (similar to read but does not do anything with a chunk table).

EXR_EXPORT exr_result_t exr_write_tile_chunk ( exr_context_t  ctxt,
int  part_index,
int  tilex,
int  tiley,
int  levelx,
int  levely,
const void packed_data,
uint64_t  packed_size 
)
EXR_EXPORT exr_result_t exr_write_tile_chunk_info ( exr_context_t  ctxt,
int  part_index,
int  tilex,
int  tiley,
int  levelx,
int  levely,
exr_chunk_info_t cinfo 
)

Initialize a exr_chunk_info_t structure when encoding tiled data (similar to read but does not do anything with a chunk table).