summaryrefslogtreecommitdiff
path: root/magick/magick.c
diff options
context:
space:
mode:
Diffstat (limited to 'magick/magick.c')
-rw-r--r--magick/magick.c34
1 files changed, 26 insertions, 8 deletions
diff --git a/magick/magick.c b/magick/magick.c
index 0911a71..2760ef4 100644
--- a/magick/magick.c
+++ b/magick/magick.c
@@ -1,5 +1,5 @@
/*
-% Copyright (C) 2003-2020 GraphicsMagick Group
+% Copyright (C) 2003-2023 GraphicsMagick Group
% Copyright (C) 2002 ImageMagick Studio
% Copyright 1991-1999 E. I. du Pont de Nemours and Company
%
@@ -146,10 +146,18 @@ MagickSetFileSystemBlockSize(const size_t block_size)
% should be invoked in the primary (original) thread of the application's
% process while shutting down, and only after any threads which might be
% using GraphicsMagick functions have terminated. Since GraphicsMagick
-% uses threads internally via OpenMP, it is also necessary for any function
-% calls into GraphicsMagick to have already returned so that OpenMP worker
-% threads are quiesced and won't be accessing any semaphores or data
-% structures which are destroyed by this function.
+% may use threads internally via OpenMP, it is also necessary for any
+% function calls into GraphicsMagick to have already returned so that
+% OpenMP worker threads are quiesced and won't be accessing any semaphores
+% or data structures which are destroyed by this function.
+%
+% The OpenMP implementation (if present) starts/stops any OpenMP worker
+% threads and allocates/frees OpenMP resources using its own algorithms.
+% This means that OpenMP worker threads and OpenMP resources are likely
+% to remain allocated after DestroyMagick() returns. Since OpenMP 5.0,
+% invoking omp_pause_resource_all(omp_pause_hard) will assure that any
+% resources allocated by OpenMP (threads, thread-specific memory, etc.)
+% are freed, and this may be called after DestroyMagick() has returned.
%
% The format of the DestroyMagick function is:
%
@@ -1128,7 +1136,8 @@ InitializeMagick(const char *path)
%
% InitializeMagickEx() initializes the GraphicsMagick environment,
% providing a bit more more control and visibility over initialization
-% than the original InitializeMagick().
+% than the original InitializeMagick(). Use DestroyMagick() to destroy
+% the GraphicsMagick environment when it is not longer needed.
%
% InitializeMagick() or InitializeMagickEx() MUST be invoked by the using
% program before making use of GraphicsMagick functions or else the library
@@ -1142,6 +1151,10 @@ InitializeMagick(const char *path)
% then that function should be invoked before InitializeMagickEx() since
% the memory allocation functions need to be consistent.
%
+% Available options are:
+%
+% o MAGICK_OPT_NO_SIGNAL_HANDER - Don't register ANSI/POSIX signal handlers
+%
% The format of the InitializeMagickEx function is:
%
% MagickPassFail InitializeMagickEx(const char *path,
@@ -1152,7 +1165,7 @@ InitializeMagick(const char *path)
%
% o path: The execution path of the current GraphicsMagick client (or NULL)
%
-% o options: Options flags tailoring initializations performed
+% o options: Options bit flags tailoring initializations performed
%
% o exception: Information about initialization failure is reported here.
%
@@ -1581,6 +1594,9 @@ MagickToMime(const char *magick)
MediaTypes[] =
{
{ "avi", "video/avi" },
+ { "apng", "image/apng" },
+ { "avif", "image/avif" },
+ { "bmp", "image/bmp" },
{ "cgm", "image/cgm;Version=4;ProfileId=WebCGM" }, /* W3 WebCGM */
{ "dcm", "application/dicom" }, /* Incomplete. See RFC 3240 */
{ "epdf", "application/pdf" },
@@ -1595,6 +1611,7 @@ MagickToMime(const char *magick)
{ "g3", "image/g3fax" },
{ "gif", "image/gif" },
{ "gif87", "image/gif" },
+ { "ico", "image/x-icon" },
{ "jpeg", "image/jpeg" },
{ "jpg", "image/jpeg" },
{ "mng", "video/x-mng" },
@@ -1607,7 +1624,8 @@ MagickToMime(const char *magick)
{ "svg", "image/svg+xml" },
{ "tif", "image/tiff" },
{ "tiff", "image/tiff" },
- { "wbmp", "image/vnd.wap.wbmp" }
+ { "wbmp", "image/vnd.wap.wbmp" },
+ { "webp", "image/image/webp" }
};
for (i=0; i < ArraySize(MediaTypes); i++)