static void
ClosestColor(const Image *,CubeInfo *,const NodeInfo *),
DestroyCubeInfo(CubeInfo *),
- PruneLevel(const Image *,CubeInfo *,const NodeInfo *),
- PruneToCubeDepth(const Image *,CubeInfo *,const NodeInfo *),
+ PruneLevel(CubeInfo *,const NodeInfo *),
+ PruneToCubeDepth(CubeInfo *,const NodeInfo *),
ReduceImageColors(const Image *,CubeInfo *);
\f
/*
/*
Prune one level if the color tree is too large.
*/
- PruneLevel(image,cube_info,cube_info->root);
+ PruneLevel(cube_info,cube_info->root);
cube_info->depth--;
}
for (x=0; x < (ssize_t) image->columns; x+=(ssize_t) count)
}
if (cube_info->colors > cube_info->maximum_colors)
{
- PruneToCubeDepth(image,cube_info,cube_info->root);
+ PruneToCubeDepth(cube_info,cube_info->root);
break;
}
proceed=SetImageProgress(image,ClassifyImageTag,(MagickOffsetType) y,
/*
Prune one level if the color tree is too large.
*/
- PruneLevel(image,cube_info,cube_info->root);
+ PruneLevel(cube_info,cube_info->root);
cube_info->depth--;
}
for (x=0; x < (ssize_t) image->columns; x+=(ssize_t) count)
%
% The format of the PruneSubtree method is:
%
-% PruneChild(const Image *image,CubeInfo *cube_info,
-% const NodeInfo *node_info)
+% PruneChild(CubeInfo *cube_info,const NodeInfo *node_info)
%
% A description of each parameter follows.
%
-% o image: the image.
-%
% o cube_info: A pointer to the Cube structure.
%
% o node_info: pointer to node in color cube tree that is to be pruned.
%
*/
-static void PruneChild(const Image *image,CubeInfo *cube_info,
- const NodeInfo *node_info)
+static void PruneChild(CubeInfo *cube_info,const NodeInfo *node_info)
{
NodeInfo
*parent;
number_children=cube_info->associate_alpha == MagickFalse ? 8UL : 16UL;
for (i=0; i < (ssize_t) number_children; i++)
if (node_info->child[i] != (NodeInfo *) NULL)
- PruneChild(image,cube_info,node_info->child[i]);
+ PruneChild(cube_info,node_info->child[i]);
/*
Merge color statistics into parent.
*/
%
% The format of the PruneLevel method is:
%
-% PruneLevel(const Image *image,CubeInfo *cube_info,
-% const NodeInfo *node_info)
+% PruneLevel(CubeInfo *cube_info,const NodeInfo *node_info)
%
% A description of each parameter follows.
%
-% o image: the image.
-%
% o cube_info: A pointer to the Cube structure.
%
% o node_info: pointer to node in color cube tree that is to be pruned.
%
*/
-static void PruneLevel(const Image *image,CubeInfo *cube_info,
- const NodeInfo *node_info)
+static void PruneLevel(CubeInfo *cube_info,const NodeInfo *node_info)
{
register ssize_t
i;
number_children=cube_info->associate_alpha == MagickFalse ? 8UL : 16UL;
for (i=0; i < (ssize_t) number_children; i++)
if (node_info->child[i] != (NodeInfo *) NULL)
- PruneLevel(image,cube_info,node_info->child[i]);
+ PruneLevel(cube_info,node_info->child[i]);
if (node_info->level == cube_info->depth)
- PruneChild(image,cube_info,node_info);
+ PruneChild(cube_info,node_info);
}
\f
/*
%
% The format of the PruneToCubeDepth method is:
%
-% PruneToCubeDepth(const Image *image,CubeInfo *cube_info,
-% const NodeInfo *node_info)
+% PruneToCubeDepth(CubeInfo *cube_info,const NodeInfo *node_info)
%
% A description of each parameter follows.
%
% o node_info: pointer to node in color cube tree that is to be pruned.
%
*/
-static void PruneToCubeDepth(const Image *image,CubeInfo *cube_info,
- const NodeInfo *node_info)
+static void PruneToCubeDepth(CubeInfo *cube_info,const NodeInfo *node_info)
{
register ssize_t
i;
number_children=cube_info->associate_alpha == MagickFalse ? 8UL : 16UL;
for (i=0; i < (ssize_t) number_children; i++)
if (node_info->child[i] != (NodeInfo *) NULL)
- PruneToCubeDepth(image,cube_info,node_info->child[i]);
+ PruneToCubeDepth(cube_info,node_info->child[i]);
if (node_info->level > cube_info->depth)
- PruneChild(image,cube_info,node_info);
+ PruneChild(cube_info,node_info);
}
\f
/*
%
% The format of the Reduce method is:
%
-% Reduce(const Image *image,CubeInfo *cube_info,const NodeInfo *node_info)
+% Reduce(CubeInfo *cube_info,const NodeInfo *node_info)
%
% A description of each parameter follows.
%
-% o image: the image.
-%
% o cube_info: A pointer to the Cube structure.
%
% o node_info: pointer to node in color cube tree that is to be pruned.
%
*/
-static void Reduce(const Image *image,CubeInfo *cube_info,
- const NodeInfo *node_info)
+static void Reduce(CubeInfo *cube_info,const NodeInfo *node_info)
{
register ssize_t
i;
number_children=cube_info->associate_alpha == MagickFalse ? 8UL : 16UL;
for (i=0; i < (ssize_t) number_children; i++)
if (node_info->child[i] != (NodeInfo *) NULL)
- Reduce(image,cube_info,node_info->child[i]);
+ Reduce(cube_info,node_info->child[i]);
if (node_info->quantize_error <= cube_info->pruning_threshold)
- PruneChild(image,cube_info,node_info);
+ PruneChild(cube_info,node_info);
else
{
/*
cube_info->pruning_threshold=cube_info->next_threshold;
cube_info->next_threshold=cube_info->root->quantize_error-1;
cube_info->colors=0;
- Reduce(image,cube_info,cube_info->root);
+ Reduce(cube_info,cube_info->root);
offset=(MagickOffsetType) span-cube_info->colors;
proceed=SetImageProgress(image,ReduceImageTag,offset,span-
cube_info->maximum_colors+1);