internal static extern heif_error heif_context_encode_thumbnail(SafeHeifContext context, SafeHeifImage thumbnail, SafeHeifImageHandle parentImageHandle, SafeHeifEncoder encoder, IntPtr options_MustBeZero, int boundingBoxSize, IntPtr outImageHandle_MustBeZero);
internal static extern unsafe heif_error heif_context_add_exif_metadata(SafeHeifContext context, SafeHeifImageHandle handle, byte *data, int dataSize);
internal static extern heif_error heif_context_write(SafeHeifContext context, SafeHandle writer, IntPtr userData);
internal static extern heif_error heif_context_set_primary_image(SafeHeifContext context, SafeHeifImageHandle handle);
internal static extern heif_error heif_context_get_encoder_for_format(SafeHeifContext context, HeifCompressionFormat format, out SafeHeifEncoder encoder);
internal static extern heif_error heif_context_encode_image(SafeHeifContext context, SafeHeifImage image, SafeHeifEncoder encoder, IntPtr options_MustBeZero, IntPtr outImageHandle_MustBeZero);
internal static extern heif_error heif_context_encode_image(SafeHeifContext context, SafeHeifImage image, SafeHeifEncoder encoder, SafeHeifEncodingOptions options, out SafeHeifImageHandle imageHandle);
internal static extern heif_error heif_context_get_image_handle(SafeHeifContext context, HeifItemId id, out SafeHeifImageHandle imageHandle);
internal static extern heif_error heif_context_get_primary_image_handle(SafeHeifContext context, out SafeHeifImageHandle primaryImageHandle);
internal static extern unsafe int heif_context_get_list_of_top_level_image_IDs(SafeHeifContext context, HeifItemId *idArray, int count);
internal static extern int heif_context_get_number_of_top_level_images(SafeHeifContext context);
internal static extern heif_error heif_context_read_from_reader(SafeHeifContext context, SafeHandle reader, IntPtr userData, IntPtr options);
internal static extern void set_maximum_image_size_limit(SafeHeifContext context, int maxImageSizeLimit);
internal static extern heif_error heif_context_get_encoder(SafeHeifContext context, heif_encoder_descriptor descriptor, out SafeHeifEncoder encoder);
internal static extern unsafe int heif_context_get_encoder_descriptors(SafeHeifContext context, HeifCompressionFormat compressionFormat, [MarshalAs(UnmanagedType.LPStr)] string nameFilter, heif_encoder_descriptor *items, int count);
internal static extern unsafe heif_error heif_context_add_generic_metadata(SafeHeifContext context, SafeHeifImageHandle handle, byte *data, int dataSize, [MarshalAs(UnmanagedType.LPStr)] string type, [MarshalAs(UnmanagedType.LPStr)] string contentType);