6 #ifndef OPENEXR_CORE_ENCODE_H
7 #define OPENEXR_CORE_ENCODE_H
28 #define EXR_ENCODE_DATA_SAMPLE_COUNTS_ARE_INDIVIDUAL ((uint16_t) (1 << 0))
48 #define EXR_ENCODE_NON_IMAGE_DATA_AS_POINTERS ((uint16_t) (1 << 1))
277 #define EXR_ENCODE_PIPELINE_INITIALIZER \
void * packed_sample_count_table
exr_result_t(* yield_until_ready_fn)(struct _exr_encode_pipeline *pipeline)
size_t scratch_alloc_size_1
struct _exr_encode_pipeline exr_encode_pipeline_t
EXR_EXPORT exr_result_t exr_encoding_run(exr_const_context_t ctxt, int part_index, exr_encode_pipeline_t *encode_pipe)
void * encoding_user_data
Struct for negotiating buffers when decoding/encoding chunks of data.
enum exr_transcoding_pipeline_buffer_id exr_transcoding_pipeline_buffer_id_t
size_t sample_count_alloc_size
exr_coding_channel_info_t * channels
exr_result_t(* convert_and_pack_fn)(struct _exr_encode_pipeline *pipeline)
const struct _priv_exr_context_t * exr_const_context_t
exr_result_t(* write_fn)(struct _exr_encode_pipeline *pipeline)
EXR_EXPORT exr_result_t exr_encoding_initialize(exr_const_context_t ctxt, int part_index, const exr_chunk_info_t *cinfo, exr_encode_pipeline_t *encode_pipe)
exr_const_context_t context
size_t packed_sample_count_bytes
exr_result_t(* compress_fn)(struct _exr_encode_pipeline *pipeline)
EXR_EXPORT exr_result_t exr_encoding_update(exr_const_context_t ctxt, int part_index, const exr_chunk_info_t *cinfo, exr_encode_pipeline_t *encode_pipe)
EXR_EXPORT exr_result_t exr_encoding_destroy(exr_const_context_t ctxt, exr_encode_pipeline_t *encode_pipe)
size_t compressed_alloc_size
exr_coding_channel_info_t _quick_chan_store[5]
size_t scratch_alloc_size_2
size_t packed_sample_count_alloc_size
int32_t * sample_count_table
void(* free_fn)(exr_transcoding_pipeline_buffer_id_t, void *)
EXR_EXPORT exr_result_t exr_encoding_choose_default_routines(exr_const_context_t ctxt, int part_index, exr_encode_pipeline_t *encode_pipe)