#include "MagickCore/thread_.h"
#include "MagickCore/thread-private.h"
\f
+/*
+ Typedef declarations.
+*/
+typedef struct _MagickThreadValue
+{
+ size_t
+ number_threads;
+
+ void
+ **values,
+ (*destructor)(void *);
+} MagickThreadValue;
+\f
/*
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
% %
% %
-% M a g i c k C r e a t e T h r e a d K e y %
+% C r e a t e M a g i c k T h r e a d K e y %
% %
% %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-% MagickCreateThreadKey() creates a thread key and returns it.
+% CreateMagickThreadKey() creates a thread-specific data key visible to all
+% threads in the process.
+%
+% The format of the CreateMagickThreadKey method is:
+%
+% MagickThreadKey CreateMagickThreadKey(MagickThreadKey *key)
+%
+% A description of each parameter follows:
%
-% The format of the MagickCreateThreadKey method is:
+% o key: opaque objects used to locate thread-specific data.
%
-% MagickThreadKey MagickCreateThreadKey(MagickThreadKey *key)
+% o destructor: associate an optional destructor with each key value.
%
*/
-MagickExport MagickBooleanType MagickCreateThreadKey(MagickThreadKey *key)
+MagickExport MagickBooleanType CreateMagickThreadKey(MagickThreadKey *key,
+ void (*destructor)(void *))
{
#if defined(MAGICKCORE_THREAD_SUPPORT)
- return(pthread_key_create(key,NULL) == 0 ? MagickTrue : MagickFalse);
+ return(pthread_key_create(key,destructor) == 0 ? MagickTrue : MagickFalse);
#elif defined(MAGICKCORE_HAVE_WINTHREADS)
*key=TlsAlloc();
return(*key != TLS_OUT_OF_INDEXES ? MagickTrue : MagickFalse);
#else
- *key=AcquireMagickMemory(sizeof(key));
- return(*key != (void *) NULL ? MagickTrue : MagickFalse);
+ {
+ MagickThreadValue
+ **keys;
+
+ keys=(MagickThreadValue **) key;
+ *keys=(MagickThreadValue *) AcquireQuantumMemory(1,sizeof(*keys));
+ if (*keys != (MagickThreadValue *) NULL)
+ {
+ (*keys)->number_threads=GetOpenMPMaximumThreads();
+ (*keys)->values=AcquireQuantumMemory((*keys)->number_threads,
+ sizeof(void *));
+ if ((*keys)->values == (void *) NULL)
+ *keys=RelinquishMagickMemory(*keys);
+ else
+ (void) memset((*keys)->values,0,(*keys)->number_threads*
+ sizeof(void *));
+ (*keys)->destructor=destructor;
+ }
+ return((*keys != (MagickThreadValue *) NULL) ? MagickTrue : MagickFalse);
+ }
#endif
}
\f
% %
% %
% %
-% M a g i c k D e l e t e T h r e a d K e y %
+% D e s t r o y M a g i c k T h r e a d K e y %
% %
% %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-% MagickDeleteThreadKey() deletes a thread key.
+% DeleteMagickThreadKey() deletes a thread-specific data key.
%
-% The format of the MagickDeleteThreadKey method is:
+% The format of the DeleteMagickThreadKey method is:
%
-% MagickBooleanType MagickDeleteThreadKey(MagickThreadKey key)
+% MagickBooleanType DeleteMagickThreadKey(MagickThreadKey key)
%
% A description of each parameter follows:
%
% o key: the thread key.
%
*/
-MagickExport MagickBooleanType MagickDeleteThreadKey(MagickThreadKey key)
+MagickExport MagickBooleanType DeleteMagickThreadKey(MagickThreadKey key)
{
#if defined(MAGICKCORE_THREAD_SUPPORT)
return(pthread_key_delete(key) == 0 ? MagickTrue : MagickFalse);
#elif defined(MAGICKCORE_HAVE_WINTHREADS)
return(TlsFree(key) != 0 ? MagickTrue : MagickFalse);
#else
- key=(MagickThreadKey) RelinquishMagickMemory(key);
+ {
+ MagickThreadValue
+ *keys;
+
+ register ssize_t
+ i;
+
+ keys=(MagickThreadValue *) key;
+ for (i=0; i < (ssize_t) keys->number_threads; i++)
+ if (keys->values[i] != (void *) NULL)
+ {
+ keys->destructor(keys->values[i]);
+ keys->values[i]=(void *) NULL;
+ }
+ keys=(MagickThreadValue *) RelinquishMagickMemory(keys);
+ }
return(MagickTrue);
#endif
}
% %
% %
% %
-% M a g i c k G e t T h r e a d V a l u e %
+% G e t M a g i c k T h r e a d V a l u e %
% %
% %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-% MagickGetThreadValue() returns a value associated with the thread key.
+% GetMagickThreadValue() returns the value currently bound to the specified
+% key on behalf of the calling thread.
%
-% The format of the MagickGetThreadValue method is:
+% The format of the GetMagickThreadValue method is:
%
-% void *MagickGetThreadValue(MagickThreadKey key)
+% void *GetMagickThreadValue(MagickThreadKey key)
%
% A description of each parameter follows:
%
% o key: the thread key.
%
*/
-MagickExport void *MagickGetThreadValue(MagickThreadKey key)
+MagickExport void *GetMagickThreadValue(MagickThreadKey key)
{
#if defined(MAGICKCORE_THREAD_SUPPORT)
return(pthread_getspecific(key));
#elif defined(MAGICKCORE_HAVE_WINTHREADS)
return(TlsGetValue(key));
#else
- return((void *) (*key));
+ {
+ MagickThreadValue
+ *keys;
+
+ keys=(MagickThreadValue *) key;
+ return(keys->values[GetOpenMPThreadId()]);
+ }
#endif
}
\f
% %
% %
% %
-% M a g i c k S e t T h r e a d V a l u e %
+% S e t M a g i c k T h r e a d V a l u e %
% %
% %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
-% MagickSetThreadValue() associates a value with the thread key.
+% SetMagickThreadValue() binds a value to the specified key on behalf of the
+% calling thread.
%
-% The format of the MagickSetThreadValue method is:
+% The format of the SetMagickThreadValue method is:
%
-% MagickBooleanType MagickSetThreadValue(MagickThreadKey key,
+% MagickBooleanType SetMagickThreadValue(MagickThreadKey key,
% const void *value)
%
% A description of each parameter follows:
%
% o key: the thread key.
%
-% o value: the value
+% o value: the value.
%
*/
-MagickExport MagickBooleanType MagickSetThreadValue(MagickThreadKey key,
+MagickExport MagickBooleanType SetMagickThreadValue(MagickThreadKey key,
const void *value)
{
#if defined(MAGICKCORE_THREAD_SUPPORT)
#elif defined(MAGICKCORE_HAVE_WINTHREADS)
return(TlsSetValue(key,(void *) value) != 0 ? MagickTrue : MagickFalse);
#else
- *key=(size_t) value;
+ {
+ MagickThreadValue
+ *keys;
+
+ keys=(MagickThreadValue *) key;
+ keys->values[GetOpenMPThreadId()]=(void *) value;
+ }
return(MagickTrue);
#endif
}
#elif defined(MAGICKCORE_HAVE_WINTHREADS)
typedef DWORD MagickThreadKey;
#else
-typedef size_t *MagickThreadKey;
+typedef void *MagickThreadKey;
#endif
extern MagickExport MagickBooleanType
- MagickCreateThreadKey(MagickThreadKey *),
- MagickDeleteThreadKey(MagickThreadKey),
- MagickSetThreadValue(MagickThreadKey,const void *);
+ CreateMagickThreadKey(MagickThreadKey *,void (*destructor)(void *)),
+ DeleteMagickThreadKey(MagickThreadKey),
+ SetMagickThreadValue(MagickThreadKey,const void *);
extern MagickExport void
- *MagickGetThreadValue(MagickThreadKey);
+ *GetMagickThreadValue(MagickThreadKey);
#if defined(__cplusplus) || defined(c_plusplus)
}
A web page has been set up for this extension. See:
- file:///usr/share/doc/ImageMagick-7/www/perl-magick.html
+ file:///usr/local/share/doc/ImageMagick-7/www/perl-magick.html
http://www.imagemagick.org/script/perl-magick.php
If you have problems, go to
(void) vsprintf(message,format,error);
#endif
(void) ConcatenateMagickString(message,".",MagickPathExtent);
- exception=(ExceptionInfo *) MagickGetThreadValue(tiff_exception);
+ exception=(ExceptionInfo *) GetMagickThreadValue(tiff_exception);
if (exception != (ExceptionInfo *) NULL)
(void) ThrowMagickException(exception,GetMagickModule(),CoderError,message,
"`%s'",module);
(void) vsprintf(message,format,warning);
#endif
(void) ConcatenateMagickString(message,".",MagickPathExtent);
- exception=(ExceptionInfo *) MagickGetThreadValue(tiff_exception);
+ exception=(ExceptionInfo *) GetMagickThreadValue(tiff_exception);
if (exception != (ExceptionInfo *) NULL)
(void) ThrowMagickException(exception,GetMagickModule(),CoderWarning,
message,"`%s'",module);
image=DestroyImageList(image);
return((Image *) NULL);
}
- (void) MagickSetThreadValue(tiff_exception,exception);
+ (void) SetMagickThreadValue(tiff_exception,exception);
error_handler=TIFFSetErrorHandler(TIFFErrors);
warning_handler=TIFFSetWarningHandler(TIFFWarnings);
tiff=TIFFClientOpen(image->filename,"rb",(thandle_t) image,TIFFReadBlob,
LockSemaphoreInfo(tiff_semaphore);
if (instantiate_key == MagickFalse)
{
- if (MagickCreateThreadKey(&tiff_exception) == MagickFalse)
+ if (CreateMagickThreadKey(&tiff_exception,NULL) == MagickFalse)
ThrowFatalException(ResourceLimitFatalError,"MemoryAllocationFailed");
#if defined(MAGICKCORE_HAVE_TIFFMERGEFIELDINFO) && defined(MAGICKCORE_HAVE_TIFFSETTAGEXTENDER)
if (tag_extender == (TIFFExtendProc) NULL)
if (tag_extender == (TIFFExtendProc) NULL)
(void) TIFFSetTagExtender(tag_extender);
#endif
- if (MagickDeleteThreadKey(tiff_exception) == MagickFalse)
+ if (DeleteMagickThreadKey(tiff_exception) == MagickFalse)
ThrowFatalException(ResourceLimitFatalError,"MemoryAllocationFailed");
instantiate_key=MagickFalse;
}
status=OpenBlob(image_info,image,WriteBinaryBlobMode,exception);
if (status == MagickFalse)
return(status);
- (void) MagickSetThreadValue(tiff_exception,exception);
+ (void) SetMagickThreadValue(tiff_exception,exception);
error_handler=TIFFSetErrorHandler((TIFFErrorHandler) TIFFErrors);
warning_handler=TIFFSetWarningHandler((TIFFErrorHandler) TIFFWarnings);
endian_type=UndefinedEndian;
MAGICK_VERSION=7.0.0-0
-MAGICK_GIT_REVISION=17309:8b3e119:20151217
+MAGICK_GIT_REVISION=17326:b7f3404:20151218
# Substitute library versioning
interprets and executes scripts written in the Magick Scripting Language (MSL).
.PP
-For more information about the ImageMagick, point your browser to file:///usr/share/doc/ImageMagick-7/index.html or http://www.imagemagick.org/.
+For more information about the ImageMagick, point your browser to file:///usr/local/share/doc/ImageMagick-7/index.html or http://www.imagemagick.org/.
.SH SEE ALSO
convert(1), identify(1), composite(1), montage(1), compare(1), display(1), animate(1), import(1), conjure(1), quantize(5), miff(4)
.SH COPYRIGHT
-\fBCopyright (C) 1999-2016 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/ImageMagick-7/www/license.html or http://www.imagemagick.org/script/license.php\fP
+\fBCopyright (C) 1999-2016 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/local/share/doc/ImageMagick-7/www/license.html or http://www.imagemagick.org/script/license.php\fP
.SH OVERVIEW
The \fBanimate\fP program is a member of the ImageMagick(1) suite of tools. Use it to animate an image or image sequence on any X server.
-For more information about the animate command, point your browser to file:///usr/share/doc/ImageMagick-7/www/animate.html or http://www.imagemagick.org/script/animate.php.
+For more information about the animate command, point your browser to file:///usr/local/share/doc/ImageMagick-7/www/animate.html or http://www.imagemagick.org/script/animate.php.
.SH DESCRIPTION
Image Settings:
\-alpha option on, activate, off, deactivate, set, opaque, copy
.SH COPYRIGHT
-\fBCopyright (C) 1999-2016 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/ImageMagick-7/www/license.html or http://www.imagemagick.org/script/license.php\fP
+\fBCopyright (C) 1999-2016 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/local/share/doc/ImageMagick-7/www/license.html or http://www.imagemagick.org/script/license.php\fP
.SH OVERVIEW
The \fBcompare\fP program is a member of the ImageMagick(1) suite of tools. Use it to mathematically and visually annotate the difference between an image and its reconstruction.
-For more information about the compare command, point your browser to file:///usr/share/doc/ImageMagick-7/www/compare.html or http://www.imagemagick.org/script/compare.php.
+For more information about the compare command, point your browser to file:///usr/local/share/doc/ImageMagick-7/www/compare.html or http://www.imagemagick.org/script/compare.php.
.SH DESCRIPTION
Image Settings:
\-alpha option on, activate, off, deactivate, set, opaque, copy
.SH COPYRIGHT
-\fBCopyright (C) 1999-2016 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/ImageMagick-7/www/license.html or http://www.imagemagick.org/script/license.php\fP
+\fBCopyright (C) 1999-2016 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/local/share/doc/ImageMagick-7/www/license.html or http://www.imagemagick.org/script/license.php\fP
.SH OVERVIEW
The \fBcomposite\fP program is a member of the ImageMagick(1) suite of tools. Use it to overlap one image over another.
-For more information about the composite command, point your browser to file:///usr/share/doc/ImageMagick-7/www/composite.html or http://www.imagemagick.org/script/composite.php.
+For more information about the composite command, point your browser to file:///usr/local/share/doc/ImageMagick-7/www/composite.html or http://www.imagemagick.org/script/composite.php.
.SH DESCRIPTION
Image Settings:
\-affine matrix affine transform matrix
.SH COPYRIGHT
-\fBCopyright (C) 1999-2016 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/ImageMagick-7/www/license.html or http://www.imagemagick.org/script/license.php\fP
+\fBCopyright (C) 1999-2016 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/local/share/doc/ImageMagick-7/www/license.html or http://www.imagemagick.org/script/license.php\fP
.SH OVERVIEW
The \fBconjure\fP program is a member of the ImageMagick(1) suite of tools. Use it to process a Magick Scripting Language (MSL) script. The Magick scripting language (MSL) will primarily benefit those that want to accomplish custom image processing tasks but do not wish to program, or those that do not have access to a Perl interpreter or a compiler.
-For more information about the conjure command, point your browser to file:///usr/share/doc/ImageMagick-7/www/conjure.html or http://www.imagemagick.org/script/conjure.php.
+For more information about the conjure command, point your browser to file:///usr/local/share/doc/ImageMagick-7/www/conjure.html or http://www.imagemagick.org/script/conjure.php.
.SH DESCRIPTION
Image Settings:
\-monitor monitor progress
.SH COPYRIGHT
-\fBCopyright (C) 1999-2016 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/ImageMagick-7/www/license.html or http://www.imagemagick.org/script/license.php\fP
+\fBCopyright (C) 1999-2016 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/local/share/doc/ImageMagick-7/www/license.html or http://www.imagemagick.org/script/license.php\fP
.SH OVERVIEW
The \fBconvert\fP program is a member of the ImageMagick(1) suite of tools. Use it to convert between image formats as well as resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more.
-For more information about the convert command, point your browser to file:///usr/share/doc/ImageMagick-7/www/convert.html or http://www.imagemagick.org/script/convert.php.
+For more information about the convert command, point your browser to file:///usr/local/share/doc/ImageMagick-7/www/convert.html or http://www.imagemagick.org/script/convert.php.
.SH DESCRIPTION
Image Settings:
\-adjoin join images into a single multi-image file
ImageMagick(1)
.SH COPYRIGHT
-\fBCopyright (C) 1999-2016 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/ImageMagick-7/www/license.html or http://www.imagemagick.org/script/license.php\fP
+\fBCopyright (C) 1999-2016 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/local/share/doc/ImageMagick-7/www/license.html or http://www.imagemagick.org/script/license.php\fP
.SH OVERVIEW
The \fBdisplay\fP program is a member of the ImageMagick(1) suite of tools. Use it to display an image or image sequence on any X server.
-For more information about the display command, point your browser to file:///usr/share/doc/ImageMagick-7/www/display.html or http://www.imagemagick.org/script/display.php.
+For more information about the display command, point your browser to file:///usr/local/share/doc/ImageMagick-7/www/display.html or http://www.imagemagick.org/script/display.php.
.SH DESCRIPTION
Image Settings:
\-alpha option on, activate, off, deactivate, set, opaque, copy
.SH COPYRIGHT
-\fBCopyright (C) 1999-2016 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/ImageMagick-7/www/license.html or http://www.imagemagick.org/script/license.php\fP
+\fBCopyright (C) 1999-2016 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/local/share/doc/ImageMagick-7/www/license.html or http://www.imagemagick.org/script/license.php\fP
.SH OVERVIEW
The \fBidentify\fP program is a member of the ImageMagick(1) suite of tools. It describes the format and characteristics of one or more image files. It also reports if an image is incomplete or corrupt. The information returned includes the image number, the file name, the width and height of the image, whether the image is colormapped or not, the number of colors in the image (by default off use \fI-define unique=true\fP option), the number of bytes in the image, the format of the image (JPEG, PNM, etc.), and finally the number of seconds it took to read and process the image. Many more attributes are available with the verbose option.
-For more information about the identify command, point your browser to file:///usr/share/doc/ImageMagick-7/www/identify.html or http://www.imagemagick.org/script/identify.php.
+For more information about the identify command, point your browser to file:///usr/local/share/doc/ImageMagick-7/www/identify.html or http://www.imagemagick.org/script/identify.php.
.SH DESCRIPTION
Image Settings:
\-alpha option on, activate, off, deactivate, set, opaque, copy
.SH COPYRIGHT
-\fBCopyright (C) 1999-2016 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/ImageMagick-7/www/license.html or http://www.imagemagick.org/script/license.php\fP
+\fBCopyright (C) 1999-2016 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/local/share/doc/ImageMagick-7/www/license.html or http://www.imagemagick.org/script/license.php\fP
.SH OVERVIEW
The \fBimport\fP program is a member of the ImageMagick(1) suite of tools. Use it to capture some or all of an X server screen and save the image to a file.
-For more information about the import command, point your browser to file:///usr/share/doc/ImageMagick-7/www/import.html or http://www.imagemagick.org/script/import.php.
+For more information about the import command, point your browser to file:///usr/local/share/doc/ImageMagick-7/www/import.html or http://www.imagemagick.org/script/import.php.
.SH DESCRIPTION
Image Settings:
\-adjoin join images into a single multi-image file
.SH COPYRIGHT
-\fBCopyright (C) 1999-2016 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/ImageMagick-7/www/license.html or http://www.imagemagick.org/script/license.php\fP
+\fBCopyright (C) 1999-2016 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/local/share/doc/ImageMagick-7/www/license.html or http://www.imagemagick.org/script/license.php\fP
.SH OVERVIEW
The \fBmogrify\fP program is a member of the ImageMagick(1) suite of tools. Use it to resize an image, blur, crop, despeckle, dither, draw on, flip, join, re-sample, and much more. This tool is similar to convert(1) except the original image file is overwritten with any changes you request.
-For more information about the mogrify command, point your browser to file:///usr/share/doc/ImageMagick-7/www/mogrify.html or http://www.imagemagick.org/script/mogrify.php.
+For more information about the mogrify command, point your browser to file:///usr/local/share/doc/ImageMagick-7/www/mogrify.html or http://www.imagemagick.org/script/mogrify.php.
.SH DESCRIPTION
Image Settings:
\-adjoin join images into a single multi-image file
.SH COPYRIGHT
-\fBCopyright (C) 1999-2016 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/ImageMagick-7/www/license.html or http://www.imagemagick.org/script/license.php\fP
+\fBCopyright (C) 1999-2016 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/local/share/doc/ImageMagick-7/www/license.html or http://www.imagemagick.org/script/license.php\fP
.SH OVERVIEW
The \fBmontage\fP program is a member of the ImageMagick(1) suite of tools. Use it to create a composite image by combining several separate images. The images are tiled on the composite image optionally adorned with a border, frame, image name, and more.
-For more information about the montage command, point your browser to file:///usr/share/doc/ImageMagick-7/www/montage.html or http://www.imagemagick.org/script/montage.php.
+For more information about the montage command, point your browser to file:///usr/local/share/doc/ImageMagick-7/www/montage.html or http://www.imagemagick.org/script/montage.php.
.SH DESCRIPTION
Image Settings:
\-adjoin join images into a single multi-image file
.SH COPYRIGHT
-\fBCopyright (C) 1999-2016 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/ImageMagick-7/www/license.html or http://www.imagemagick.org/script/license.php\fP
+\fBCopyright (C) 1999-2016 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/local/share/doc/ImageMagick-7/www/license.html or http://www.imagemagick.org/script/license.php\fP
.SH OVERVIEW
\fBStream\fP is a lightweight tool to stream one or more pixel components of the image or portion of the image to your choice of storage formats. It writes the pixel components as they are read from the input image a row at a time making \fBstream\fP desirable when working with large images or when you require raw pixel components.
-For more information about the stream command, point your browser to file:///usr/share/doc/ImageMagick-7/www/stream.html or http://www.imagemagick.org/script/stream.php.
+For more information about the stream command, point your browser to file:///usr/local/share/doc/ImageMagick-7/www/stream.html or http://www.imagemagick.org/script/stream.php.
.SH DESCRIPTION
Image Settings:
\-authenticate value decrypt image with this password
.SH COPYRIGHT
-\fBCopyright (C) 1999-2016 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/share/doc/ImageMagick-7/www/license.html or http://www.imagemagick.org/script/license.php\fP
+\fBCopyright (C) 1999-2016 ImageMagick Studio LLC. Additional copyrights and licenses apply to this software, see file:///usr/local/share/doc/ImageMagick-7/www/license.html or http://www.imagemagick.org/script/license.php\fP