diff --git a/libheif/Doxyfile.in b/libheif/Doxyfile.in
index b56ab9b90d..0f98f68e1a 100644
--- a/libheif/Doxyfile.in
+++ b/libheif/Doxyfile.in
@@ -170,7 +170,7 @@ FULL_PATH_NAMES = YES
# will be relative from the directory where doxygen is started.
# This tag requires that the tag FULL_PATH_NAMES is set to YES.
-STRIP_FROM_PATH =
+STRIP_FROM_PATH = @CMAKE_CURRENT_SOURCE_DIR@
# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the
# path mentioned in the documentation of a class, which tells the reader which
@@ -864,7 +864,8 @@ WARN_LOGFILE =
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
# Note: If this tag is empty the current directory is searched.
-INPUT = @CMAKE_CURRENT_SOURCE_DIR@/libheif/heif.h
+INPUT = @CMAKE_CURRENT_SOURCE_DIR@/libheif/heif.h \
+@CMAKE_CURRENT_SOURCE_DIR@/libheif/heif_regions.h
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
diff --git a/libheif/heif.h b/libheif/heif.h
index 0c25f5eada..97d6d2f963 100644
--- a/libheif/heif.h
+++ b/libheif/heif.h
@@ -392,7 +392,7 @@ enum heif_compression_format
*/
heif_compression_EVC = 6,
/**
- * JPEG 2000 compression. (Currently unused in libheif.)
+ * JPEG 2000 compression.
*
* The encapsulation of JPEG 2000 is specified in ISO/IEC 15444-16:2021.
* The core encoding is defined in ISO/IEC 15444-1, or ITU-T T.800.
@@ -401,7 +401,7 @@ enum heif_compression_format
/**
* Uncompressed encoding.
*
- * This is defined in ISO/IEC 23001-17:2023 (Draft International Standard).
+ * This is defined in ISO/IEC 23001-17:2023 (Final Draft International Standard).
*/
heif_compression_uncompressed = 8,
/**
@@ -479,24 +479,36 @@ struct heif_init_params
};
-// You should call heif_init() when you start using libheif and heif_deinit() when you are finished.
-// These calls are reference counted. Each call to heif_init() should be matched by one call to heif_deinit().
-//
-// For backwards compatibility, it is not really necessary to call heif_init(), but some library memory objects
-// will never be freed if you do not call heif_init()/heif_deinit().
-//
-// heif_init() will load the external modules installed in the default plugin path. Thus, you need it when you
-// want to load external plugins from the default path.
-// Codec plugins that are compiled into the library directly (selected by the compile-time parameters of libheif)
-// will be available even without heif_init().
-//
-// Make sure that you don't have one part of your program use heif_init()/heif_deinit() and another part that doesn't
-// use it as the latter may try to use an uninitialized library. If in doubt, enclose everything with init/deinit.
-
-// You may pass nullptr to get default parameters. Currently, no parameters are supported.
+/**
+ * Initialise library.
+ *
+ * You should call heif_init() when you start using libheif and heif_deinit() when you are finished.
+ * These calls are reference counted. Each call to heif_init() should be matched by one call to heif_deinit().
+ *
+ * For backwards compatibility, it is not really necessary to call heif_init(), but some library memory objects
+ * will never be freed if you do not call heif_init()/heif_deinit().
+ *
+ * heif_init() will load the external modules installed in the default plugin path. Thus, you need it when you
+ * want to load external plugins from the default path.
+ * Codec plugins that are compiled into the library directly (selected by the compile-time parameters of libheif)
+ * will be available even without heif_init().
+ *
+ * Make sure that you do not have one part of your program use heif_init()/heif_deinit() and another part that does
+ * not use it as the latter may try to use an uninitialized library. If in doubt, enclose everything with init/deinit.
+ *
+ * You may pass nullptr to get default parameters. Currently, no parameters are supported.
+ */
LIBHEIF_API
struct heif_error heif_init(struct heif_init_params*);
+/**
+ * Deinitialise and clean up library.
+ *
+ * You should call heif_init() when you start using libheif and heif_deinit() when you are finished.
+ * These calls are reference counted. Each call to heif_init() should be matched by one call to heif_deinit().
+ *
+ * \sa heif_init()
+ */
LIBHEIF_API
void heif_deinit(void);
diff --git a/libheif/heif_regions.h b/libheif/heif_regions.h
index 86733392b3..63083fba2a 100644
--- a/libheif/heif_regions.h
+++ b/libheif/heif_regions.h
@@ -506,7 +506,7 @@ struct heif_error heif_region_get_polyline_points(const struct heif_region* regi
* The points are provided as pairs of X,Y coordinates, in the order X1,
* Y1, X2, Y2, ..., Xn, Yn.
*
- * @param region the region to equery, which must be of type #heif_region_type_polyline
+ * @param region the region to query, which must be of type #heif_region_type_polyline
* @param image_id the identifier for the image to transform / scale the region to
* @param out_pts_array the array to return the points in, which must have twice as many entries as there are points
* in the polyline.