ImageMagick-6.8.7-8 差分

ImageMagick-6.8.7-7 差分 - yoyaのメモの続き

The latest release of ImageMagick is version 6.8.7-8.

まとめ

(差分1つしかないので省略)

差分

  • OpenCL で高速化した AddNoiseImage 相当の機能を追加。
>   STRINGIFY(
>
>
>   __kernel void randomNumberGeneratorKernel(__global uint* seeds, const floatnormalizeRand
>                                            , __global float* randomNumbers, const uint init
>                                            ,const uint numRandomNumbers) {
>
>     unsigned int id = get_global_id(0);
>     unsigned int seed[4];
>
>     if (init!=0) {
>       seed[0] = seeds[id*4];
>       seed[1] = 0x50a7f451;
>       seed[2] = 0x5365417e;
<略>
>   STRINGIFY(
>   float GenerateDifferentialNoise(RandomNumbers* r, CLQuantum pixel, NoiseType noise_type, float attenuate) {
<略>
>   __kernel
>   void AddNoiseImage(const __global CLPixelType* inputImage, __global CLPixelType* filteredImage
>                     ,const unsigned int inputColumns, const unsigned int inputRows
>                     ,const ChannelType channel
>                     ,const NoiseType noise_type, const float attenuate
>                     ,const __global float* randomNumbers, const unsigned int numRandomNumbersPerPixel
>                     ,const unsigned int rowOffset) {
<略>
> static Image* ComputeAddNoiseImage(const Image* inputImage,
>          const ChannelType channel, const NoiseType noise_type,
>          ExceptionInfo *exception)
> {
<略>
> static Image* ComputeAddNoiseImageOptRandomNum(const Image* inputImage,
>          const ChannelType channel, const NoiseType noise_type,
>          ExceptionInfo *exception)
> {
<略>
> MagickExport
> Image* AccelerateAddNoiseImage(const Image *image, const ChannelType channel,
>           const NoiseType noise_type,ExceptionInfo *exception)
> {
<略>
> MagickExport Image *AccelerateAddNoiseImage(const Image *image,
>   const ChannelType channel, const NoiseType noise_type,ExceptionInfo *exception)
> {
Changeにない差分
static char* getBinaryCLProgramName(MagickCLEnv clEnv, MagickOpenCLProgram prog,
 unsigned int signature)
<略>
>   ptr=deviceName;
>   /* strip out illegal characters for file names */
>   while (*ptr != '\0')
>   {
>     if ( *ptr == ' ' || *ptr == '\\' || *ptr == '/' || *ptr == ':' || *ptr == '*'
>         || *ptr == '?' || *ptr == '"' || *ptr == '<' || *ptr == '>' || *ptr == '|')
>     {
>       *ptr = '_';
>     }
>     ptr++;
>   }
  • 後はいつもの型不一致の修正。多分、コンパイル時の警告対応的な。
diff -rbw ImageMagick-6.8.7-7/coders/dcm.c ImageMagick-6.8.7-8/coders/dcm.c
3083c3083
<             if (datum == 0xFFFFFFFF)
---
>             if (datum == 0xFFFFFFFFL)
diff -rbw ImageMagick-6.8.7-7/coders/dds.c ImageMagick-6.8.7-8/coders/dds.c
1021c1021
<   for (i=1; i < steps; i++)
---
>   for (i=1; i < (ssize_t) steps; i++)
1310c1310
<       for (i=1; i < count; i++)
---
>       for (i=1; i < (ssize_t) count; i++)

ChangeLog

2013-11-27  6.8.7-8 Cristy  <quetzlzacatenango@image...>
  * New version 6.8.7-8, SVN revision 13850.

2013-11-27  6.8.7-8  SiuChi Chan  <...>
  * add an OpenCL-accelerated analog of AddNoiseImage().