MagickCore  6.8.5
profile.c File Reference
#include "magick/studio.h"
#include "magick/cache.h"
#include "magick/color.h"
#include "magick/colorspace-private.h"
#include "magick/configure.h"
#include "magick/exception.h"
#include "magick/exception-private.h"
#include "magick/hashmap.h"
#include "magick/image.h"
#include "magick/memory_.h"
#include "magick/monitor.h"
#include "magick/monitor-private.h"
#include "magick/option.h"
#include "magick/profile.h"
#include "magick/property.h"
#include "magick/quantum.h"
#include "magick/quantum-private.h"
#include "magick/resource_.h"
#include "magick/splay-tree.h"
#include "magick/string_.h"
#include "magick/thread-private.h"
#include "magick/token.h"
#include "magick/utility.h"
Include dependency graph for profile.c:

Macros

#define cmsSigCmykData   icSigCmykData
#define cmsSigGrayData   icSigGrayData
#define cmsSigLabData   icSigLabData
#define cmsSigLuvData   icSigLuvData
#define cmsSigRgbData   icSigRgbData
#define cmsSigXYZData   icSigXYZData
#define cmsSigYCbCrData   icSigYCbCrData
#define cmsSigLinkClass   icSigLinkClass
#define cmsColorSpaceSignature   icColorSpaceSignature
#define cmsUInt32Number   DWORD
#define cmsSetLogErrorHandler(handler)   cmsSetErrorHandler(handler)
#define cmsCreateTransformTHR(context, source_profile, source_type, target_profile, target_type, intent, flags)
#define cmsOpenProfileFromMemTHR(context, profile, length)   cmsOpenProfileFromMem(profile,length)
#define ProfileImageTag   "Profile/Image"
#define ThrowProfileException(severity, tag, context)
#define MaxDirectoryStack   16
#define EXIF_DELIMITER   "\n"
#define EXIF_NUM_FORMATS   12
#define TAG_EXIF_OFFSET   0x8769
#define TAG_INTEROP_OFFSET   0xa005

Functions

MagickExport MagickBooleanType CloneImageProfiles (Image *image, const Image *clone_image)
MagickExport MagickBooleanType DeleteImageProfile (Image *image, const char *name)
MagickExport void DestroyImageProfiles (Image *image)
MagickExport const StringInfoGetImageProfile (const Image *image, const char *name)
MagickExport char * GetNextImageProfile (const Image *image)
MagickExport MagickBooleanType ProfileImage (Image *image, const char *name, const void *datum, const size_t length, const MagickBooleanType magick_unused(clone))
MagickExport StringInfoRemoveImageProfile (Image *image, const char *name)
MagickExport void ResetImageProfileIterator (const Image *image)
static void * DestroyProfile (void *profile)
static const unsigned char * ReadResourceByte (const unsigned char *p, unsigned char *quantum)
static const unsigned char * ReadResourceBytes (const unsigned char *p, const ssize_t count, unsigned char *quantum)
static const unsigned char * ReadResourceLong (const unsigned char *p, size_t *quantum)
static const unsigned char * ReadResourceShort (const unsigned char *p, unsigned short *quantum)
static MagickBooleanType GetProfilesFromResourceBlock (Image *image, const StringInfo *resource_block)
MagickExport MagickBooleanType SetImageProfile (Image *image, const char *name, const StringInfo *profile)
static int ReadProfileByte (unsigned char **p, size_t *length)
static unsigned short ReadProfileShort (const EndianType endian, unsigned char *buffer)
static size_t ReadProfileLong (const EndianType endian, unsigned char *buffer)
static void WriteProfileLong (const EndianType endian, const size_t value, unsigned char *p)
static void WriteProfileShort (const EndianType endian, const unsigned short value, unsigned char *p)
MagickExport MagickBooleanType SyncImageProfiles (Image *image)

Macro Definition Documentation

#define cmsColorSpaceSignature   icColorSpaceSignature

Referenced by ProfileImage().

#define cmsCreateTransformTHR (   context,
  source_profile,
  source_type,
  target_profile,
  target_type,
  intent,
  flags 
)
Value:
cmsCreateTransform(source_profile, \
source_type,target_profile,target_type,intent,flags);
#define cmsOpenProfileFromMemTHR (   context,
  profile,
  length 
)    cmsOpenProfileFromMem(profile,length)

Referenced by ProfileImage().

#define cmsSetLogErrorHandler (   handler)    cmsSetErrorHandler(handler)

Referenced by ProfileImage().

#define cmsSigCmykData   icSigCmykData

Referenced by ProfileImage().

#define cmsSigGrayData   icSigGrayData

Referenced by ProfileImage().

#define cmsSigLabData   icSigLabData

Referenced by ProfileImage().

#define cmsSigLinkClass   icSigLinkClass

Referenced by ProfileImage().

#define cmsSigLuvData   icSigLuvData

Referenced by ProfileImage().

#define cmsSigRgbData   icSigRgbData

Referenced by ProfileImage().

#define cmsSigXYZData   icSigXYZData

Referenced by ProfileImage().

#define cmsSigYCbCrData   icSigYCbCrData

Referenced by ProfileImage().

#define cmsUInt32Number   DWORD

Referenced by IdentifyImage(), and ProfileImage().

#define EXIF_DELIMITER   "\n"
#define EXIF_NUM_FORMATS   12

Referenced by SyncImageProfiles().

#define MaxDirectoryStack   16
#define ProfileImageTag   "Profile/Image"

Referenced by ProfileImage().

#define TAG_EXIF_OFFSET   0x8769
#define TAG_INTEROP_OFFSET   0xa005
#define ThrowProfileException (   severity,
  tag,
  context 
)
Value:
{ \
if (source_profile != (cmsHPROFILE) NULL) \
(void) cmsCloseProfile(source_profile); \
if (target_profile != (cmsHPROFILE) NULL) \
(void) cmsCloseProfile(target_profile); \
ThrowBinaryException(severity,tag,context); \
}

Referenced by ProfileImage().

Function Documentation

MagickExport void DestroyImageProfiles ( Image image)

References DestroySplayTree(), and _Image::profiles.

Referenced by DestroyImage(), and StripImage().

static void* DestroyProfile ( void *  profile)
static

References DestroyStringInfo().

Referenced by SetImageProfile().

MagickExport MagickBooleanType ProfileImage ( Image image,
const char *  name,
const void *  datum,
const size_t  length,
const MagickBooleanType   magick_unusedclone 
)

References AbsoluteIntent, AcquireAuthenticCacheView(), AcquirePixelThreadSet(), AcquireStringInfo(), _Image::black_point_compensation, cmsColorSpaceSignature, cmsOpenProfileFromMemTHR, cmsSetLogErrorHandler, cmsSigCmykData, cmsSigGrayData, cmsSigLabData, cmsSigLinkClass, cmsSigLuvData, cmsSigRgbData, cmsSigXYZData, cmsSigYCbCrData, cmsUInt32Number, CMYKColorspace, ColorSeparationMatteType, ColorSeparationType, _Image::colorspace, _Image::columns, CompareStringInfo(), ConstantString(), _Image::debug, DeleteImageProfile(), DestroyCacheView(), DestroyPixelThreadSet(), DestroyString(), DestroyStringInfo(), DirectClass, _Image::exception, _Image::filename, GetCacheViewAuthenticIndexQueue(), GetCacheViewAuthenticPixels(), GetImageProfile(), GetImageProperty(), GetMagickModule, GetNextImageProfile(), GetOpenMPThreadId(), GetPixelBlue, GetPixelGreen, GetPixelIndex, GetPixelRed, GetStringInfoDatum(), GetStringInfoLength(), GlobExpression(), GRAYColorspace, GrayscaleMatteType, GrayscaleType, ImageError, IsGrayImage(), IssRGBCompatibleColorspace(), LabColorspace, LocaleCompare(), LogMagickEvent(), MagickFalse, MagickSignature, MagickTrue, _Image::matte, MissingDelegateWarning, PerceptualIntent, ProfileImageTag, _Image::progress_monitor, RelativeIntent, RelinquishMagickMemory(), _Image::rendering_intent, ResetImageProfileIterator(), ResourceLimitError, _Image::rows, SaturationIntent, SetImageColorspace(), SetImageProfile(), SetImageProgress(), SetImageStorageClass(), SetPixelBlue, SetPixelGreen, SetPixelIndex, SetPixelRed, SetStringInfoDatum(), _Image::signature, sRGBColorspace, StringToArgv(), SubstituteString(), SyncCacheViewAuthenticPixels(), ThrowBinaryException, ThrowMagickException(), ThrowProfileException, TraceEvent, TrueColorMatteType, TrueColorType, _Image::type, UndefinedColorspace, XYZColorspace, YCbCrColorspace, and YUVColorspace.

static int ReadProfileByte ( unsigned char **  p,
size_t *  length 
)
inlinestatic

Referenced by SyncImageProfiles().

static size_t ReadProfileLong ( const EndianType  endian,
unsigned char *  buffer 
)
inlinestatic

References LSBEndian.

Referenced by SyncImageProfiles().

static unsigned short ReadProfileShort ( const EndianType  endian,
unsigned char *  buffer 
)
inlinestatic

References LSBEndian.

Referenced by SyncImageProfiles().

static const unsigned char* ReadResourceByte ( const unsigned char *  p,
unsigned char *  quantum 
)
inlinestatic
static const unsigned char* ReadResourceBytes ( const unsigned char *  p,
const ssize_t  count,
unsigned char *  quantum 
)
inlinestatic
static const unsigned char* ReadResourceLong ( const unsigned char *  p,
size_t *  quantum 
)
inlinestatic
static const unsigned char* ReadResourceShort ( const unsigned char *  p,
unsigned short *  quantum 
)
inlinestatic
static void WriteProfileLong ( const EndianType  endian,
const size_t  value,
unsigned char *  p 
)
inlinestatic

References CopyMagickMemory(), and LSBEndian.

Referenced by SyncImageProfiles().

static void WriteProfileShort ( const EndianType  endian,
const unsigned short  value,
unsigned char *  p 
)
static

References CopyMagickMemory(), and LSBEndian.

Referenced by SyncImageProfiles().