libheif

package
v1.9.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 13, 2026 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Libheif_context_add_compatible_brand

func Libheif_context_add_compatible_brand(ctx *Context, brand Brand2)

func Libheif_context_free

func Libheif_context_free(ctx *Context)

func Libheif_context_get_max_decoding_threads

func Libheif_context_get_max_decoding_threads(ctx *Context) int

func Libheif_context_get_number_of_top_level_images

func Libheif_context_get_number_of_top_level_images(ctx *Context) int

func Libheif_context_is_top_level_image_ID

func Libheif_context_is_top_level_image_ID(ctx *Context, id ItemID) bool

func Libheif_context_read_from_file

func Libheif_context_read_from_file(ctx *Context, filename string) error

func Libheif_context_read_from_memory

func Libheif_context_read_from_memory(ctx *Context, data []byte) error

func Libheif_context_read_from_memory_without_copy

func Libheif_context_read_from_memory_without_copy(ctx *Context, data []byte) error

func Libheif_context_set_major_brand

func Libheif_context_set_major_brand(ctx *Context, brand Brand2)

func Libheif_context_set_max_decoding_threads

func Libheif_context_set_max_decoding_threads(ctx *Context, maxThreads int)

func Libheif_context_set_primary_image

func Libheif_context_set_primary_image(ctx *Context, handle *ImageHandle) error

func Libheif_context_set_write_mini_format

func Libheif_context_set_write_mini_format(ctx *Context, enable bool)

func Libheif_context_write

func Libheif_context_write(ctx *Context, writer WriterFunc) error

func Libheif_context_write_to_file

func Libheif_context_write_to_file(ctx *Context, filename string) error

func Libheif_context_write_to_writer

func Libheif_context_write_to_writer(ctx *Context, writer WriterFunc) error

func Libheif_decoding_options_copy

func Libheif_decoding_options_copy(dst, src *DecodingOptions)

func Libheif_decoding_options_free

func Libheif_decoding_options_free(opts *DecodingOptions)

func Libheif_deinit

func Libheif_deinit()

func Libheif_encoder_descriptor_get_id_name

func Libheif_encoder_descriptor_get_id_name(descriptor *EncoderDescriptor) string

func Libheif_encoder_descriptor_get_name

func Libheif_encoder_descriptor_get_name(descriptor *EncoderDescriptor) string

func Libheif_encoder_descriptor_supports_lossless_compression

func Libheif_encoder_descriptor_supports_lossless_compression(descriptor *EncoderDescriptor) bool

func Libheif_encoder_descriptor_supports_lossy_compression

func Libheif_encoder_descriptor_supports_lossy_compression(descriptor *EncoderDescriptor) bool

func Libheif_encoder_get_name

func Libheif_encoder_get_name(encoder *Encoder) string

func Libheif_encoder_get_parameter

func Libheif_encoder_get_parameter(encoder *Encoder, parameterName string, valueSize int) (string, error)

func Libheif_encoder_get_parameter_boolean

func Libheif_encoder_get_parameter_boolean(encoder *Encoder, parameterName string) (bool, error)

func Libheif_encoder_get_parameter_integer

func Libheif_encoder_get_parameter_integer(encoder *Encoder, parameterName string) (int, error)

func Libheif_encoder_get_parameter_string

func Libheif_encoder_get_parameter_string(encoder *Encoder, parameterName string, valueSize int) (string, error)

func Libheif_encoder_has_default

func Libheif_encoder_has_default(encoder *Encoder, parameterName string) bool

func Libheif_encoder_parameter_get_name

func Libheif_encoder_parameter_get_name(parameter *EncoderParameter) string

func Libheif_encoder_parameter_get_valid_integer_range

func Libheif_encoder_parameter_get_valid_integer_range(parameter *EncoderParameter) (haveMinimum, haveMaximum bool, minimum, maximum int, err error)

func Libheif_encoder_parameter_get_valid_integer_values

func Libheif_encoder_parameter_get_valid_integer_values(parameter *EncoderParameter) (haveMinimum, haveMaximum bool, minimum, maximum int, values []int, err error)

func Libheif_encoder_parameter_get_valid_string_values

func Libheif_encoder_parameter_get_valid_string_values(parameter *EncoderParameter) ([]string, error)

func Libheif_encoder_release

func Libheif_encoder_release(encoder *Encoder)

func Libheif_encoder_set_lossless

func Libheif_encoder_set_lossless(encoder *Encoder, enable bool) error

func Libheif_encoder_set_lossy_quality

func Libheif_encoder_set_lossy_quality(encoder *Encoder, quality int) error

func Libheif_encoder_set_parameter

func Libheif_encoder_set_parameter(encoder *Encoder, parameterName, value string) error

func Libheif_encoder_set_parameter_boolean

func Libheif_encoder_set_parameter_boolean(encoder *Encoder, parameterName string, value bool) error

func Libheif_encoder_set_parameter_integer

func Libheif_encoder_set_parameter_integer(encoder *Encoder, parameterName string, value int) error

func Libheif_encoder_set_parameter_string

func Libheif_encoder_set_parameter_string(encoder *Encoder, parameterName, value string) error

func Libheif_encoding_options_copy

func Libheif_encoding_options_copy(dst, src *EncodingOptions)

func Libheif_encoding_options_free

func Libheif_encoding_options_free(opts *EncodingOptions)

func Libheif_get_encoder_descriptors_count

func Libheif_get_encoder_descriptors_count(format CompressionFormat, nameFilter string) int

func Libheif_get_plugin_directory

func Libheif_get_plugin_directory() string

func Libheif_get_version

func Libheif_get_version() string

func Libheif_get_version_number

func Libheif_get_version_number() uint32

func Libheif_get_version_number_maintenance

func Libheif_get_version_number_maintenance() int

func Libheif_get_version_number_major

func Libheif_get_version_number_major() int

func Libheif_get_version_number_minor

func Libheif_get_version_number_minor() int

func Libheif_have_decoder_for_format

func Libheif_have_decoder_for_format(format CompressionFormat) bool

func Libheif_have_encoder_for_format

func Libheif_have_encoder_for_format(format CompressionFormat) bool

func Libheif_image_add_plane

func Libheif_image_add_plane(img *Image, channel HeifChannel, width, height, bitDepth int) error

func Libheif_image_get_bits_per_pixel_range

func Libheif_image_get_bits_per_pixel_range(img *Image, channel HeifChannel) int

func Libheif_image_get_height

func Libheif_image_get_height(img *Image, channel HeifChannel) int

func Libheif_image_get_pixel_aspect_ratio

func Libheif_image_get_pixel_aspect_ratio(img *Image) (aspectH, aspectV uint32)

func Libheif_image_get_plane

func Libheif_image_get_plane(img *Image, channel HeifChannel) ([]byte, int)

func Libheif_image_get_plane_readonly

func Libheif_image_get_plane_readonly(img *Image, channel HeifChannel) ([]byte, int)

func Libheif_image_get_primary_height

func Libheif_image_get_primary_height(img *Image) int

func Libheif_image_get_primary_width

func Libheif_image_get_primary_width(img *Image) int

func Libheif_image_get_width

func Libheif_image_get_width(img *Image, channel HeifChannel) int

func Libheif_image_handle_get_chroma_bits_per_pixel

func Libheif_image_handle_get_chroma_bits_per_pixel(handle *ImageHandle) int

func Libheif_image_handle_get_height

func Libheif_image_handle_get_height(handle *ImageHandle) int

func Libheif_image_handle_get_luma_bits_per_pixel

func Libheif_image_handle_get_luma_bits_per_pixel(handle *ImageHandle) int

func Libheif_image_handle_get_metadata

func Libheif_image_handle_get_metadata(handle *ImageHandle, metadataID ItemID) ([]byte, error)

func Libheif_image_handle_get_metadata_content_type

func Libheif_image_handle_get_metadata_content_type(handle *ImageHandle, metadataID ItemID) string

func Libheif_image_handle_get_metadata_size

func Libheif_image_handle_get_metadata_size(handle *ImageHandle, metadataID ItemID) int

func Libheif_image_handle_get_metadata_type

func Libheif_image_handle_get_metadata_type(handle *ImageHandle, metadataID ItemID) string

func Libheif_image_handle_get_number_of_metadata_blocks

func Libheif_image_handle_get_number_of_metadata_blocks(handle *ImageHandle, typeFilter string) int

func Libheif_image_handle_get_number_of_thumbnails

func Libheif_image_handle_get_number_of_thumbnails(handle *ImageHandle) int

func Libheif_image_handle_get_width

func Libheif_image_handle_get_width(handle *ImageHandle) int

func Libheif_image_handle_has_alpha_channel

func Libheif_image_handle_has_alpha_channel(handle *ImageHandle) bool

func Libheif_image_handle_is_premultiplied_alpha

func Libheif_image_handle_is_premultiplied_alpha(handle *ImageHandle) bool

func Libheif_image_handle_is_primary_image

func Libheif_image_handle_is_primary_image(handle *ImageHandle) bool

func Libheif_image_handle_release

func Libheif_image_handle_release(handle *ImageHandle)

func Libheif_image_has_channel

func Libheif_image_has_channel(img *Image, channel HeifChannel) bool

func Libheif_image_release

func Libheif_image_release(img *Image)

func Libheif_image_set_pixel_aspect_ratio

func Libheif_image_set_pixel_aspect_ratio(img *Image, aspectH, aspectV uint32)

func Libheif_init

func Libheif_init() error

func Libheif_writer_write_all

func Libheif_writer_write_all(w WriterFunc, data []byte) error

Types

type Brand2

type Brand2 C.heif_brand2
const (
	HEIF_BRAND2_HEIC Brand2 = C.heif_brand2_heic
	HEIF_BRAND2_HEIX Brand2 = C.heif_brand2_heix
	HEIF_BRAND2_HEVC Brand2 = C.heif_brand2_hevc
	HEIF_BRAND2_HEVX Brand2 = C.heif_brand2_hevx
	HEIF_BRAND2_AVIF Brand2 = C.heif_brand2_avif
	HEIF_BRAND2_AVIS Brand2 = C.heif_brand2_avis
	HEIF_BRAND2_MIF1 Brand2 = C.heif_brand2_mif1
	HEIF_BRAND2_MIF2 Brand2 = C.heif_brand2_mif2
	HEIF_BRAND2_MIF3 Brand2 = C.heif_brand2_mif3
	HEIF_BRAND2_MSF1 Brand2 = C.heif_brand2_msf1
	HEIF_BRAND2_VVIC Brand2 = C.heif_brand2_vvic
	HEIF_BRAND2_VVIS Brand2 = C.heif_brand2_vvis
	HEIF_BRAND2_JPEG Brand2 = C.heif_brand2_jpeg
	HEIF_BRAND2_JPGS Brand2 = C.heif_brand2_jpgs
	HEIF_BRAND2_J2KI Brand2 = C.heif_brand2_j2ki
	HEIF_BRAND2_J2IS Brand2 = C.heif_brand2_j2is
	HEIF_BRAND2_MIAF Brand2 = C.heif_brand2_miaf
	HEIF_BRAND2_1PIC Brand2 = C.heif_brand2_1pic
	HEIF_BRAND2_AVCI Brand2 = C.heif_brand2_avci
	HEIF_BRAND2_AVCS Brand2 = C.heif_brand2_avcs
	HEIF_BRAND2_UNIF Brand2 = C.heif_brand2_unif
	HEIF_BRAND2_ISO8 Brand2 = C.heif_brand2_iso8
	HEIF_BRAND2_ISOM Brand2 = C.heif_brand2_isom
	HEIF_BRAND2_MP41 Brand2 = C.heif_brand2_mp41
	HEIF_BRAND2_MP42 Brand2 = C.heif_brand2_mp42
)

type CompressionFormat

type CompressionFormat C.heif_compression_format
const (
	HEIF_COMPRESSION_UNDEFINED    CompressionFormat = C.heif_compression_undefined
	HEIF_COMPRESSION_HEVC         CompressionFormat = C.heif_compression_HEVC
	HEIF_COMPRESSION_AVC          CompressionFormat = C.heif_compression_AVC
	HEIF_COMPRESSION_JPEG         CompressionFormat = C.heif_compression_JPEG
	HEIF_COMPRESSION_AV1          CompressionFormat = C.heif_compression_AV1
	HEIF_COMPRESSION_VVC          CompressionFormat = C.heif_compression_VVC
	HEIF_COMPRESSION_EVC          CompressionFormat = C.heif_compression_EVC
	HEIF_COMPRESSION_JPEG2000     CompressionFormat = C.heif_compression_JPEG2000
	HEIF_COMPRESSION_UNCOMPRESSED CompressionFormat = C.heif_compression_uncompressed
	HEIF_COMPRESSION_MASK         CompressionFormat = C.heif_compression_mask
	HEIF_COMPRESSION_HTJ2K        CompressionFormat = C.heif_compression_HTJ2K
)

func Libheif_encoder_descriptor_get_compression_format

func Libheif_encoder_descriptor_get_compression_format(descriptor *EncoderDescriptor) CompressionFormat

type Context

type Context C.heif_context

func Libheif_context_alloc

func Libheif_context_alloc() *Context

type DecodingOptions

type DecodingOptions C.heif_decoding_options

func Libheif_decoding_options_alloc

func Libheif_decoding_options_alloc() *DecodingOptions

type Encoder

type Encoder C.heif_encoder

func Libheif_context_get_encoder

func Libheif_context_get_encoder(ctx *Context, descriptor *EncoderDescriptor) (*Encoder, error)

func Libheif_context_get_encoder_for_format

func Libheif_context_get_encoder_for_format(ctx *Context, format CompressionFormat) (*Encoder, error)

type EncoderDescriptor

type EncoderDescriptor C.heif_encoder_descriptor

func Libheif_get_encoder_descriptors

func Libheif_get_encoder_descriptors(format CompressionFormat, nameFilter string, count int) []*EncoderDescriptor

type EncoderParameter

type EncoderParameter C.heif_encoder_parameter

func Libheif_encoder_list_parameters

func Libheif_encoder_list_parameters(encoder *Encoder) []*EncoderParameter

type EncoderParameterType

type EncoderParameterType C.heif_encoder_parameter_type
const (
	HEIF_ENCODER_PARAMETER_INTEGER EncoderParameterType = C.heif_encoder_parameter_type_integer
	HEIF_ENCODER_PARAMETER_BOOLEAN EncoderParameterType = C.heif_encoder_parameter_type_boolean
	HEIF_ENCODER_PARAMETER_STRING  EncoderParameterType = C.heif_encoder_parameter_type_string
)

func Libheif_encoder_parameter_get_type

func Libheif_encoder_parameter_get_type(parameter *EncoderParameter) EncoderParameterType

type EncodingOptions

type EncodingOptions C.heif_encoding_options

func Libheif_encoding_options_alloc

func Libheif_encoding_options_alloc() *EncodingOptions

type HeifChannel

type HeifChannel C.heif_channel
const (
	HEIF_CHANNEL_Y           HeifChannel = C.heif_channel_Y
	HEIF_CHANNEL_CB          HeifChannel = C.heif_channel_Cb
	HEIF_CHANNEL_CR          HeifChannel = C.heif_channel_Cr
	HEIF_CHANNEL_R           HeifChannel = C.heif_channel_R
	HEIF_CHANNEL_G           HeifChannel = C.heif_channel_G
	HEIF_CHANNEL_B           HeifChannel = C.heif_channel_B
	HEIF_CHANNEL_ALPHA       HeifChannel = C.heif_channel_Alpha
	HEIF_CHANNEL_INTERLEAVED HeifChannel = C.heif_channel_interleaved
)

type HeifChroma

type HeifChroma C.heif_chroma
const (
	HEIF_CHROMA_UNDEFINED               HeifChroma = C.heif_chroma_undefined
	HEIF_CHROMA_PLANAR                  HeifChroma = C.heif_chroma_planar
	HEIF_CHROMA_420                     HeifChroma = C.heif_chroma_420
	HEIF_CHROMA_422                     HeifChroma = C.heif_chroma_422
	HEIF_CHROMA_444                     HeifChroma = C.heif_chroma_444
	HEIF_CHROMA_INTERLEAVED_RGB         HeifChroma = C.heif_chroma_interleaved_RGB
	HEIF_CHROMA_INTERLEAVED_RGBA        HeifChroma = C.heif_chroma_interleaved_RGBA
	HEIF_CHROMA_INTERLEAVED_RRGGBB_BE   HeifChroma = C.heif_chroma_interleaved_RRGGBB_BE
	HEIF_CHROMA_INTERLEAVED_RRGGBBAA_BE HeifChroma = C.heif_chroma_interleaved_RRGGBBAA_BE
	HEIF_CHROMA_INTERLEAVED_RRGGBB_LE   HeifChroma = C.heif_chroma_interleaved_RRGGBB_LE
	HEIF_CHROMA_INTERLEAVED_RRGGBBAA_LE HeifChroma = C.heif_chroma_interleaved_RRGGBBAA_LE
)

func Libheif_image_get_chroma_format

func Libheif_image_get_chroma_format(img *Image) HeifChroma

type HeifColorspace

type HeifColorspace C.heif_colorspace
const (
	HEIF_COLORSPACE_UNDEFINED  HeifColorspace = C.heif_colorspace_undefined
	HEIF_COLORSPACE_YCBCR      HeifColorspace = C.heif_colorspace_YCbCr
	HEIF_COLORSPACE_RGB        HeifColorspace = C.heif_colorspace_RGB
	HEIF_COLORSPACE_MONOCHROME HeifColorspace = C.heif_colorspace_monochrome
	HEIF_COLORSPACE_CUSTOM     HeifColorspace = C.heif_colorspace_custom
)

func Libheif_image_get_colorspace

func Libheif_image_get_colorspace(img *Image) HeifColorspace

type HeifError

type HeifError struct {
	Code    HeifErrorCode
	Subcode HeifSuberrorCode
	Message string
}

func Libheif_image_get_decoding_warnings

func Libheif_image_get_decoding_warnings(img *Image, firstWarningIdx, maxOutputBufferEntries int) ([]HeifError, int)

func (HeifError) Error

func (e HeifError) Error() string

type HeifErrorCode

type HeifErrorCode int
const (
	HEIF_ERROR_OK                           HeifErrorCode = C.heif_error_Ok
	HEIF_ERROR_INPUT_DOES_NOT_EXIST         HeifErrorCode = C.heif_error_Input_does_not_exist
	HEIF_ERROR_INVALID_INPUT                HeifErrorCode = C.heif_error_Invalid_input
	HEIF_ERROR_UNSUPPORTED_FILETYPE         HeifErrorCode = C.heif_error_Unsupported_filetype
	HEIF_ERROR_UNSUPPORTED_FEATURE          HeifErrorCode = C.heif_error_Unsupported_feature
	HEIF_ERROR_USAGE_ERROR                  HeifErrorCode = C.heif_error_Usage_error
	HEIF_ERROR_MEMORY_ALLOCATION_ERROR      HeifErrorCode = C.heif_error_Memory_allocation_error
	HEIF_ERROR_DECODER_PLUGIN_ERROR         HeifErrorCode = C.heif_error_Decoder_plugin_error
	HEIF_ERROR_ENCODER_PLUGIN_ERROR         HeifErrorCode = C.heif_error_Encoder_plugin_error
	HEIF_ERROR_ENCODING_ERROR               HeifErrorCode = C.heif_error_Encoding_error
	HEIF_ERROR_COLOR_PROFILE_DOES_NOT_EXIST HeifErrorCode = C.heif_error_Color_profile_does_not_exist
	HEIF_ERROR_PLUGIN_LOADING_ERROR         HeifErrorCode = C.heif_error_Plugin_loading_error
	HEIF_ERROR_CANCELED                     HeifErrorCode = C.heif_error_Canceled
	HEIF_ERROR_END_OF_SEQUENCE              HeifErrorCode = C.heif_error_End_of_sequence
)

type HeifSuberrorCode

type HeifSuberrorCode int
const (
	HEIF_SUBERROR_UNSPECIFIED                              HeifSuberrorCode = C.heif_suberror_Unspecified
	HEIF_SUBERROR_END_OF_DATA                              HeifSuberrorCode = C.heif_suberror_End_of_data
	HEIF_SUBERROR_INVALID_BOX_SIZE                         HeifSuberrorCode = C.heif_suberror_Invalid_box_size
	HEIF_SUBERROR_NO_FTYP_BOX                              HeifSuberrorCode = C.heif_suberror_No_ftyp_box
	HEIF_SUBERROR_NO_IDAT_BOX                              HeifSuberrorCode = C.heif_suberror_No_idat_box
	HEIF_SUBERROR_NO_META_BOX                              HeifSuberrorCode = C.heif_suberror_No_meta_box
	HEIF_SUBERROR_NO_HDLR_BOX                              HeifSuberrorCode = C.heif_suberror_No_hdlr_box
	HEIF_SUBERROR_NO_HVCC_BOX                              HeifSuberrorCode = C.heif_suberror_No_hvcC_box
	HEIF_SUBERROR_NO_PITM_BOX                              HeifSuberrorCode = C.heif_suberror_No_pitm_box
	HEIF_SUBERROR_NO_IPCO_BOX                              HeifSuberrorCode = C.heif_suberror_No_ipco_box
	HEIF_SUBERROR_NO_IPMA_BOX                              HeifSuberrorCode = C.heif_suberror_No_ipma_box
	HEIF_SUBERROR_NO_ILOC_BOX                              HeifSuberrorCode = C.heif_suberror_No_iloc_box
	HEIF_SUBERROR_NO_IINF_BOX                              HeifSuberrorCode = C.heif_suberror_No_iinf_box
	HEIF_SUBERROR_NO_IPRP_BOX                              HeifSuberrorCode = C.heif_suberror_No_iprp_box
	HEIF_SUBERROR_NO_IREF_BOX                              HeifSuberrorCode = C.heif_suberror_No_iref_box
	HEIF_SUBERROR_NO_PICT_HANDLER                          HeifSuberrorCode = C.heif_suberror_No_pict_handler
	HEIF_SUBERROR_IPMA_BOX_REFERENCES_NONEXISTING_PROPERTY HeifSuberrorCode = C.heif_suberror_Ipma_box_references_nonexisting_property
	HEIF_SUBERROR_NO_PROPERTIES_ASSIGNED_TO_ITEM           HeifSuberrorCode = C.heif_suberror_No_properties_assigned_to_item
	HEIF_SUBERROR_NO_ITEM_DATA                             HeifSuberrorCode = C.heif_suberror_No_item_data
	HEIF_SUBERROR_INVALID_GRID_DATA                        HeifSuberrorCode = C.heif_suberror_Invalid_grid_data
	HEIF_SUBERROR_MISSING_GRID_IMAGES                      HeifSuberrorCode = C.heif_suberror_Missing_grid_images
	HEIF_SUBERROR_INVALID_CLEAN_APERTURE                   HeifSuberrorCode = C.heif_suberror_Invalid_clean_aperture
	HEIF_SUBERROR_INVALID_OVERLAY_DATA                     HeifSuberrorCode = C.heif_suberror_Invalid_overlay_data
	HEIF_SUBERROR_OVERLAY_IMAGE_OUTSIDE_OF_CANVAS          HeifSuberrorCode = C.heif_suberror_Overlay_image_outside_of_canvas
	HEIF_SUBERROR_AUXILIARY_IMAGE_TYPE_UNSPECIFIED         HeifSuberrorCode = C.heif_suberror_Auxiliary_image_type_unspecified
	HEIF_SUBERROR_NO_OR_INVALID_PRIMARY_ITEM               HeifSuberrorCode = C.heif_suberror_No_or_invalid_primary_item
	HEIF_SUBERROR_NO_INFE_BOX                              HeifSuberrorCode = C.heif_suberror_No_infe_box
	HEIF_SUBERROR_UNKNOWN_COLOR_PROFILE_TYPE               HeifSuberrorCode = C.heif_suberror_Unknown_color_profile_type
	HEIF_SUBERROR_WRONG_TILE_IMAGE_CHROMA_FORMAT           HeifSuberrorCode = C.heif_suberror_Wrong_tile_image_chroma_format
	HEIF_SUBERROR_INVALID_FRACTIONAL_NUMBER                HeifSuberrorCode = C.heif_suberror_Invalid_fractional_number
	HEIF_SUBERROR_INVALID_IMAGE_SIZE                       HeifSuberrorCode = C.heif_suberror_Invalid_image_size
	HEIF_SUBERROR_INVALID_PIXI_BOX                         HeifSuberrorCode = C.heif_suberror_Invalid_pixi_box
	HEIF_SUBERROR_NO_AV1C_BOX                              HeifSuberrorCode = C.heif_suberror_No_av1C_box
	HEIF_SUBERROR_WRONG_TILE_IMAGE_PIXEL_DEPTH             HeifSuberrorCode = C.heif_suberror_Wrong_tile_image_pixel_depth
	HEIF_SUBERROR_UNKNOWN_NCLX_COLOR_PRIMARIES             HeifSuberrorCode = C.heif_suberror_Unknown_NCLX_color_primaries
	HEIF_SUBERROR_UNKNOWN_NCLX_TRANSFER_CHARACTERISTICS    HeifSuberrorCode = C.heif_suberror_Unknown_NCLX_transfer_characteristics
	HEIF_SUBERROR_UNKNOWN_NCLX_MATRIX_COEFFICIENTS         HeifSuberrorCode = C.heif_suberror_Unknown_NCLX_matrix_coefficients
	HEIF_SUBERROR_INVALID_REGION_DATA                      HeifSuberrorCode = C.heif_suberror_Invalid_region_data
	HEIF_SUBERROR_NO_ISPE_PROPERTY                         HeifSuberrorCode = C.heif_suberror_No_ispe_property
	HEIF_SUBERROR_CAMERA_INTRINSIC_MATRIX_UNDEFINED        HeifSuberrorCode = C.heif_suberror_Camera_intrinsic_matrix_undefined
	HEIF_SUBERROR_CAMERA_EXTRINSIC_MATRIX_UNDEFINED        HeifSuberrorCode = C.heif_suberror_Camera_extrinsic_matrix_undefined
	HEIF_SUBERROR_INVALID_J2K_CODESTREAM                   HeifSuberrorCode = C.heif_suberror_Invalid_J2K_codestream
	HEIF_SUBERROR_NO_VVCC_BOX                              HeifSuberrorCode = C.heif_suberror_No_vvcC_box
	HEIF_SUBERROR_NO_ICBR_BOX                              HeifSuberrorCode = C.heif_suberror_No_icbr_box
	HEIF_SUBERROR_NO_AVCC_BOX                              HeifSuberrorCode = C.heif_suberror_No_avcC_box
	HEIF_SUBERROR_INVALID_MINI_BOX                         HeifSuberrorCode = C.heif_suberror_Invalid_mini_box
	HEIF_SUBERROR_DECOMPRESSION_INVALID_DATA               HeifSuberrorCode = C.heif_suberror_Decompression_invalid_data
	HEIF_SUBERROR_NO_MOOV_BOX                              HeifSuberrorCode = C.heif_suberror_No_moov_box
	HEIF_SUBERROR_NCLX_COLR_VUI_MISMATCH                   HeifSuberrorCode = C.heif_suberror_NCLX_colr_VUI_mismatch
	HEIF_SUBERROR_SECURITY_LIMIT_EXCEEDED                  HeifSuberrorCode = C.heif_suberror_Security_limit_exceeded
	HEIF_SUBERROR_COMPRESSION_INITIALISATION_ERROR         HeifSuberrorCode = C.heif_suberror_Compression_initialisation_error
	HEIF_SUBERROR_NONEXISTING_ITEM_REFERENCED              HeifSuberrorCode = C.heif_suberror_Nonexisting_item_referenced
	HEIF_SUBERROR_NULL_POINTER_ARGUMENT                    HeifSuberrorCode = C.heif_suberror_Null_pointer_argument
	HEIF_SUBERROR_NONEXISTING_IMAGE_CHANNEL_REFERENCED     HeifSuberrorCode = C.heif_suberror_Nonexisting_image_channel_referenced
	HEIF_SUBERROR_UNSUPPORTED_PLUGIN_VERSION               HeifSuberrorCode = C.heif_suberror_Unsupported_plugin_version
	HEIF_SUBERROR_UNSUPPORTED_WRITER_VERSION               HeifSuberrorCode = C.heif_suberror_Unsupported_writer_version
	HEIF_SUBERROR_UNSUPPORTED_PARAMETER                    HeifSuberrorCode = C.heif_suberror_Unsupported_parameter
	HEIF_SUBERROR_INVALID_PARAMETER_VALUE                  HeifSuberrorCode = C.heif_suberror_Invalid_parameter_value
	HEIF_SUBERROR_INVALID_PROPERTY                         HeifSuberrorCode = C.heif_suberror_Invalid_property
	HEIF_SUBERROR_ITEM_REFERENCE_CYCLE                     HeifSuberrorCode = C.heif_suberror_Item_reference_cycle
	HEIF_SUBERROR_UNSUPPORTED_CODEC                        HeifSuberrorCode = C.heif_suberror_Unsupported_codec
	HEIF_SUBERROR_UNSUPPORTED_IMAGE_TYPE                   HeifSuberrorCode = C.heif_suberror_Unsupported_image_type
	HEIF_SUBERROR_UNSUPPORTED_DATA_VERSION                 HeifSuberrorCode = C.heif_suberror_Unsupported_data_version
	HEIF_SUBERROR_UNSUPPORTED_COLOR_CONVERSION             HeifSuberrorCode = C.heif_suberror_Unsupported_color_conversion
	HEIF_SUBERROR_UNSUPPORTED_ITEM_CONSTRUCTION_METHOD     HeifSuberrorCode = C.heif_suberror_Unsupported_item_construction_method
	HEIF_SUBERROR_UNSUPPORTED_HEADER_COMPRESSION_METHOD    HeifSuberrorCode = C.heif_suberror_Unsupported_header_compression_method
	HEIF_SUBERROR_UNSUPPORTED_GENERIC_COMPRESSION_METHOD   HeifSuberrorCode = C.heif_suberror_Unsupported_generic_compression_method
	HEIF_SUBERROR_UNSUPPORTED_ESSENTIAL_PROPERTY           HeifSuberrorCode = C.heif_suberror_Unsupported_essential_property
	HEIF_SUBERROR_UNSUPPORTED_TRACK_TYPE                   HeifSuberrorCode = C.heif_suberror_Unsupported_track_type
	HEIF_SUBERROR_UNSUPPORTED_BIT_DEPTH                    HeifSuberrorCode = C.heif_suberror_Unsupported_bit_depth
	HEIF_SUBERROR_CANNOT_WRITE_OUTPUT_DATA                 HeifSuberrorCode = C.heif_suberror_Cannot_write_output_data
	HEIF_SUBERROR_ENCODER_INITIALIZATION                   HeifSuberrorCode = C.heif_suberror_Encoder_initialization
	HEIF_SUBERROR_ENCODER_ENCODING                         HeifSuberrorCode = C.heif_suberror_Encoder_encoding
	HEIF_SUBERROR_ENCODER_CLEANUP                          HeifSuberrorCode = C.heif_suberror_Encoder_cleanup
	HEIF_SUBERROR_TOO_MANY_REGIONS                         HeifSuberrorCode = C.heif_suberror_Too_many_regions
	HEIF_SUBERROR_PLUGIN_LOADING_ERROR                     HeifSuberrorCode = C.heif_suberror_Plugin_loading_error
	HEIF_SUBERROR_PLUGIN_IS_NOT_LOADED                     HeifSuberrorCode = C.heif_suberror_Plugin_is_not_loaded
	HEIF_SUBERROR_CANNOT_READ_PLUGIN_DIRECTORY             HeifSuberrorCode = C.heif_suberror_Cannot_read_plugin_directory
	HEIF_SUBERROR_NO_MATCHING_DECODER_INSTALLED            HeifSuberrorCode = C.heif_suberror_No_matching_decoder_installed
)

type Image

type Image C.heif_image

func Libheif_decode_image

func Libheif_decode_image(handle *ImageHandle, colorspace HeifColorspace, chroma HeifChroma) (*Image, error)

func Libheif_decode_image_by_item_id

func Libheif_decode_image_by_item_id(ctx *Context, id ItemID, colorspace HeifColorspace, chroma HeifChroma) (*Image, error)

func Libheif_decode_image_with_options

func Libheif_decode_image_with_options(handle *ImageHandle, colorspace HeifColorspace, chroma HeifChroma, options *DecodingOptions) (*Image, error)

func Libheif_decode_primary_image

func Libheif_decode_primary_image(ctx *Context, colorspace HeifColorspace, chroma HeifChroma) (*Image, error)

func Libheif_decode_primary_image_rgb

func Libheif_decode_primary_image_rgb(ctx *Context) (*Image, error)

func Libheif_image_create

func Libheif_image_create(width, height int, colorspace HeifColorspace, chroma HeifChroma) (*Image, error)

type ImageHandle

type ImageHandle C.heif_image_handle

func Libheif_context_encode_image

func Libheif_context_encode_image(ctx *Context, img *Image, encoder *Encoder, options *EncodingOptions) (*ImageHandle, error)

func Libheif_context_get_image_handle

func Libheif_context_get_image_handle(ctx *Context, id ItemID) (*ImageHandle, error)

func Libheif_context_get_primary_image_handle

func Libheif_context_get_primary_image_handle(ctx *Context) (*ImageHandle, error)

func Libheif_image_handle_get_thumbnail

func Libheif_image_handle_get_thumbnail(handle *ImageHandle, thumbnailID ItemID) (*ImageHandle, error)

type ItemID

type ItemID C.heif_item_id

func Libheif_context_get_list_of_top_level_image_IDs

func Libheif_context_get_list_of_top_level_image_IDs(ctx *Context, count int) []ItemID

func Libheif_context_get_primary_image_ID

func Libheif_context_get_primary_image_ID(ctx *Context) (ItemID, error)

func Libheif_image_handle_get_item_id

func Libheif_image_handle_get_item_id(handle *ImageHandle) ItemID

func Libheif_image_handle_get_list_of_metadata_block_IDs

func Libheif_image_handle_get_list_of_metadata_block_IDs(handle *ImageHandle, typeFilter string, count int) []ItemID

func Libheif_image_handle_get_list_of_thumbnail_IDs

func Libheif_image_handle_get_list_of_thumbnail_IDs(handle *ImageHandle, count int) []ItemID

type WriterFunc

type WriterFunc func([]byte) error

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL