/*
Initialize Rec601 luma tables:
- G = 0.29900*R+0.58700*G+0.11400*B
+ G = 0.298839*R+0.586811*G+0.114350*B
*/
#if defined(MAGICKCORE_OPENMP_SUPPORT)
#pragma omp parallel for schedule(static) \
#endif
for (i=0; i <= (ssize_t) MaxMap; i++)
{
- x_map[i].x=0.29900f*(MagickRealType) i;
- y_map[i].x=0.58700f*(MagickRealType) i;
- z_map[i].x=0.11400f*(MagickRealType) i;
- x_map[i].y=0.29900f*(MagickRealType) i;
- y_map[i].y=0.58700f*(MagickRealType) i;
- z_map[i].y=0.11400f*(MagickRealType) i;
- x_map[i].z=0.29900f*(MagickRealType) i;
- y_map[i].z=0.58700f*(MagickRealType) i;
- z_map[i].z=0.11400f*(MagickRealType) i;
+ x_map[i].x=0.298839f*(MagickRealType) i;
+ y_map[i].x=0.586811f*(MagickRealType) i;
+ z_map[i].x=0.114350f*(MagickRealType) i;
+ x_map[i].y=0.298839f*(MagickRealType) i;
+ y_map[i].y=0.586811f*(MagickRealType) i;
+ z_map[i].y=0.114350f*(MagickRealType) i;
+ x_map[i].z=0.298839f*(MagickRealType) i;
+ y_map[i].z=0.586811f*(MagickRealType) i;
+ z_map[i].z=0.114350f*(MagickRealType) i;
}
image->type=GrayscaleType;
break;
/*
Initialize YCbCr tables (ITU-R BT.601):
- Y = 0.299000*R+0.587000*G+0.114000*B
+ Y = 0.298839*R+0.586811*G+0.114350*B
Cb= -0.168736*R-0.331264*G+0.500000*B
Cr= 0.500000*R-0.418688*G-0.081312*B
#endif
for (i=0; i <= (ssize_t) MaxMap; i++)
{
- x_map[i].x=0.299000f*(MagickRealType) i;
- y_map[i].x=0.587000f*(MagickRealType) i;
- z_map[i].x=0.114000f*(MagickRealType) i;
+ x_map[i].x=0.298839f*(MagickRealType) i;
+ y_map[i].x=0.586811f*(MagickRealType) i;
+ z_map[i].x=0.114350f*(MagickRealType) i;
x_map[i].y=(-0.168730f)*(MagickRealType) i;
y_map[i].y=(-0.331264f)*(MagickRealType) i;
z_map[i].y=0.500000f*(MagickRealType) i;
/*
Initialize YCC tables:
- Y = 0.29900*R+0.58700*G+0.11400*B
- C1= -0.29900*R-0.58700*G+0.88600*B
- C2= 0.70100*R-0.58700*G-0.11400*B
+ Y = 0.298839*R+0.586811*G+0.114350*B
+ C1= -0.298839*R-0.586811*G+0.88600*B
+ C2= 0.70100*R-0.586811*G-0.114350*B
YCC is scaled by 1.3584. C1 zero is 156 and C2 is at 137.
*/
/*
Initialize YIQ tables:
- Y = 0.29900*R+0.58700*G+0.11400*B
+ Y = 0.298839*R+0.586811*G+0.114350*B
I = 0.59600*R-0.27400*G-0.32200*B
Q = 0.21100*R-0.52300*G+0.31200*B
#endif
for (i=0; i <= (ssize_t) MaxMap; i++)
{
- x_map[i].x=0.29900f*(MagickRealType) i;
- y_map[i].x=0.58700f*(MagickRealType) i;
- z_map[i].x=0.11400f*(MagickRealType) i;
+ x_map[i].x=0.298839f*(MagickRealType) i;
+ y_map[i].x=0.586811f*(MagickRealType) i;
+ z_map[i].x=0.114350f*(MagickRealType) i;
x_map[i].y=0.59600f*(MagickRealType) i;
y_map[i].y=(-0.27400f)*(MagickRealType) i;
z_map[i].y=(-0.32200f)*(MagickRealType) i;
/*
Initialize YPbPr tables (ITU-R BT.601):
- Y = 0.299000*R+0.587000*G+0.114000*B
+ Y = 0.298839*R+0.586811*G+0.114350*B
Pb= -0.168736*R-0.331264*G+0.500000*B
Pr= 0.500000*R-0.418688*G-0.081312*B
#endif
for (i=0; i <= (ssize_t) MaxMap; i++)
{
- x_map[i].x=0.299000f*(MagickRealType) i;
- y_map[i].x=0.587000f*(MagickRealType) i;
- z_map[i].x=0.114000f*(MagickRealType) i;
+ x_map[i].x=0.298839f*(MagickRealType) i;
+ y_map[i].x=0.586811f*(MagickRealType) i;
+ z_map[i].x=0.114350f*(MagickRealType) i;
x_map[i].y=(-0.168736f)*(MagickRealType) i;
y_map[i].y=(-0.331264f)*(MagickRealType) i;
z_map[i].y=0.500000f*(MagickRealType) i;
/*
Initialize YUV tables:
- Y = 0.29900*R+0.58700*G+0.11400*B
+ Y = 0.298839*R+0.586811*G+0.114350*B
U = -0.14740*R-0.28950*G+0.43690*B
V = 0.61500*R-0.51500*G-0.10000*B
#endif
for (i=0; i <= (ssize_t) MaxMap; i++)
{
- x_map[i].x=0.29900f*(MagickRealType) i;
- y_map[i].x=0.58700f*(MagickRealType) i;
- z_map[i].x=0.11400f*(MagickRealType) i;
+ x_map[i].x=0.298839f*(MagickRealType) i;
+ y_map[i].x=0.586811f*(MagickRealType) i;
+ z_map[i].x=0.114350f*(MagickRealType) i;
x_map[i].y=(-0.14740f)*(MagickRealType) i;
y_map[i].y=(-0.28950f)*(MagickRealType) i;
z_map[i].y=0.43690f*(MagickRealType) i;
const PixelInfo *restrict pixel_info)
{
#if !defined(MAGICKCORE_HDRI_SUPPORT)
- return((Quantum) (0.299*pixel_info->red+0.587*pixel_info->green+0.114*
- pixel_info->blue+0.5));
+ return((Quantum) (0.298839*pixel_info->red+0.586811*pixel_info->green+
+ 0.114350*pixel_info->blue+0.5));
#else
- return((Quantum) (0.299*pixel_info->red+0.587*pixel_info->green+0.114*
- pixel_info->blue));
+ return((Quantum) (0.298839*pixel_info->red+0.586811*pixel_info->green+
+ 0.114350*pixel_info->blue));
#endif
}
#if !defined(MAGICKCORE_HDRI_SUPPORT)
if (image->colorspace == GRAYColorspace)
return(pixel[image->channel_map[GrayPixelChannel].offset]);
- return((Quantum) (0.299*pixel[image->channel_map[RedPixelChannel].offset]+
- 0.587*pixel[image->channel_map[GreenPixelChannel].offset]+0.114*
+ return((Quantum) (0.298839*pixel[image->channel_map[RedPixelChannel].offset]+
+ 0.586811*pixel[image->channel_map[GreenPixelChannel].offset]+0.114350*
pixel[image->channel_map[BluePixelChannel].offset]+0.5));
#else
{
pixel[image->channel_map[BluePixelChannel].offset];
if ((fabs((double) alpha) <= MagickEpsilon) && (fabs(beta) <= MagickEpsilon))
return(pixel[image->channel_map[RedPixelChannel].offset]);
- return((Quantum) (0.299*pixel[image->channel_map[RedPixelChannel].offset]+
- 0.587*pixel[image->channel_map[GreenPixelChannel].offset]+0.114*
+ return((Quantum) (0.298839*
+ pixel[image->channel_map[RedPixelChannel].offset]+0.586811*
+ pixel[image->channel_map[GreenPixelChannel].offset]+0.114350*
pixel[image->channel_map[BluePixelChannel].offset]));
}
#endif