21 #ifndef LIBHEIF_HEIF_H
22 #define LIBHEIF_HEIF_H
31 #include <libheif/heif_version.h>
63 #define LIBHEIF_API DIGIKAM_EXPORT
65 #define heif_fourcc(a,b,c,d) ((a<<24) | (b<<16) | (c<<8) | d)
83 #define LIBHEIF_MAKE_VERSION(h, m, l) ((h) << 24 | (m) << 16 | (l) << 8)
84 #define LIBHEIF_HAVE_VERSION(h, m, l) (LIBHEIF_NUMERIC_VERSION >= LIBHEIF_MAKE_VERSION(h, m, l))
347 struct heif_reading_options;
386 const struct heif_reading_options*);
393 const void* mem,
size_t size,
394 const struct heif_reading_options*);
400 const void* mem,
size_t size,
401 const struct heif_reading_options*);
407 const struct heif_reading_options*);
579 const char* type_filter);
585 const char* type_filter,
737 #define heif_chroma_interleaved_24bit heif_chroma_interleaved_RGB
738 #define heif_chroma_interleaved_32bit heif_chroma_interleaved_RGBA
861 struct heif_scaling_options;
867 int width,
int height,
868 const struct heif_scaling_options* options);
874 const char* profile_type_fourcc_string,
876 const size_t profile_size);
897 const char* filename);
937 const char* name_filter,
1042 int* have_minimum_maximum,
1043 int* minimum,
int* maximum);
1047 const char*
const** out_stringarray);
1052 const char* parameter_name,
1057 const char* parameter_name,
1063 const char* parameter_name,
1064 int* have_minimum_maximum,
1065 int* minimum,
int* maximum);
1069 const char* parameter_name,
1074 const char* parameter_name,
1079 const char* parameter_name,
1084 const char* parameter_name,
1085 char*
value,
int value_size);
1090 const char* parameter_name,
1091 const char*
const** out_stringarray);
1104 const char* parameter_name,
1111 const char* parameter_name,
1112 char* value_ptr,
int value_size);
1117 const char* parameter_name);
1178 const void* data,
int size);
1184 const void* data,
int size);
1193 const void* data,
int size,
1194 const char* item_type,
const char* content_type);
1215 int width,
int height,
int bit_depth);
LIBHEIF_API int heif_context_get_encoder_descriptors(struct heif_context *, enum heif_compression_format format_filter, const char *name_filter, const struct heif_encoder_descriptor **out_encoders, int count)
LIBHEIF_API struct heif_error heif_encoder_set_parameter_string(struct heif_encoder *, const char *parameter_name, const char *value)
LIBHEIF_API int heif_image_handle_get_list_of_depth_image_IDs(const struct heif_image_handle *handle, heif_item_id *ids, int count)
LIBHEIF_API int heif_image_handle_get_ispe_height(const struct heif_image_handle *handle)
LIBHEIF_API void heif_context_set_maximum_image_size_limit(struct heif_context *ctx, int maximum_width)
LIBHEIF_API struct heif_error heif_context_read_from_memory_without_copy(struct heif_context *, const void *mem, size_t size, const struct heif_reading_options *)
LIBHEIF_API struct heif_error heif_image_handle_get_thumbnail(const struct heif_image_handle *main_image_handle, heif_item_id thumbnail_id, struct heif_image_handle **out_thumbnail_handle)
LIBHEIF_API size_t heif_image_handle_get_metadata_size(const struct heif_image_handle *handle, heif_item_id metadata_id)
LIBHEIF_API struct heif_error heif_encoder_parameter_integer_valid_range(struct heif_encoder *, const char *parameter_name, int *have_minimum_maximum, int *minimum, int *maximum)
LIBHEIF_API struct heif_error heif_context_get_primary_image_ID(struct heif_context *ctx, heif_item_id *id)
LIBHEIF_API struct heif_error heif_context_write(struct heif_context *, struct heif_writer *writer, void *userdata)
LIBHEIF_API int heif_context_is_top_level_image_ID(struct heif_context *ctx, heif_item_id id)
LIBHEIF_API struct heif_error heif_context_get_encoder(struct heif_context *context, const struct heif_encoder_descriptor *, struct heif_encoder **out_encoder)
LIBHEIF_API int heif_image_get_bits_per_pixel_range(const struct heif_image *, enum heif_channel channel)
LIBHEIF_API size_t heif_image_handle_get_raw_color_profile_size(const struct heif_image_handle *handle)
LIBHEIF_API struct heif_error heif_context_get_primary_image_handle(struct heif_context *ctx, struct heif_image_handle **)
LIBHEIF_API void heif_decoding_options_free(struct heif_decoding_options *)
heif_channel
Definition: heif.h:748
@ heif_channel_interleaved
Definition: heif.h:756
@ heif_channel_G
Definition: heif.h:753
@ heif_channel_Y
Definition: heif.h:749
@ heif_channel_Cb
Definition: heif.h:750
@ heif_channel_B
Definition: heif.h:754
@ heif_channel_R
Definition: heif.h:752
@ heif_channel_Alpha
Definition: heif.h:755
@ heif_channel_Cr
Definition: heif.h:751
LIBHEIF_API int heif_have_decoder_for_format(enum heif_compression_format format)
LIBHEIF_API uint8_t * heif_image_get_plane(struct heif_image *, enum heif_channel channel, int *out_stride)
heif_colorspace
Definition: heif.h:741
@ heif_colorspace_monochrome
Definition: heif.h:745
@ heif_colorspace_undefined
Definition: heif.h:742
@ heif_colorspace_YCbCr
Definition: heif.h:743
@ heif_colorspace_RGB
Definition: heif.h:744
heif_chroma
Definition: heif.h:722
@ heif_chroma_interleaved_RGB
Definition: heif.h:728
@ heif_chroma_444
Definition: heif.h:727
@ heif_chroma_monochrome
Definition: heif.h:724
@ heif_chroma_interleaved_RGBA
Definition: heif.h:729
@ heif_chroma_interleaved_RRGGBBAA_BE
Definition: heif.h:731
@ heif_chroma_422
Definition: heif.h:726
@ heif_chroma_interleaved_RRGGBB_BE
Definition: heif.h:730
@ heif_chroma_undefined
Definition: heif.h:723
@ heif_chroma_interleaved_RRGGBB_LE
Definition: heif.h:732
@ heif_chroma_interleaved_RRGGBBAA_LE
Definition: heif.h:733
@ heif_chroma_420
Definition: heif.h:725
LIBHEIF_API struct heif_error heif_image_handle_get_depth_image_handle(const struct heif_image_handle *handle, heif_item_id depth_image_id, struct heif_image_handle **out_depth_handle)
heif_brand
Definition: heif.h:294
@ heif_heic
Definition: heif.h:296
@ heif_hevs
Definition: heif.h:302
@ heif_mif1
Definition: heif.h:303
@ heif_heix
Definition: heif.h:297
@ heif_hevc
Definition: heif.h:298
@ heif_hevx
Definition: heif.h:298
@ heif_heis
Definition: heif.h:300
@ heif_msf1
Definition: heif.h:304
@ heif_hevm
Definition: heif.h:301
@ heif_unknown_brand
Definition: heif.h:295
@ heif_heim
Definition: heif.h:299
LIBHEIF_API int heif_image_handle_get_chroma_bits_per_pixel(const struct heif_image_handle *)
LIBHEIF_API struct heif_error heif_image_get_raw_color_profile(const struct heif_image *image, void *out_data)
LIBHEIF_API struct heif_error heif_image_set_nclx_color_profile(struct heif_image *image, const struct heif_color_profile_nclx *color_profile)
LIBHEIF_API struct heif_error heif_encoder_get_parameter_string(struct heif_encoder *, const char *parameter_name, char *value, int value_size)
LIBHEIF_API int heif_image_handle_get_number_of_depth_images(const struct heif_image_handle *handle)
LIBHEIF_API const uint8_t * heif_image_get_plane_readonly(const struct heif_image *, enum heif_channel channel, int *out_stride)
heif_progress_step
Definition: heif.h:760
@ heif_progress_step_total
Definition: heif.h:761
@ heif_progress_step_load_tile
Definition: heif.h:762
LIBHEIF_API struct heif_error heif_image_get_nclx_color_profile(const struct heif_image *image, struct heif_color_profile_nclx **out_data)
LIBHEIF_API int heif_image_handle_get_list_of_thumbnail_IDs(const struct heif_image_handle *handle, heif_item_id *ids, int count)
LIBHEIF_API struct heif_error heif_encoder_get_parameter_integer(struct heif_encoder *, const char *parameter_name, int *value)
LIBHEIF_API struct heif_error heif_context_encode_thumbnail(struct heif_context *, const struct heif_image *image, const struct heif_image_handle *master_image_handle, struct heif_encoder *encoder, const struct heif_encoding_options *options, int bbox_size, struct heif_image_handle **out_thumb_image_handle)
LIBHEIF_API struct heif_error heif_encoder_set_parameter(struct heif_encoder *, const char *parameter_name, const char *value)
LIBHEIF_API int heif_get_version_number_maintenance(void)
LIBHEIF_API struct heif_error heif_context_read_from_reader(struct heif_context *, const struct heif_reader *reader, void *userdata, const struct heif_reading_options *)
LIBHEIF_API void heif_context_free(struct heif_context *)
LIBHEIF_API struct heif_error heif_context_add_generic_metadata(struct heif_context *ctx, const struct heif_image_handle *image_handle, const void *data, int size, const char *item_type, const char *content_type)
LIBHEIF_API int heif_image_handle_get_width(const struct heif_image_handle *handle)
LIBHEIF_API struct heif_error heif_context_add_exif_metadata(struct heif_context *, const struct heif_image_handle *image_handle, const void *data, int size)
LIBHEIF_API void heif_context_debug_dump_boxes_to_file(struct heif_context *ctx, int fd)
LIBHEIF_API struct heif_error heif_context_add_XMP_metadata(struct heif_context *, const struct heif_image_handle *image_handle, const void *data, int size)
LIBHEIF_API enum heif_colorspace heif_image_get_colorspace(const struct heif_image *)
LIBHEIF_API size_t heif_image_get_raw_color_profile_size(const struct heif_image *image)
LIBHEIF_API struct heif_error heif_context_get_image_handle(struct heif_context *ctx, heif_item_id id, struct heif_image_handle **)
heif_suberror_code
Definition: heif.h:124
@ heif_suberror_No_ipma_box
Definition: heif.h:151
@ heif_suberror_Null_pointer_argument
Definition: heif.h:217
@ heif_suberror_Security_limit_exceeded
Definition: heif.h:208
@ heif_suberror_Unsupported_parameter
Definition: heif.h:229
@ heif_suberror_No_properties_assigned_to_item
Definition: heif.h:167
@ heif_suberror_Unspecified
Definition: heif.h:126
@ heif_suberror_No_pitm_box
Definition: heif.h:147
@ heif_suberror_Unsupported_plugin_version
Definition: heif.h:223
@ heif_suberror_Unsupported_color_conversion
Definition: heif.h:246
@ heif_suberror_No_item_data
Definition: heif.h:170
@ heif_suberror_Unknown_color_profile_type
Definition: heif.h:192
@ heif_suberror_No_infe_box
Definition: heif.h:190
@ heif_suberror_No_idat_box
Definition: heif.h:139
@ heif_suberror_Ipma_box_references_nonexisting_property
Definition: heif.h:164
@ heif_suberror_Missing_grid_images
Definition: heif.h:176
@ heif_suberror_Unsupported_bit_depth
Definition: heif.h:253
@ heif_suberror_No_iinf_box
Definition: heif.h:155
@ heif_suberror_Invalid_clean_aperture
Definition: heif.h:178
@ heif_suberror_Overlay_image_outside_of_canvas
Definition: heif.h:184
@ heif_suberror_No_ipco_box
Definition: heif.h:149
@ heif_suberror_Auxiliary_image_type_unspecified
Definition: heif.h:186
@ heif_suberror_No_iref_box
Definition: heif.h:159
@ heif_suberror_No_pict_handler
Definition: heif.h:161
@ heif_suberror_No_or_invalid_primary_item
Definition: heif.h:188
@ heif_suberror_Unsupported_writer_version
Definition: heif.h:226
@ heif_suberror_Nonexisting_item_referenced
Definition: heif.h:214
@ heif_suberror_Invalid_image_size
Definition: heif.h:198
@ heif_suberror_No_iloc_box
Definition: heif.h:153
@ heif_suberror_No_iprp_box
Definition: heif.h:157
@ heif_suberror_End_of_data
Definition: heif.h:131
@ heif_suberror_No_ftyp_box
Definition: heif.h:137
@ heif_suberror_Unsupported_codec
Definition: heif.h:238
@ heif_suberror_Invalid_grid_data
Definition: heif.h:173
@ heif_suberror_Invalid_overlay_data
Definition: heif.h:181
@ heif_suberror_Invalid_box_size
Definition: heif.h:134
@ heif_suberror_Unsupported_item_construction_method
Definition: heif.h:248
@ heif_suberror_No_hdlr_box
Definition: heif.h:143
@ heif_suberror_Nonexisting_image_channel_referenced
Definition: heif.h:220
@ heif_suberror_Wrong_tile_image_chroma_format
Definition: heif.h:194
@ heif_suberror_Unsupported_data_version
Definition: heif.h:243
@ heif_suberror_Invalid_pixi_box
Definition: heif.h:200
@ heif_suberror_Invalid_parameter_value
Definition: heif.h:232
@ heif_suberror_Invalid_fractional_number
Definition: heif.h:196
@ heif_suberror_Unsupported_image_type
Definition: heif.h:241
@ heif_suberror_No_hvcC_box
Definition: heif.h:145
@ heif_suberror_No_meta_box
Definition: heif.h:141
@ heif_suberror_Cannot_write_output_data
Definition: heif.h:258
LIBHEIF_API struct heif_error heif_encoder_set_lossless(struct heif_encoder *, int enable)
LIBHEIF_API struct heif_encoding_options * heif_encoding_options_alloc()
LIBHEIF_API struct heif_error heif_encoder_parameter_string_valid_values(struct heif_encoder *, const char *parameter_name, const char *const **out_stringarray)
LIBHEIF_API int heif_image_handle_get_height(const struct heif_image_handle *handle)
LIBHEIF_API int heif_image_get_bits_per_pixel(const struct heif_image *, enum heif_channel channel)
LIBHEIF_API struct heif_error heif_context_read_from_file(struct heif_context *, const char *filename, const struct heif_reading_options *)
LIBHEIF_API int heif_encoder_descriptor_supportes_lossy_compression(const struct heif_encoder_descriptor *)
LIBHEIF_API struct heif_error heif_image_set_raw_color_profile(struct heif_image *image, const char *profile_type_fourcc_string, const void *profile_data, const size_t profile_size)
LIBHEIF_API enum heif_encoder_parameter_type heif_encoder_parameter_get_type(const struct heif_encoder_parameter *)
heif_error_code
Definition: heif.h:91
@ heif_error_Encoding_error
Definition: heif.h:120
@ heif_error_Invalid_input
Definition: heif.h:99
@ heif_error_Memory_allocation_error
Definition: heif.h:111
@ heif_error_Input_does_not_exist
Definition: heif.h:96
@ heif_error_Decoder_plugin_error
Definition: heif.h:114
@ heif_error_Encoder_plugin_error
Definition: heif.h:117
@ heif_error_Unsupported_filetype
Definition: heif.h:102
@ heif_error_Ok
Definition: heif.h:93
@ heif_error_Unsupported_feature
Definition: heif.h:105
@ heif_error_Usage_error
Definition: heif.h:108
LIBHEIF_API const char * heif_encoder_descriptor_get_name(const struct heif_encoder_descriptor *)
heif_compression_format
Definition: heif.h:715
@ heif_compression_AVC
Definition: heif.h:718
@ heif_compression_undefined
Definition: heif.h:716
@ heif_compression_JPEG
Definition: heif.h:719
@ heif_compression_HEVC
Definition: heif.h:717
LIBHEIF_API int heif_image_get_height(const struct heif_image *, enum heif_channel channel)
LIBHEIF_API struct heif_error heif_encoder_get_parameter(struct heif_encoder *, const char *parameter_name, char *value_ptr, int value_size)
LIBHEIF_API struct heif_error heif_encoder_parameter_get_valid_string_values(const struct heif_encoder_parameter *, const char *const **out_stringarray)
LIBHEIF_API struct heif_error heif_encoder_set_lossy_quality(struct heif_encoder *, int quality)
LIBHEIF_API int heif_image_handle_get_depth_image_representation_info(const struct heif_image_handle *handle, heif_item_id depth_image_id, const struct heif_depth_representation_info **out)
LIBHEIF_API int heif_image_has_channel(const struct heif_image *, enum heif_channel channel)
LIBHEIF_API int heif_have_encoder_for_format(enum heif_compression_format format)
LIBHEIF_API const char * heif_encoder_parameter_get_name(const struct heif_encoder_parameter *)
LIBHEIF_API const char * heif_encoder_get_name(const struct heif_encoder *)
uint32_t heif_item_id
Definition: heif.h:276
LIBHEIF_API struct heif_error heif_context_set_primary_image(struct heif_context *, struct heif_image_handle *image_handle)
LIBHEIF_API enum heif_color_profile_type heif_image_handle_get_color_profile_type(const struct heif_image_handle *handle)
LIBHEIF_API int heif_image_handle_get_ispe_width(const struct heif_image_handle *handle)
LIBHEIF_API const char * heif_get_file_mime_type(const uint8_t *data, int len)
heif_reader_grow_status
Definition: heif.h:349
@ heif_reader_grow_status_timeout
Definition: heif.h:351
@ heif_reader_grow_status_size_beyond_eof
Definition: heif.h:352
@ heif_reader_grow_status_size_reached
Definition: heif.h:350
LIBHEIF_API struct heif_context * heif_context_alloc(void)
LIBHEIF_API int heif_encoder_descriptor_supportes_lossless_compression(const struct heif_encoder_descriptor *)
LIBHEIF_API struct heif_error heif_encoder_get_parameter_boolean(struct heif_encoder *, const char *parameter_name, int *value)
LIBHEIF_API enum heif_filetype_result heif_check_filetype(const uint8_t *data, int len)
LIBHEIF_API void heif_depth_representation_info_free(const struct heif_depth_representation_info *info)
LIBHEIF_API struct heif_error heif_encoder_set_logging_level(struct heif_encoder *, int level)
LIBHEIF_API uint32_t heif_get_version_number(void)
LIBHEIF_API int heif_image_handle_has_depth_image(const struct heif_image_handle *)
LIBHEIF_API int heif_get_version_number_minor(void)
LIBHEIF_API int heif_context_get_list_of_top_level_image_IDs(struct heif_context *ctx, heif_item_id *ID_array, int count)
LIBHEIF_API const char * heif_encoder_descriptor_get_id_name(const struct heif_encoder_descriptor *)
LIBHEIF_API struct heif_error heif_image_scale_image(const struct heif_image *input, struct heif_image **output, int width, int height, const struct heif_scaling_options *options)
LIBHEIF_API int heif_image_handle_has_alpha_channel(const struct heif_image_handle *)
LIBHEIF_API struct heif_error heif_image_create(int width, int height, enum heif_colorspace colorspace, enum heif_chroma chroma, struct heif_image **out_image)
LIBHEIF_API int heif_image_handle_get_list_of_metadata_block_IDs(const struct heif_image_handle *handle, const char *type_filter, heif_item_id *ids, int count)
LIBHEIF_API int heif_context_get_number_of_top_level_images(struct heif_context *ctx)
LIBHEIF_API struct heif_error heif_encoder_set_parameter_integer(struct heif_encoder *, const char *parameter_name, int value)
LIBHEIF_API struct heif_error heif_register_encoder_plugin(const struct heif_encoder_plugin *)
LIBHEIF_API void heif_encoder_release(struct heif_encoder *)
LIBHEIF_API const char * heif_get_version(void)
LIBHEIF_API int heif_image_handle_get_number_of_metadata_blocks(const struct heif_image_handle *handle, const char *type_filter)
LIBHEIF_API struct heif_error heif_encoder_parameter_get_valid_integer_range(const struct heif_encoder_parameter *, int *have_minimum_maximum, int *minimum, int *maximum)
LIBHEIF_API const char * heif_image_handle_get_metadata_type(const struct heif_image_handle *handle, heif_item_id metadata_id)
LIBHEIF_API struct heif_error heif_context_get_encoder_for_format(struct heif_context *context, enum heif_compression_format format, struct heif_encoder **)
LIBHEIF_API struct heif_error heif_encoder_set_parameter_boolean(struct heif_encoder *, const char *parameter_name, int value)
LIBHEIF_API struct heif_error heif_image_handle_get_raw_color_profile(const struct heif_image_handle *handle, void *out_data)
LIBHEIF_API const struct heif_encoder_parameter *const * heif_encoder_list_parameters(struct heif_encoder *)
LIBHEIF_API struct heif_error heif_image_handle_get_nclx_color_profile(const struct heif_image_handle *handle, struct heif_color_profile_nclx **out_data)
#define LIBHEIF_API
Definition: heif.h:63
#define heif_fourcc(a, b, c, d)
Definition: heif.h:65
LIBHEIF_API struct heif_error heif_register_decoder_plugin(const struct heif_decoder_plugin *)
LIBHEIF_API int heif_image_handle_is_primary_image(const struct heif_image_handle *handle)
LIBHEIF_API enum heif_chroma heif_image_get_chroma_format(const struct heif_image *)
LIBHEIF_API struct heif_error heif_image_handle_get_metadata(const struct heif_image_handle *handle, heif_item_id metadata_id, void *out_data)
LIBHEIF_API void heif_encoding_options_free(struct heif_encoding_options *)
LIBHEIF_API void heif_image_release(const struct heif_image *)
LIBHEIF_API struct heif_error heif_context_encode_image(struct heif_context *, const struct heif_image *image, struct heif_encoder *encoder, const struct heif_encoding_options *options, struct heif_image_handle **out_image_handle)
LIBHEIF_API struct heif_error heif_context_write_to_file(struct heif_context *, const char *filename)
heif_filetype_result
Definition: heif.h:282
@ heif_filetype_maybe
Definition: heif.h:286
@ heif_filetype_yes_unsupported
Definition: heif.h:285
@ heif_filetype_yes_supported
Definition: heif.h:284
@ heif_filetype_no
Definition: heif.h:283
LIBHEIF_API enum heif_compression_format heif_encoder_descriptor_get_compression_format(const struct heif_encoder_descriptor *)
heif_depth_representation_type
Definition: heif.h:513
@ heif_depth_representation_type_nonuniform_disparity
Definition: heif.h:517
@ heif_depth_representation_type_uniform_inverse_Z
Definition: heif.h:514
@ heif_depth_representation_type_uniform_disparity
Definition: heif.h:515
@ heif_depth_representation_type_uniform_Z
Definition: heif.h:516
LIBHEIF_API struct heif_decoding_options * heif_decoding_options_alloc()
LIBHEIF_API enum heif_color_profile_type heif_image_get_color_profile_type(const struct heif_image *image)
LIBHEIF_API int heif_encoder_has_default(struct heif_encoder *, const char *parameter_name)
heif_color_profile_type
Definition: heif.h:614
@ heif_color_profile_type_rICC
Definition: heif.h:617
@ heif_color_profile_type_prof
Definition: heif.h:618
@ heif_color_profile_type_nclx
Definition: heif.h:616
@ heif_color_profile_type_not_present
Definition: heif.h:615
LIBHEIF_API int heif_image_handle_get_luma_bits_per_pixel(const struct heif_image_handle *)
LIBHEIF_API int heif_image_get_width(const struct heif_image *, enum heif_channel channel)
LIBHEIF_API int heif_image_handle_get_number_of_thumbnails(const struct heif_image_handle *handle)
heif_transfer_characteristics
Definition: heif.h:643
@ heif_transfer_characteristic_linear
Definition: heif.h:650
@ heif_transfer_characteristic_unspecified
Definition: heif.h:645
@ heif_transfer_characteristic_ITU_R_BT_470_6_System_B_G
Definition: heif.h:647
@ heif_transfer_characteristic_ITU_R_BT_709_5
Definition: heif.h:644
@ heif_transfer_characteristic_ITU_R_BT_1361
Definition: heif.h:652
@ heif_transfer_characteristic_IEC_61966_2_1
Definition: heif.h:653
@ heif_transfer_characteristic_SMPTE_240M
Definition: heif.h:649
@ heif_transfer_characteristic_ITU_R_BT_601_6
Definition: heif.h:648
@ heif_transfer_characteristic_IEC_61966_2_4
Definition: heif.h:651
@ heif_transfer_characteristic_ITU_R_BT_470_6_System_M
Definition: heif.h:646
LIBHEIF_API struct heif_error heif_context_assign_thumbnail(struct heif_context *, const struct heif_image_handle *master_image, const struct heif_image_handle *thumbnail_image)
LIBHEIF_API struct heif_error heif_register_decoder(struct heif_context *heif, const struct heif_decoder_plugin *)
LIBHEIF_API int heif_get_version_number_major(void)
LIBHEIF_API void heif_image_handle_release(const struct heif_image_handle *)
LIBHEIF_API enum heif_brand heif_main_brand(const uint8_t *data, int len)
LIBHEIF_API const char * heif_image_handle_get_metadata_content_type(const struct heif_image_handle *handle, heif_item_id metadata_id)
LIBHEIF_API struct heif_error heif_context_read_from_memory(struct heif_context *, const void *mem, size_t size, const struct heif_reading_options *)
heif_encoder_parameter_type
Definition: heif.h:1030
@ heif_encoder_parameter_type_boolean
Definition: heif.h:1032
@ heif_encoder_parameter_type_integer
Definition: heif.h:1031
@ heif_encoder_parameter_type_string
Definition: heif.h:1033
heif_matrix_coefficients
Definition: heif.h:656
@ heif_matrix_coefficients_ITU_R_BT_601_6
Definition: heif.h:662
@ heif_matrix_coefficients_US_FCC_T47
Definition: heif.h:660
@ heif_matrix_coefficients_RGB_GBR
Definition: heif.h:657
@ heif_matrix_coefficients_ITU_R_BT_470_6_System_B_G
Definition: heif.h:661
@ heif_matrix_coefficients_unspecified
Definition: heif.h:659
@ heif_matrix_coefficients_YCgCo
Definition: heif.h:664
@ heif_matrix_coefficients_SMPTE_240M
Definition: heif.h:663
@ heif_matrix_coefficients_ITU_R_BT_709_5
Definition: heif.h:658
LIBHEIF_API struct heif_error heif_image_add_plane(struct heif_image *image, enum heif_channel channel, int width, int height, int bit_depth)
LIBHEIF_API struct heif_error heif_decode_image(const struct heif_image_handle *in_handle, struct heif_image **out_img, enum heif_colorspace colorspace, enum heif_chroma chroma, const struct heif_decoding_options *options)
heif_color_primaries
Definition: heif.h:634
@ heif_color_primaries_ITU_R_BT_709_5
Definition: heif.h:635
@ heif_color_primaries_ITU_R_BT_601_6
Definition: heif.h:639
@ heif_color_primaries_ITU_R_BT_470_6_System_M
Definition: heif.h:637
@ heif_color_primaries_unspecified
Definition: heif.h:636
@ heif_color_primaries_SMPTE_240M
Definition: heif.h:640
@ heif_color_primaries_ITU_R_BT_470_6_System_B_G
Definition: heif.h:638
qulonglong value
Definition: itemviewutilities.cpp:592
Definition: bitstream.h:41
enum heif_transfer_characteristics transfer_characteristics
Definition: heif.h:673
float color_primary_green_x
Definition: heif.h:680
enum heif_matrix_coefficients matrix_coefficients
Definition: heif.h:674
float color_primary_blue_x
Definition: heif.h:681
float color_primary_white_y
Definition: heif.h:682
float color_primary_red_x
Definition: heif.h:679
float color_primary_red_y
Definition: heif.h:679
float color_primary_white_x
Definition: heif.h:682
enum heif_color_primaries color_primaries
Definition: heif.h:672
float color_primary_green_y
Definition: heif.h:680
uint8_t version
Definition: heif.h:670
float color_primary_blue_y
Definition: heif.h:681
uint8_t full_range_flag
Definition: heif.h:675
Definition: heif_api_structs.h:45
Definition: heif_plugin.h:51
void(* start_progress)(enum heif_progress_step step, int max_progress, void *progress_user_data)
Definition: heif.h:776
void(* on_progress)(enum heif_progress_step step, int progress, void *progress_user_data)
Definition: heif.h:777
uint8_t ignore_transformations
Definition: heif.h:774
void * progress_user_data
Definition: heif.h:779
uint8_t version
Definition: heif.h:768
void(* end_progress)(enum heif_progress_step step, void *progress_user_data)
Definition: heif.h:778
uint8_t * depth_nonlinear_representation_model
Definition: heif.h:539
double z_near
Definition: heif.h:530
double d_min
Definition: heif.h:532
double d_max
Definition: heif.h:533
enum heif_depth_representation_type depth_representation_type
Definition: heif.h:535
uint8_t has_z_far
Definition: heif.h:526
uint32_t disparity_reference_view
Definition: heif.h:536
double z_far
Definition: heif.h:531
uint32_t depth_nonlinear_representation_model_size
Definition: heif.h:538
uint8_t has_z_near
Definition: heif.h:525
uint8_t has_d_min
Definition: heif.h:527
uint8_t version
Definition: heif.h:521
uint8_t has_d_max
Definition: heif.h:528
Definition: heif_plugin_registry.h:37
Definition: heif_plugin.h:208
Definition: heif_plugin.h:120
Definition: heif_api_structs.h:51
void * encoder
Definition: heif_api_structs.h:62
uint8_t save_alpha_channel
Definition: heif.h:1126
uint8_t version
Definition: heif.h:1122
const char * message
Definition: heif.h:272
enum heif_suberror_code subcode
Definition: heif.h:269
enum heif_error_code code
Definition: heif.h:266
Definition: heif_api_structs.h:30
Definition: heif_api_structs.h:39
std::shared_ptr< heif::HeifPixelImage > image
Definition: heif_api_structs.h:40
int reader_api_version
Definition: heif.h:357
enum heif_reader_grow_status(* wait_for_file_size)(int64_t target_size, void *userdata)
Definition: heif.h:378
int64_t(* get_position)(void *userdata)
Definition: heif.h:360
int(* read)(void *data, size_t size, void *userdata)
Definition: heif.h:364
int(* seek)(int64_t position, void *userdata)
Definition: heif.h:367
struct heif_error(* write)(struct heif_context *ctx, const void *data, size_t size, void *userdata)
Definition: heif.h:904
int writer_api_version
Definition: heif.h:901