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

Go to the source code of this file.

Classes

struct  _exr_context_initializer_v3
 Struct used to pass function pointers into the context initialization routines. More...
 

Macros

#define EXR_CONTEXT_FLAG_STRICT_HEADER   (1 << 0)
 context flag which will enforce strict header validation checks and may prevent reading of files which could otherwise be processed. More...
 
#define EXR_CONTEXT_FLAG_SILENT_HEADER_PARSE   (1 << 1)
 Disables error messages while parsing headers. More...
 
#define EXR_CONTEXT_FLAG_DISABLE_CHUNK_RECONSTRUCTION   (1 << 2)
 Disables reconstruction logic upon corrupt / missing data chunks. More...
 
#define EXR_CONTEXT_FLAG_WRITE_LEGACY_HEADER   (1 << 3)
 Writes an old-style, sorted header with minimal information. More...
 
#define EXR_DEFAULT_CONTEXT_INITIALIZER   { sizeof (exr_context_initializer_t), 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2, -1.f, 0, { 0, 0, 0, 0 } }
 Simple macro to initialize the context initializer with default values. More...
 

Typedefs

typedef struct
_priv_exr_context_t * 
exr_context_t
 
typedef const struct
_priv_exr_context_t * 
exr_const_context_t
 
typedef exr_result_t(* exr_stream_error_func_ptr_t )(exr_const_context_t ctxt, exr_result_t code, const char *fmt,...) EXR_PRINTF_FUNC_ATTRIBUTE
 Stream error notifier. More...
 
typedef void(* exr_error_handler_cb_t )(exr_const_context_t ctxt, exr_result_t code, const char *msg)
 Error callback function. More...
 
typedef void(* exr_destroy_stream_func_ptr_t )(exr_const_context_t ctxt, void *userdata, int failed)
 
typedef int64_t(* exr_query_size_func_ptr_t )(exr_const_context_t ctxt, void *userdata)
 
typedef int64_t(* exr_read_func_ptr_t )(exr_const_context_t ctxt, void *userdata, void *buffer, uint64_t sz, uint64_t offset, exr_stream_error_func_ptr_t error_cb)
 Read custom function pointer. More...
 
typedef int64_t(* exr_write_func_ptr_t )(exr_const_context_t ctxt, void *userdata, const void *buffer, uint64_t sz, uint64_t offset, exr_stream_error_func_ptr_t error_cb)
 
typedef struct
_exr_context_initializer_v3 
exr_context_initializer_t
 Struct used to pass function pointers into the context initialization routines. More...
 
typedef enum exr_default_write_mode exr_default_write_mode_t
 Enum describing how default files are handled during write. More...
 

Enumerations

enum  exr_default_write_mode { EXR_WRITE_FILE_DIRECTLY, EXR_INTERMEDIATE_TEMP_FILE }
 Enum describing how default files are handled during write. More...
 

Functions

EXR_EXPORT exr_result_t exr_test_file_header (const char *filename, const exr_context_initializer_t *ctxtdata)
 Check the magic number of the file and report EXR_ERR_SUCCESS if the file appears to be a valid file (or at least has the correct magic number and can be read). More...
 
EXR_EXPORT exr_result_t exr_finish (exr_context_t *ctxt)
 Close and free any internally allocated memory, calling any provided destroy function for custom streams. More...
 
EXR_EXPORT exr_result_t exr_start_read (exr_context_t *ctxt, const char *filename, const exr_context_initializer_t *ctxtdata)
 Create and initialize a read-only exr read context. More...
 
EXR_EXPORT exr_result_t exr_start_write (exr_context_t *ctxt, const char *filename, exr_default_write_mode_t default_mode, const exr_context_initializer_t *ctxtdata)
 Create and initialize a write-only context. More...
 
EXR_EXPORT exr_result_t exr_start_inplace_header_update (exr_context_t *ctxt, const char *filename, const exr_context_initializer_t *ctxtdata)
 Create a new context for updating an exr file in place. More...
 
EXR_EXPORT exr_result_t exr_get_file_name (exr_const_context_t ctxt, const char **name)
 Retrieve the file name the context is for as provided during the start routine. More...
 
EXR_EXPORT exr_result_t exr_get_user_data (exr_const_context_t ctxt, void **userdata)
 Query the user data the context was constructed with. This is perhaps useful in the error handler callback to jump back into an object the user controls. More...
 
EXR_EXPORT exr_result_t exr_register_attr_type_handler (exr_context_t ctxt, const char *type, exr_result_t(*unpack_func_ptr)(exr_context_t ctxt, const void *data, int32_tattrsize, int32_t *outsize, void **outbuffer), exr_result_t(*pack_func_ptr)(exr_context_t ctxt, const void *data, int32_tdatasize, int32_t *outsize, void *outbuffer), void(*destroy_unpacked_func_ptr)(exr_context_t ctxt, void *data, int32_t datasize))
 
EXR_EXPORT exr_result_t exr_set_longname_support (exr_context_t ctxt, int onoff)
 Enable long name support in the output context. More...
 
EXR_EXPORT exr_result_t exr_write_header (exr_context_t ctxt)
 Write the header data. More...