register ssize_t
x;
- register unsigned long
+ register MagickSizeType
*q;
ssize_t
y;
- q=(unsigned long *) pixels;
+ q=(MagickSizeType *) pixels;
if (LocaleCompare(map,"BGR") == 0)
{
for (y=0; y < (ssize_t) rows; y++)
break;
for (x=0; x < (ssize_t) columns; x++)
{
- *q++=ScaleQuantumToLong(GetPixelBlue(image,p));
- *q++=ScaleQuantumToLong(GetPixelGreen(image,p));
- *q++=ScaleQuantumToLong(GetPixelRed(image,p));
+ *q++=ScaleQuantumToLongLong(GetPixelBlue(image,p));
+ *q++=ScaleQuantumToLongLong(GetPixelGreen(image,p));
+ *q++=ScaleQuantumToLongLong(GetPixelRed(image,p));
p+=GetPixelChannels(image);
}
}
break;
for (x=0; x < (ssize_t) columns; x++)
{
- *q++=ScaleQuantumToLong(GetPixelBlue(image,p));
- *q++=ScaleQuantumToLong(GetPixelGreen(image,p));
- *q++=ScaleQuantumToLong(GetPixelRed(image,p));
- *q++=ScaleQuantumToLong(GetPixelAlpha(image,p));
+ *q++=ScaleQuantumToLongLong(GetPixelBlue(image,p));
+ *q++=ScaleQuantumToLongLong(GetPixelGreen(image,p));
+ *q++=ScaleQuantumToLongLong(GetPixelRed(image,p));
+ *q++=ScaleQuantumToLongLong(GetPixelAlpha(image,p));
p+=GetPixelChannels(image);
}
}
break;
for (x=0; x < (ssize_t) columns; x++)
{
- *q++=ScaleQuantumToLong(GetPixelBlue(image,p));
- *q++=ScaleQuantumToLong(GetPixelGreen(image,p));
- *q++=ScaleQuantumToLong(GetPixelRed(image,p));
+ *q++=ScaleQuantumToLongLong(GetPixelBlue(image,p));
+ *q++=ScaleQuantumToLongLong(GetPixelGreen(image,p));
+ *q++=ScaleQuantumToLongLong(GetPixelRed(image,p));
*q++=0;
p+=GetPixelChannels(image);
}
break;
for (x=0; x < (ssize_t) columns; x++)
{
- *q++=ScaleQuantumToLong(GetPixelIntensity(image,p));
+ *q++=ScaleQuantumToLongLong(GetPixelIntensity(image,p));
p+=GetPixelChannels(image);
}
}
break;
for (x=0; x < (ssize_t) columns; x++)
{
- *q++=ScaleQuantumToLong(GetPixelRed(image,p));
- *q++=ScaleQuantumToLong(GetPixelGreen(image,p));
- *q++=ScaleQuantumToLong(GetPixelBlue(image,p));
+ *q++=ScaleQuantumToLongLong(GetPixelRed(image,p));
+ *q++=ScaleQuantumToLongLong(GetPixelGreen(image,p));
+ *q++=ScaleQuantumToLongLong(GetPixelBlue(image,p));
p+=GetPixelChannels(image);
}
}
break;
for (x=0; x < (ssize_t) columns; x++)
{
- *q++=ScaleQuantumToLong(GetPixelRed(image,p));
- *q++=ScaleQuantumToLong(GetPixelGreen(image,p));
- *q++=ScaleQuantumToLong(GetPixelBlue(image,p));
- *q++=ScaleQuantumToLong(GetPixelAlpha(image,p));
+ *q++=ScaleQuantumToLongLong(GetPixelRed(image,p));
+ *q++=ScaleQuantumToLongLong(GetPixelGreen(image,p));
+ *q++=ScaleQuantumToLongLong(GetPixelBlue(image,p));
+ *q++=ScaleQuantumToLongLong(GetPixelAlpha(image,p));
p+=GetPixelChannels(image);
}
}
break;
for (x=0; x < (ssize_t) columns; x++)
{
- *q++=ScaleQuantumToLong(GetPixelRed(image,p));
- *q++=ScaleQuantumToLong(GetPixelGreen(image,p));
- *q++=ScaleQuantumToLong(GetPixelBlue(image,p));
+ *q++=ScaleQuantumToLongLong(GetPixelRed(image,p));
+ *q++=ScaleQuantumToLongLong(GetPixelGreen(image,p));
+ *q++=ScaleQuantumToLongLong(GetPixelBlue(image,p));
*q++=0;
p+=GetPixelChannels(image);
}
case RedQuantum:
case CyanQuantum:
{
- *q=ScaleQuantumToLong(GetPixelRed(image,p));
+ *q=ScaleQuantumToLongLong(GetPixelRed(image,p));
break;
}
case GreenQuantum:
case MagentaQuantum:
{
- *q=ScaleQuantumToLong(GetPixelGreen(image,p));
+ *q=ScaleQuantumToLongLong(GetPixelGreen(image,p));
break;
}
case BlueQuantum:
case YellowQuantum:
{
- *q=ScaleQuantumToLong(GetPixelBlue(image,p));
+ *q=ScaleQuantumToLongLong(GetPixelBlue(image,p));
break;
}
case AlphaQuantum:
{
- *q=ScaleQuantumToLong(GetPixelAlpha(image,p));
+ *q=ScaleQuantumToLongLong(GetPixelAlpha(image,p));
break;
}
case OpacityQuantum:
{
- *q=ScaleQuantumToLong(GetPixelAlpha(image,p));
+ *q=ScaleQuantumToLongLong(GetPixelAlpha(image,p));
break;
}
case BlackQuantum:
{
if (image->colorspace == CMYKColorspace)
- *q=ScaleQuantumToLong(GetPixelBlack(image,p));
+ *q=ScaleQuantumToLongLong(GetPixelBlack(image,p));
break;
}
case IndexQuantum:
{
- *q=ScaleQuantumToLong(GetPixelIntensity(image,p));
+ *q=ScaleQuantumToLongLong(GetPixelIntensity(image,p));
break;
}
default:
const char *restrict map,const QuantumType *quantum_map,
const unsigned char *restrict pixels,ExceptionInfo *exception)
{
- register const unsigned long
+ register const MagickSizeType
*restrict p;
register Quantum
ssize_t
y;
- p=(const unsigned long *) pixels;
+ p=(const MagickSizeType *) pixels;
if (LocaleCompare(map,"BGR") == 0)
{
for (y=0; y < (ssize_t) rows; y++)
break;
for (x=0; x < (ssize_t) columns; x++)
{
- SetPixelBlue(image,ScaleLongToQuantum(*p++),q);
- SetPixelGreen(image,ScaleLongToQuantum(*p++),q);
- SetPixelRed(image,ScaleLongToQuantum(*p++),q);
+ SetPixelBlue(image,ScaleLongLongToQuantum(*p++),q);
+ SetPixelGreen(image,ScaleLongLongToQuantum(*p++),q);
+ SetPixelRed(image,ScaleLongLongToQuantum(*p++),q);
q+=GetPixelChannels(image);
}
if (SyncAuthenticPixels(image,exception) == MagickFalse)
break;
for (x=0; x < (ssize_t) columns; x++)
{
- SetPixelBlue(image,ScaleLongToQuantum(*p++),q);
- SetPixelGreen(image,ScaleLongToQuantum(*p++),q);
- SetPixelRed(image,ScaleLongToQuantum(*p++),q);
- SetPixelAlpha(image,ScaleLongToQuantum(*p++),q);
+ SetPixelBlue(image,ScaleLongLongToQuantum(*p++),q);
+ SetPixelGreen(image,ScaleLongLongToQuantum(*p++),q);
+ SetPixelRed(image,ScaleLongLongToQuantum(*p++),q);
+ SetPixelAlpha(image,ScaleLongLongToQuantum(*p++),q);
q+=GetPixelChannels(image);
}
if (SyncAuthenticPixels(image,exception) == MagickFalse)
break;
for (x=0; x < (ssize_t) columns; x++)
{
- SetPixelBlue(image,ScaleLongToQuantum(*p++),q);
- SetPixelGreen(image,ScaleLongToQuantum(*p++),q);
- SetPixelRed(image,ScaleLongToQuantum(*p++),q);
+ SetPixelBlue(image,ScaleLongLongToQuantum(*p++),q);
+ SetPixelGreen(image,ScaleLongLongToQuantum(*p++),q);
+ SetPixelRed(image,ScaleLongLongToQuantum(*p++),q);
p++;
q+=GetPixelChannels(image);
}
break;
for (x=0; x < (ssize_t) columns; x++)
{
- SetPixelGray(image,ScaleLongToQuantum(*p++),q);
+ SetPixelGray(image,ScaleLongLongToQuantum(*p++),q);
q+=GetPixelChannels(image);
}
if (SyncAuthenticPixels(image,exception) == MagickFalse)
break;
for (x=0; x < (ssize_t) columns; x++)
{
- SetPixelRed(image,ScaleLongToQuantum(*p++),q);
- SetPixelGreen(image,ScaleLongToQuantum(*p++),q);
- SetPixelBlue(image,ScaleLongToQuantum(*p++),q);
+ SetPixelRed(image,ScaleLongLongToQuantum(*p++),q);
+ SetPixelGreen(image,ScaleLongLongToQuantum(*p++),q);
+ SetPixelBlue(image,ScaleLongLongToQuantum(*p++),q);
q+=GetPixelChannels(image);
}
if (SyncAuthenticPixels(image,exception) == MagickFalse)
break;
for (x=0; x < (ssize_t) columns; x++)
{
- SetPixelRed(image,ScaleLongToQuantum(*p++),q);
- SetPixelGreen(image,ScaleLongToQuantum(*p++),q);
- SetPixelBlue(image,ScaleLongToQuantum(*p++),q);
- SetPixelAlpha(image,ScaleLongToQuantum(*p++),q);
+ SetPixelRed(image,ScaleLongLongToQuantum(*p++),q);
+ SetPixelGreen(image,ScaleLongLongToQuantum(*p++),q);
+ SetPixelBlue(image,ScaleLongLongToQuantum(*p++),q);
+ SetPixelAlpha(image,ScaleLongLongToQuantum(*p++),q);
q+=GetPixelChannels(image);
}
if (SyncAuthenticPixels(image,exception) == MagickFalse)
break;
for (x=0; x < (ssize_t) columns; x++)
{
- SetPixelRed(image,ScaleLongToQuantum(*p++),q);
- SetPixelGreen(image,ScaleLongToQuantum(*p++),q);
- SetPixelBlue(image,ScaleLongToQuantum(*p++),q);
+ SetPixelRed(image,ScaleLongLongToQuantum(*p++),q);
+ SetPixelGreen(image,ScaleLongLongToQuantum(*p++),q);
+ SetPixelBlue(image,ScaleLongLongToQuantum(*p++),q);
p++;
q+=GetPixelChannels(image);
}
case RedQuantum:
case CyanQuantum:
{
- SetPixelRed(image,ScaleLongToQuantum(*p),q);
+ SetPixelRed(image,ScaleLongLongToQuantum(*p),q);
break;
}
case GreenQuantum:
case MagentaQuantum:
{
- SetPixelGreen(image,ScaleLongToQuantum(*p),q);
+ SetPixelGreen(image,ScaleLongLongToQuantum(*p),q);
break;
}
case BlueQuantum:
case YellowQuantum:
{
- SetPixelBlue(image,ScaleLongToQuantum(*p),q);
+ SetPixelBlue(image,ScaleLongLongToQuantum(*p),q);
break;
}
case AlphaQuantum:
{
- SetPixelAlpha(image,ScaleLongToQuantum(*p),q);
+ SetPixelAlpha(image,ScaleLongLongToQuantum(*p),q);
break;
}
case OpacityQuantum:
{
- SetPixelAlpha(image,ScaleLongToQuantum(*p),q);
+ SetPixelAlpha(image,ScaleLongLongToQuantum(*p),q);
break;
}
case BlackQuantum:
{
- SetPixelBlack(image,ScaleLongToQuantum(*p),q);
+ SetPixelBlack(image,ScaleLongLongToQuantum(*p),q);
break;
}
case IndexQuantum:
{
- SetPixelGray(image,ScaleLongToQuantum(*p),q);
+ SetPixelGray(image,ScaleLongLongToQuantum(*p),q);
break;
}
default:
#endif
}
+static inline Quantum ScaleLongLongToQuantum(const MagickSizeType value)
+{
+#if !defined(MAGICKCORE_HDRI_SUPPORT)
+ return((Quantum) ((value+MagickULLConstant(551911719039))/
+ MagickULLConstant(1103823438079)));
+#else
+ return((Quantum) (value/1103823438079.0));
+#endif
+}
+
static inline Quantum ScaleMapToQuantum(const MagickRealType value)
{
if (value <= 0.0)
#endif
}
+static inline MagickSizeType ScaleQuantumToLongLong(const Quantum quantum)
+{
+#if !defined(MAGICKCORE_HDRI_SUPPORT)
+ return((MagickSizeType) (MagickULLConstant(551911719039)*quantum));
+#else
+ if (quantum <= 0.0)
+ return(0UL);
+ if ((551911719039.0*quantum) >= 18446744073709551615.0)
+ return(MagickULLConstant(18446744073709551615));
+ return((MagickSizeType) (1103823438079.0*quantum+0.5));
+#endif
+}
+
static inline unsigned int ScaleQuantumToMap(const Quantum quantum)
{
if (quantum >= (Quantum) MaxMap)
#endif
}
+static inline Quantum ScaleLongLongToQuantum(const MagickSizeType value)
+{
+#if !defined(MAGICKCORE_HDRI_SUPPORT)
+ return((Quantum) ((value+MagickULLConstant(8421376))/
+ MagickULLConstant(16842752)));
+#else
+ return((Quantum) (value/16842752.0));
+#endif
+}
+
static inline Quantum ScaleMapToQuantum(const MagickRealType value)
{
if (value <= 0.0)
#endif
}
+static inline MagickSizeType ScaleQuantumToLongLong(const Quantum quantum)
+{
+#if !defined(MAGICKCORE_HDRI_SUPPORT)
+ return((MagickSizeType) (MagickULLConstant(16842752)*quantum));
+#else
+ if (quantum <= 0.0)
+ return(0UL);
+ if ((65537.0*quantum) >= 18446744073709551615.0)
+ return(MagickULLConstant(18446744073709551615));
+ return((MagickSizeType) (16842752.0*quantum+0.5));
+#endif
+}
+
static inline unsigned int ScaleQuantumToMap(const Quantum quantum)
{
if (quantum >= (Quantum) MaxMap)
return((Quantum) value);
}
+static inline Quantum ScaleLongLongToQuantum(const MagickSizeType value)
+{
+ return((Quantum) value);
+}
+
static inline Quantum ScaleMapToQuantum(const MagickRealType value)
{
if (value <= 0.0)
#endif
}
+static inline MagickSizeType ScaleQuantumToLongLong(const Quantum quantum)
+{
+#if !defined(MAGICKCORE_HDRI_SUPPORT)
+ return((MagickSizeType) quantum);
+#else
+ return((MagickSizeType) (quantum+0.5));
+#endif
+}
+
static inline unsigned int ScaleQuantumToMap(const Quantum quantum)
{
if (quantum < 0.0)
return((Quantum) (4294967297.0*value));
}
+static inline Quantum ScaleLongLongToQuantum(const MagickSizeType value)
+{
+ return((Quantum) (18446744073709551615.0*value));
+}
+
static inline Quantum ScaleMapToQuantum(const MagickRealType value)
{
if (value <= 0.0)
return((unsigned int) (quantum/4294967297.0+0.5));
}
+static inline MagickSizeType ScaleQuantumToLongLong(const Quantum quantum)
+{
+ return((MagickSizeType) (quantum/18446744073709551615.0+0.5));
+}
+
static inline unsigned int ScaleQuantumToMap(const Quantum quantum)
{
if (quantum <= 0.0)