ImageMagick-6.9.4-9差分

ImageMagick-6.9.4-8差分 - yoya's diaryの続き

The latest release of ImageMagick is version 6.9.4-9

まとめ

差分

ChangeLog の分

2016-06-09 6.9.4-9 Cristy

139c139
< #define MagickEpsilon  (1.0e-15)
---
> #define MagickEpsilon  (1.0e-12)
ChangeLogにない差分
  • magick/cache.c
    • info->buffer が NULL の時にリリース処理を行わない。
193a194,195
>   if (info->buffer != (cl_mem) NULL)
>   {
195a198
>   }
  • magick/effect.c
    • LocalContrastImage で異常系の処理
>   status=MagickTrue;
2586a2591,2592
>       if (status == MagickFalse)
>         continue;
2591a2598,2602
>       if (p == (const PixelPacket *) NULL)
>         {
>           status=MagickFalse;
>           continue;
>         }
2660a2672,2673
>       if (status == MagickFalse)
>         continue;
2666a2680,2684
>       if ((p == (const PixelPacket *) NULL) || (q == (PixelPacket *) NULL))
>         {
>           status=MagickFalse;
>           continue;
>         }
2699a2718,2719
>       if (SyncCacheViewAuthenticPixels(contrast_view,exception) == MagickFalse)
>         status=MagickFalse;
2705a2726,2727
>   if (status == MagickFalse)
>     contrast_image=DestroyImage(contrast_image);
  • magick/magick-baseconfig.h
    • 幾つかの 1 define を削除。
381,383c381
< #ifndef MAGICKCORE_HAVE_LCMS2_H
< #define MAGICKCORE_HAVE_LCMS2_H 1
< #endif
---
> /* #undef HAVE_LCMS2_H */
1131,1133c1129
< #ifndef MAGICKCORE_JPEG_DELEGATE
< #define MAGICKCORE_JPEG_DELEGATE 1
< #endif
---
> /* #undef JPEG_DELEGATE */
1136,1138c1132
< #ifndef MAGICKCORE_LCMS_DELEGATE
< #define MAGICKCORE_LCMS_DELEGATE 1
< #endif
---
> /* #undef LCMS_DELEGATE */

ChangeLog

2016-06-09  6.9.4-9 Cristy  <quetzlzacatenango@image...>
  * Backoff finite precision epsilon (reference
    https://github.com/ImageMagick/ImageMagick/issues/215).

MagickEpsilon の歴史

ImageMagick-6.9.4-9 で MagickEpsilon が変わったのが気になって、今までのバージョンを調べてみました。

バージョンによる推移

  • 4 系は grep Epsilon で引っかからず。NoiseEpsilon は別ものなので除外。
  • 5系は 5.2.6 〜 5.5.7 が手元にあったけど一部抜けあり。
バージョン Q8 Q16以上 ヘッダ
4系 (grepで見つからず)
5.2.6 〜 5.5.7 (1.0e-12) 同左 magick/studio.h
6.0.0 〜 6.2.2 (1.0e-6) (1.0e-10) magick/ImageMagick.h
6.2.3 〜 6.6.0-0 (1.0e-6) (1.0e-10) magick/magick-type.h
6.6.0-1 〜 6.6.0-9 (2.0*1.1920928955078125e-07) (2.0*2.2204460492503131e-16) 同上
6.6.0-10 〜 6.7.7-5 (1.0e-6) (1.0e-10) 同上
6.7.7-6 〜 6.7.7-9 (1.0e-7) (1.0e-16) 同上
6.7.7-10 (1.192093e-07) (2.220446e-16) 同上
6.7.8-0 〜 6.7.8-7 (2.220446e-16) 同左 同上
6.7.8-8 〜 6.8.0-2 (1.0e-16) 同左 同上
6.8.0-3 〜 6.9.4-8 (1.0e-15) 同左 同上
6.9.4-9 〜 (1.0e-16) 同左 同上
リスト
  • 4 系
    • (grep Epsilon で引っかからず。NoiseEpsilon は汎用的じゃないので除外)
  • 5系 (5.2.6 〜 5.5.7 のうち手元にある分) (magick/studio.h)
    • (1.0e-12)
  • 6.0.0 〜 6.2.2 (magick/ImageMagick.h)
    • Q8 だけ (1.0e-6)、Q16,32,64 は (1.0e-10)
  • 6.2.3 〜 6.6.0-0 (magick/magick-type.h)
    • Q8 だけ (1.0e-6)、Q16,32,64 は (1.0e-10)
  • 6.6.0-1 〜 6.6.0-9
    • Q8 だけ (2.0*1.1920928955078125e-07) 、Q16,32,64 は (2.0*2.2204460492503131e-16)
  • 6.6.0-10 〜 6.7.7-5
    • Q8 だけ (1.0e-6)、Q16,32,64 は (1.0e-10)
  • 6.7.7-6 〜 6.7.7-9
    • Q8 だけ (1.0e-7)、Q16,32,64 は (1.0e-16)
  • 6.7.7-10
    • Q8 だけ (1.192093e-07) 、Q16,32,64 は (2.220446e-16)
  • 6.7.8-0 〜 6.7.8-7
    • (2.220446e-16)
  • 6.7.8-8 〜 6.8.0-2
    • (1.0e-16)
  • 6.8.0-3 〜 6.9.4-8
    • (1.0e-15)
  • 6.9.4-9 〜
    • (1.0e-16)

備考

  • 具体的な問題が生じると、それを解決するよう再調整してるので、結構場当たりです。