github.com/kaydxh/golang@v0.0.131/pkg/gocv/cgo/third_path/graphics-magick/share/doc/GraphicsMagick/ChangeLog.2007 (about) 1 2007-12-23 Fojtik Jaroslav <JaFojtik@seznam.cz> 2 3 * VisualMagick/configure/configure.rc: Better positioning of frog, 4 changed original ImageMagick messages. 5 6 * VisualMagick/configure/configure.exe: New build. 7 8 2007-12-22 Fojtik Jaroslav <JaFojtik@seznam.cz> 9 10 * magick/command.c: Fix compilability issue for Microsoft Visual 11 Studio 6. 12 13 2007-12-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 14 15 * configure.ac: Use some improved tests for POSIX standard types 16 available in Autoconf 2.61. 17 Add support for configuring a magick_uintmax_t type. 18 Added support for configuring a magick_uintptr_t type. 19 20 2007-12-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 21 22 * magick/utility.h (MagickSafeMultiplySize_t): New function to 23 perform a safe multiply. A multiplication overflow results in 24 zero. 25 (MagickAllocateMemory): Check for size_t value truncation/overflow 26 and zero size before deciding to allocate memory. Any detected 27 failure results in a NULL pointer being returned. 28 (MagickReallocMemory): Add a type parameter to use in cast in 29 order to avoid C++ portability problem. 30 31 * PerlMagick/Magick.xs: Eliminate use of deprecated methods. 32 33 * magick/memory.c (MagickAcquireMemory): New function to allocate 34 memory. 35 (MagickAcquireMemoryArray): New function to allocate memory for an 36 array of objects. 37 (MagickCloneMemory): New function to intelligently copy memory. 38 (MagickReallocateMemory): New function to re-allocate memory. 39 (MagickReleaseMemory): New function to deallocate memory. 40 41 * magick/deprecate.c (AcquireMemory): Deprecated in favor of new 42 function MagickAcquireMemory(). 43 (CloneMemory): Deprecated in favor of new function 44 MagickCloneMemory(). 45 (LiberateMemory): Deprecated in favor of new function 46 MagickReleaseMemory(). 47 (ReacquireMemory): Deprecated in favor of new function 48 MagickReallocateMemory(). 49 50 2007-11-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 51 52 * magick/constitute.c (ReadImage): Log colorspace of returned image. 53 (WriteImage): Log colorspace of image to be written. 54 55 * coders/{miff.c,mpc.c,tga.c,tiff.c}: Use MagickBoolToString(). 56 57 * magick/{constitute.c,xwindow.c}: Use MagickBoolToString(). 58 59 * magick/image.h (MagickBoolToString): New macro to convert truth 60 value to a constant "True" or "False" string. 61 62 2007-11-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 63 64 * magick/image.c (IsImagesEqual): Allow comparing images if the 65 colorspace enumeration is different but the images are both an RGB 66 type. 67 68 2007-11-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 69 70 * magick/command.c: Add support for -monitor option to `animate`, 71 `display`, and `import`. 72 73 * coders/fpx.c (WriteFPXImage): Fix compilation problem. 74 75 * coders/dpx.c (TentUpsampleChroma): Fix access beyond array. Use 76 integer calculations where possible. 77 78 2007-11-07 Andy Armstrong <andy@hexten.net> 79 80 * PerlMagick/t/setattribute.t: Fix for typo which breaks 81 Test::Harness 3.00. 82 83 2007-10-20 Fojtik Jaroslav <JaFojtik@seznam.cz> 84 85 * mat.c: Attempt to read `logic` type modification 86 as monochrome image. 87 88 2007-10-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 89 90 * magick/blob.c (ReadBlob?SBFoo): Return 0 on EOF conditions 91 rather than a magic value concocted using ~0. The magic value was 92 very sensitive to the size/range of the type used to pass and 93 store it, leading to increased possibility of error. There was 94 also concern that sometimes a successfully read value may match 95 the magic value. Added documentation that EOFBlob() may be used 96 to determine that the blob is in EOF state. 97 98 * coders/pix.c (ReadPIXImage): Avoid reliance on a particular 99 magic value being returned from ReadBlobMSBShort on EOF. 100 101 * coders/avs.c (ReadAVSImage): Avoid reliance on a particular 102 magic value being returned from ReadBlobMSBLong() on EOF. 103 104 2007-10-07 Fojtik Jaroslav <JaFojtik@seznam.cz> 105 106 * wpg.c: Monochrome images are not using palette - 107 palette is discarded in this case. 108 109 2007-10-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 110 111 * magick/blob.h: Blob I/O APIs now use sized types so that passed 112 and returned data values are a specific size rather than 113 architecture dependent. 114 115 * PerlMagick/t/read.t: Added read test for unsigned 32-bit LSB MAT 116 format. 117 118 2007-10-01 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 119 120 * coders/dib.c (ReadDIBImage): Use appropriate sized cast for DIB 121 width and height values. Validate width and height values. 122 123 * coders/bmp.c (ReadBMPImage): Use appropriate sized cast for BMP 124 width and height values. 125 126 * magick/colorspace.c (RGBTransformImage): Use a better rounding 127 algorithm when converting to HSL/HWB colorspaces. 128 129 * magick/gem.c (TransformHSL): Avoid GCC opimization bug on 130 Opteron which caused wrong results. Ensure that returned values 131 fall within bounds 0.0 to 1.0. 132 (TransformHWB): Avoid GCC opimization bug on 133 Opteron which caused wrong results. Ensure that returned values 134 fall within bounds 0.0 to 1.0. 135 136 * PerlMagick/t/ttf/read.t: Relax strictness quite a bit for TTF 137 read tests in order to allow somewhat different FreeType output. 138 139 2007-09-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 140 141 * magick/colorspace.c (RGBTransformImage): Add missing break 142 statement. HWB colorspace was used rather than HSL. 143 (TransformRGBImage): Add missing break 144 statement. HWB colorspace was used rather than HSL. 145 146 2007-09-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 147 148 * coders/sun.c (ReadSUNImage): Properly report SUN image depth. 149 150 2007-09-28 Fojtik Jaroslav <JaFojtik@seznam.cz> 151 152 * coders/mat.c Ability to write multiple images to one MAT file. 153 Fixed bug - incorrect matrix size for gray image. 154 155 2007-09-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 156 157 * magick/shear.c (IntegralRotateImage): Rotation by 270 degrees 158 was wrong. It was flipped from what it should be. 159 160 2007-09-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 161 162 * magick/command.c (CommandProgressMonitor): Remove any preceding 163 whitespace in the task descriptions so that we don't need to 164 update all of the task descriptions right away. 165 166 * magick/colorspace.c (RGBTransformImage): Improve progress monitor message. 167 (TransformRGBImage): Improve progress monitor message. 168 169 * coders/miff.c (ReadMIFFImage): Add read progress monitor support. 170 171 2007-09-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 172 173 * coders/pdf.c (WritePDFImage): Fix writing PDF with CCITT 174 compression. Addresses SourceForge bug 1209177 "TIFF to PDF CCITT 175 compression fails". 176 177 2007-09-14 Fojtik Jaroslav <JaFojtik@seznam.cz> 178 179 * coders/mat.c Ability to read multiple images from one MAT file. 180 changed ExtendedSignedIntegralType to magick_off_t that better 181 corresponds to file positioning. 182 183 2007-09-14 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 184 185 * coders/pdf.c (WritePDFImage): Use ThumbnailImage() to create 186 thumbnail. 187 188 * coders/preview.c (WritePreviewImage): Use ThumbnailImage() to 189 create thumbnail. 190 191 * coders/xpm.c (WritePICONImage): Use ThumbnailImage() to create 192 thumbnail. 193 194 2007-09-14 Fojtik Jaroslav <JaFojtik@seznam.cz> 195 196 * coders/mat.c Several warnings has been suppressed. 197 198 2007-09-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 199 200 * coders/tiff.c (WriteTIFFImage): Fix writing to pipes and other 201 non-seekable output destinations. 202 203 * magick/blob.c (WriteBlobFile): New function to copy a disk file 204 to a blob stream. 205 206 * magick/profile.c (ProfileImage): Fix removing profiles. 207 208 2007-09-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 209 210 * coders/png.c (png_flush_data): Don't invoke SyncBlob() since it 211 does far more than force data to the output file. 212 (ReadPNGImage): Make sure that PNG read errors are reported to the 213 user. 214 215 * coders/jpeg.c (TerminateDestination): Don't invoke SyncBlob() 216 since it does far more than force data to the output file. 217 218 * magick/blob.c (SyncBlob): Remove from public interface. 219 220 2007-09-12 Fojtik Jaroslav <JaFojtik@seznam.cz> 221 222 * coders/mat.c Allowed to read signed integer matrices. 223 Fixed loop break. 224 225 2007-09-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 226 227 * coders/tiff.c (WriteTIFFImage): Ensure that selected photometric 228 most closely matches the user's expectation. Remove compression 229 if requested compression type is not compatible with the selected 230 photometric. 231 232 2007-09-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 233 234 * magick/shear.c (IntegralRotateImage): Use tiles to speed up 235 rotation by 90 or 270 degrees. 236 237 2007-09-07 Fojtik Jaroslav <JaFojtik@seznam.cz> 238 239 * coders/mat.c The flop image has been eliminated in a reader. 240 Code has been shrinked a little bit. 241 242 2007-09-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 243 244 * magick/image.c (GetImageCharacteristics): Add progress monitor support. 245 246 * magick/color.c (IsMonochromeImage): Add progress monitor support. 247 (IsGrayImage): Add progress monitor support. 248 (IsOpaqueImage): Add progress monitor support. 249 250 * coders/dpx.c (ReadDPXImage): Added progress indication. 251 252 * coders/cineon.c (WriteCINEONImage): Added progress indication. 253 254 * magick/command.c : Added a -monitor command option for 255 `composite`, `convert`, `identify`, `mogrify`, and `montage` in 256 order to enable a simple progress indicator. 257 258 2007-09-06 Fojtik Jaroslav <JaFojtik@seznam.cz> 259 260 * coders/mat.c Write native gray MAT data when gray image is detected. 261 262 2007-09-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 263 264 * magick/utility.c (GetExecutionPath): Add support for Apple OS-X, 265 Linux, and FreeBSD. 266 267 2007-09-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 268 269 * configure.ac: For Windows MinGW-based build, find Ghostscript 270 fonts installed under C:/Program Files/. 271 272 * VisualMagick/bin/delegates.mgk: Adjust quoting to Ghostscript arguments 273 so that Ghostscript DLL is passed correct commands. 274 275 * config/delegates.mgk.in: Adjust quoting to Ghostscript arguments 276 so that Ghostscript DLL is passed correct commands. 277 278 * configure.ac: Provide defaults for GSColorAlphaDevice and GSGrayDevice. 279 280 * magick/nt_base.c (NTGhostscriptGetString): Support "GPL Ghostscript". 281 282 2007-09-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 283 284 * coders/ps.c (WritePSImage): Improved Postscript writer 285 performance. 286 287 2007-09-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 288 289 * magick/profile.c (AllocateImageProfileIterator): New function to 290 allocate an image profile iterator. 291 (DeallocateImageProfileIterator): New function to deallocate an 292 image profile iterator. 293 (NextImageProfile): New function to advance the image profile 294 iterator to the next profile. 295 296 * magick/image.h (Image): Profiles are now stored in a generic 297 container. As planned years ago, the color_profile, iptc_profile, 298 generic_profile, and generic_profiles members are now removed. 299 300 2007-09-01 Fojtik Jaroslav <JaFojtik@seznam.cz> 301 302 * coders/bmp.c Ability to read true color bitmap with invalid palette size 303 like other readers do. 304 305 2007-08-31 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 306 307 * magick/pixel_cache.c (ClonePixelCacheMethods): Remove DLL export. 308 (DestroyCacheInfo): Remove DLL export. 309 (GetCacheInfo): Remove DLL export. 310 (ReferenceCache): Remove DLL export. 311 312 2007-08-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 313 314 * magick/image.c (SetImageType): More tweaks to obtain the desired 315 behavior when converting to a bilevel image. 316 317 * coders/tiff.c (WriteTIFFImage): Logic which decided the output 318 subformat to write was too convoluted to understand, and in fact 319 palette images were not be written sometimes when they should be 320 (bug added on 2007-08-19). Deleted the convoluted code and 321 replaced with a different design which should be more correct and 322 flexible. 323 (ReadTIFFImage): Decided to read bilevel TIFF using a colormap 324 since there are significant internal advantages to doing so. 325 However, the writer is carefully designed to output normal bilevel 326 TIFF so this should not annoy TIFF users. 327 328 * magick/constitute.c (ImportImagePixelArea): Re-wrote grayscale 329 pseudoclass import to be more efficient and more tidy. 330 331 2007-08-30 Fojtik Jaroslav <JaFojtik@seznam.cz> 332 333 * coders/art.c Added ART writer 334 335 2007-08-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 336 337 * magick/blob.c (ReadBlobLSBFloat): Promoted to be a public 338 interface (was in mat.c). 339 (ReadBlobMSBFloat):Promoted to be a public interface (was in 340 mat.c). 341 342 2007-08-29 Fojtik Jaroslav <JaFojtik@seznam.cz> 343 344 * coders/art.c InsertRow has been replaced by ImportImagePixelArea 345 346 2007-08-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 347 348 * coders/pnm.c (ReadPNMImage): PNM "raw" formats are now read 349 using ImportImagePixelArea() 350 351 * magick/constitute.c (ExportImagePixelArea): Added an optional 352 export_info parameter for returning information back to the user. 353 (ImportImagePixelArea): Added an optional import_info parameter 354 for returning information back to the user. 355 356 * coders/jbig.c (ReadJBIGImage): Use ImportImagePixelArea(). 357 (WriteJBIGImage): Use ExportImagePixelArea(); 358 359 * coders/tiff.c (WriteTIFFImage): Make compression logic a bit 360 more tidy. 361 362 * coders/pcx.c (WritePCXImage): Use GetImageCharacteristics(). 363 364 * coders/pcl.c (WritePCLImage): Use GetImageCharacteristics(). 365 366 * coders/dib.c (WriteDIBImage): Use GetImageCharacteristics(). 367 368 * coders/xpm.c (WritePICONImage): Use GetImageCharacteristics(). 369 370 * coders/viff.c (WriteVIFFImage): Use GetImageCharacteristics(). 371 372 * coders/tga.c (WriteTGAImage): Use GetImageCharacteristics(). 373 374 * coders/sgi.c (WriteSGIImage): Use GetImageCharacteristics(). 375 376 * coders/ps2.c (WritePS2Image): Use GetImageCharacteristics(). 377 378 * coders/pdf.c (WritePDFImage): Use GetImageCharacteristics(). 379 380 * coders/palm.c (WritePALMImage): Use GetImageCharacteristics(). 381 382 * coders/ps.c (WritePSImage): Use GetImageCharacteristics(). 383 384 * coders/jp2.c (WriteJP2Image): Use GetImageCharacteristics(). 385 386 * coders/jpeg.c (WriteJPEGImage): Use GetImageCharacteristics(). 387 388 * PerlMagick/t/read.t: Added read test for LSB `float` MAT. 389 390 2007-08-26 Fojtik Jaroslav <JaFojtik@seznam.cz> 391 392 * coders/mat.c: MAT reader now extensively uses ImportImagePixelArea. 393 394 2007-08-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 395 396 * tests/Makefile.am: Add rwblob and rwfile tests for MAT format. 397 398 * magick/constitute.c: Re-wrote Export/Import Float/Double macros 399 because they did not actually work right, and to eliminate the 400 performance penalty for native order. 401 402 2007-08-25 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 403 404 * PerlMagick/Magick.xs: Add support for "native" endian parameter 405 in PerlMagick. 406 407 * magick/command.c: Utilities now understand "native" as an 408 argument to -endian. 409 410 * magick/image.h (enum EndianType): Added NativeEndian enum value. 411 412 * configure.ac: Test libtiff for TIFFSwabArrayOfTriples(). 413 414 * magick/constitute.c (ExportImagePixelArea): Support export in 415 little, big, and native endian. 416 (ImportImagePixelArea): Support import in little, big, and native 417 endian. 418 419 2007-08-23 Fojtik Jaroslav <JaFojtik@seznam.cz> 420 421 * coders/mat.c (WriteMATLABImage): MAT writer uses 422 ExportImagePixelArea() now. Fix issues noticed by valgrind. 423 424 2007-08-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 425 426 * coders/pnm.c (WritePNMImage): Use `-quality 0` rather than 427 `-compress none` to select the PNM ASCII subformats. This change 428 is made based on the principle of least surprise. 429 430 * magick/constitute.c (ExportImagePixelArea): Add a GrayQuantum 431 implementation for exporting from two color PsuedoClass. 432 433 * coders/pnm.c (WritePNMImage): Use GetImageCharacteristics() and 434 ExportImagePixelArea() in implementation. 435 436 2007-08-20 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 437 438 * magick/constitute.c (ExportImagePixelArea): Performance 439 improvements. 440 (ImportImagePixelArea): Performance improvements. 441 442 2007-08-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 443 444 * magick/command.c (IdentifyImageCommand): If "%r" is present in 445 -format specifier, then read whole image. 446 447 * magick/utility.c (TranslateTextEx): Undocumented "%r" 448 substitution now returns a string based on GetImageType() rather 449 than a concatentation of image class and "Matte". 450 451 * coders/tiff.c (WriteTIFFImage): Use GetImageCharacteristics(). 452 453 * magick/image.c (GetImageCharacteristics): New function to 454 evaluate the basic characteristics of the image. 455 (GetImageType): Use GetImageCharacteristics(). 456 457 2007-08-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 458 459 * coders/dpx.c (RegisterDPXImage): Remove extra newline in usage 460 note. 461 462 * coders/fax.c (RegisterFAXImage): Fix note to reflect that the 463 output from this coder is *not* a TIFF subformat as was previously 464 claimed. 465 466 * coders/tiff.c (WriteTIFFImage): Output G3 TIFF FAX images as per 467 the TIFF Class F specification. 468 469 2007-08-16 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 470 471 * magick/{api.h, studio.h}: Strip out legacy MacOS 9 and VMS "support". 472 473 * magick/{nt_base.c, unix_port.c} (MagickGetMMUPageSize): New function to obtain 474 the VM page size. 475 476 * magick/pixel_cache.c (PersistCache): Fix a terrible memory leak 477 when reading MPC files. Added Cache reference-count logging. 478 479 2007-08-12 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 480 481 * magick/command.c (BenchMarkSubCommand): Added a new `benchmark` 482 GraphicsMagick command which can be used to perform benchmarking 483 on any other GraphicsMagick command. 484 485 2007-08-11 Fojtik Jaroslav <JaFojtik@seznam.cz> 486 487 * coders/mat.c (ReadMATImage): Support image is_grayscale flag. 488 Add some coder logging. 489 490 2007-08-11 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 491 492 * magick/{paint.c, render.c, annotate.c}: Use AlphaComposite() 493 from alpha_composite.h. 494 495 * magick/alpha_composite.h (BlendComposite): Move inline 496 BlendComposite() to a header file since it is used in multiple 497 places. 498 499 * magick/{shear.c, image.c}: Use BlendComposite() from 500 alpha_composite.h. 501 502 * magick/image.c (SetImageDepth): Don't bother to test current 503 depth in advance. Preserve is_monochrome flag. Encapsulate 504 bit-reduction algorithm in a macro. Be a bit smarter with 505 PseudoClass images. 506 (SyncImage): Preserve is_monochrome flag. Improve performance 507 when image does not have an opacity channel. 508 509 * PerlMagick/t/read.t: Allow some error when reading double MAT. 510 511 2007-08-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 512 513 * PerlMagick/t/read.t: Update MAT read tests according to 514 instructions from Fojtik Jaroslav. 515 516 2007-08-06 Fojtik Jaroslav <JaFojtik@seznam.cz> 517 518 * coders/wpg.c (ReadWPGImage): Support WPG files which use XOR 519 operator. 520 521 2007-08-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 522 523 * magick/blob.c (ReadBlobLSBdouble): Migrate from mat.c. 524 (ReadBlobMSBdouble): Migrate from mat.c. 525 526 2007-08-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 527 528 * magick/constitute.c (ExportImagePixelArea): Add optimized 529 support for 2 and 16 color PseudoClass. 530 (ImportImagePixelArea): Add optimized support for 2 and 16 color 531 PseudoClass. 532 533 * magick/constitute.c (ImportImagePixelArea): Add option to output 534 pad bytes at end of pixel data. Added optimized implementation of 535 IndexQuantum for bilevel images. 536 537 * coders/tiff.c (WriteTIFFImage): Be smarter when writing gray 538 Palette and grayscale TIFF images in order to not waste time. 539 540 * coders/bmp.c (ReadBMPImage): Use ImportImagePixelArea() when 541 reading and writing bilevel and colormapped images. 542 (WriteBMPImage): Use ExportImagePixelArea() when writing bilevel 543 images. 544 545 * magick/version.h.in: Added wrapping for copyright line to a 546 reasonable width. 547 548 * AUTHORS: Added Daniel Kobras. 549 550 * magick/command.c (VersionCommand): Added feature support list to 551 -version output. 552 553 2007-08-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 554 555 * magick/command.c (AnimateImageCommand): Add support for -type to 556 `animate`. 557 (DisplayImageCommand): Add support for -type to `convert` 558 559 * config/delegates.mgk.in, VisualMagick/bin/delegates.mgk: Added 560 gs-gray and gs-color+alpha delegate definitions. 561 562 * coders/{ept.c, pdf.c, ps.c}: Respect a -type Bilevel, Grayscale, 563 TrueColor, or TrueColorMatte request by passing appropriate 564 options to Ghostscript for rendering.. 565 566 2007-07-31 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 567 568 * magick/constitute.c (ImportImagePixelArea): Improved read speed 569 for bilevel gray image. Many thanks to Mark Mitchell for 570 inspiration and ideas. 571 572 * coders/caption.c (ReadCAPTIONImage): Eliminate use of strcpy(). 573 574 * coders/pnm.c (ReadPNMImage): Add logging as well as support for 575 is_monochrome and is_grayscale flags. 576 577 * magick/color.h (IsMonochrome): Add parenthesis so macro is more 578 robust. 579 580 2007-07-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 581 582 * coders/html.c (WriteHTMLImage): Eliminate use of strncat(). 583 584 * coders/locale.c (ReadConfigureFile): Eliminate use of strncat(). 585 586 * coders/png.c (ReadOnePNGImage): Eliminate use of strncat(). 587 588 * magick/fx.c (ConvolveImage): Eliminate use of strncat(). 589 590 * coders/tiff.c (WriteTIFFImage): Eliminate use of strncat(). 591 592 * magick/delegate.c (InvokePostscriptDelegate): Eliminate 593 doubled-output when running in verbose mode. 594 595 2007-07-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 596 597 * magick/delegate.c (InvokePostscriptDelegate): MagickSpawnVP() 598 requires three parameters. 599 600 2007-07-27 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 601 602 * bzlib: Updated bzip2 to 1.0.4. 603 604 * jbig: Updated jbigkit to 1.6 605 606 * jp2: Updated JasPer to 1.900.1. 607 608 * lcms: Updated lcms to 1.16 609 610 * png: Updated libpng to 1.2.18. 611 612 2007-07-24 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 613 614 * coders/xc.c (ReadXCImage): If ImageInfo type field is set to 615 TrueColorType or TrueColorMatteType type, then return a 616 DirectClass image, otherwise a PseudoClass image is returned as 617 before. From the command line this can be used like: 618 `gm convert -size 640x480 -type TrueColor xc:red red.miff`. 619 Programs may also use this in order to obtain a DirectClass 620 canvas image to draw on. 621 622 * magick/enhance.c (LevelImage): Fix potential buffer overflow 623 which was added since the 1.1 branch. 624 625 2007-07-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 626 627 * magick/delegate.c (UnixShellTextEscape): Don't escape newline 628 character since it performs the opposite of what is desired. 629 630 2007-07-23 Daniel Kobras <kobras@debian.org> 631 632 * magick/delegate.c (UnixShellTextEscape): Fix fencepost error 633 when checking whether escaping is safe. 634 635 2007-07-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 636 637 * Makefile.am: Retire VMS and MacOS 9 support from package. 638 639 2007-07-22 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 640 641 * coders/{cmyk.c, gray.c, mono.c, rgb.c, uyvy.c, wbmp.c, yuv.c} 642 (ReadFOOImage): Check for EOF while searching for start of image 643 data. 644 645 * tests/Makefile.am: Don't test PTIF format with blob I/O since it 646 is not possible to pass the rwblob test and it is really an output 647 driver rather than a format. 648 649 * libtool: Update to latest CVS libtool. 650 651 * magick/constitute.c (ExportModulo8Quantum): Move Import and 652 Export macros from header file since they are not used anywhere 653 else. 654 655 * coders/dpx.c: Add underscore suffix to macro local variable 656 names in order to avoid conflict with names in code using the 657 macros. 658 659 2007-07-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 660 661 * wand/magick_wand.c: Reduce the number of warnings when compiling 662 the Wand library. 663 664 * coders/xwd.c (XWD_OVERFLOW): Eliminate comparison between signed 665 and unsigned. 666 667 * coders/pnm.c (ValidateScalingIndex): Eliminate check to see if 668 unsigned type is less than zero. 669 670 * magick/log.c (LogMagickEvent): Even though log file name comes 671 from a controlled source (log.mgk), perform safe numeric 672 substitution on it. 673 674 * coders/xwd.c (ReadXWDImage): Eliminate conflict between locally 675 defined OVERFLOW macro and similarly named macro under Windows. 676 677 2007-07-18 Daniel Kobras <kobras@debian.org> 678 679 * coders/xwd.c (ReadXWDImage): Integer overflow fix 680 (CVE-2007-1797). From Debian patch 681 xwd_integer_overflow_fixes_CVE-2007-1797. 682 (ReadXWDImage): Fix for integer under/overflow. From Debian patch 683 xwd_overflow_fix. 684 685 * coders/wpg.c (ReadWPGImage): WPG segfault fix. From Debian 686 patch wpg_segfault_fix. 687 688 * coders/viff.c (ReadVIFFImage): Verify number of bands prior to 689 using image. From Debian patch viff_heap_corruption_fix. 690 691 * coders/sun.c (ReadSUNImage): Sun segfault fix. From Debian 692 patch sun_segfault_fix. 693 694 * magick/blob.c (ReadBlobStream): Never try to read data beyond 695 EOF in blob streams. Some (but not all) ReadBlob*() methods 696 already implemented similiar checks. Moving it to the central 697 ReadBlobStream() increases robustness and prevents out-of-bounds 698 reads. From Debian readblob_offset_robustness patch. 699 700 * coders/pnm.c (ReadPNMImage): Validate pixel scaling. From 701 Debian pnm_scale_fix patch. 702 703 * coders/pict.c (ReadPixmap): PICT segfault fix. From Debian 704 pict_segfault_fix patch. 705 706 * coders/pcx.c (ReadPCXImage): PCX heap overflow fix. From Debian 707 pcx_heap_overflow_fix patch. 708 (ReadPCXImage): PCX segfault fix. From Debian pcx_segfault_fix. 709 710 * magick/montage.c, PerlMagick/t/montage.t: Do not pass bogus 711 negative values to modulate shadow in montage. Instead, drop a 712 constant grey shadow like current ImageMagick. From Debian 713 montage_shadow_fix patch. 714 715 * coders/png.c (ReadMNGImage): MNG segfault fix. From Debian 716 mng_segfault_fix patch. 717 718 * utilities/miff.4: MIFF man page apropos fix. From 719 Debian miff_apropos_fix patch. 720 721 * coders/icon.c (ReadIconImage): Icon segfault fix. From Debian 722 icon_segfault_fix patch. 723 724 * tests/drawtest.c: Make sure filename strings do not run out of 725 bounds in drawtest. From Debian drawtest_segfault_fix patch. 726 727 * config/delegates.mgk.in: Remove obsolete option -2 when calling 728 dcraw as a delegate. From Debian dcraw_options_fix patch. 729 730 * coders/dcm.c (ReadDCMImage): Fix integer overflow in DCM 731 coder. (CVE-2007-1797). From Debian dcm_overflow_fix patch. 732 733 * coders/bmp.c (ReadBMPImage): Verify file seek success. From 734 Debian bmp_overflow_fix patch. 735 736 2007-07-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 737 738 * magick/utility.h (MagickReallocMemory): It seems that realloc() 739 frees the provided memory pointer if the requested size is zero. 740 This was causing MagickReallocMemory() to perform a double-free 741 under error conditions. Inspired by Debian 742 realloc_double_free_fix patch by Daniel Kobras. 743 744 2007-07-18 Daniel Kobras <kobras@debian.org> 745 746 * magick/quantize.c (GrayscalePseudoClassImage): Fix computation 747 of memory required for colormap index 748 (colormap_heap_overflow_fix). 749 750 2007-07-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 751 752 * coders/miff.c (WriteRunlengthPacket): Converted excessively long 753 macro to a function and hopefully eliminate warnings when using 754 Visual Studio 2005. 755 * magick/pixel_cache.c (ClonePixelCache): Eliminate bug when 756 size_t is an unsigned type. 757 758 2007-07-15 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 759 760 * magick/image.c (SetImageInfo): Address security issue noted by 761 CVE-2006-0082 762 http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2006-0082 in 763 which output filenames matching arbitrary printf specifications 764 may cause GraphicsMagick to crash. 765 766 * magick/utility.c (TranslateTextEx): New version of TranslateText 767 which allows copying each attribute via a user-provided callback 768 function. 769 770 * magick/delegate.c (InvokeDelegate): Implement secure delegate 771 execution in POSIX environments in order to avoid injection of 772 arbitrary shell commands via carefully crafted filenames. Fixes 773 Debian Bug 345238 "[CVE-2005-4601] Shell command injection in 774 delegate code (via file names)" 775 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=345238 776 777 2007-07-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 778 779 * magick/forward.h: New header file to support forward type 780 declarations. 781 782 * coders/pnm.c (ReadPNMImage): Fix pixel scaling problem caused by 783 floating point rounding error. 784 785 2007-07-07 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 786 787 * magick/studio.h: Provide pread() and pwrite() prototypes if they 788 are missing. 789 790 * configure.ac: Check for missing pread() and pwrite() prototypes. 791 792 * m4/ac_func_fseeko.m4: Use fixed version of AC_FUNC_FSEEKO. 793 794 * magick/utility.c (SystemCommand): Avoid use of snprintf. 795 796 2007-07-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 797 798 * magick/blob.c: Only replace getc_unlocked() and putc__unlocked() 799 for a thread-safe build. 800 801 * magick/studio.h: Always use fseeko() and ftello() if they are 802 available. 803 804 2007-07-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 805 806 * coders/dpx.c (ReadDPXImage): Avoid using seek() if possible, and 807 don't use at all if the input is not seekable. 808 809 * coders/psd.c (ReadPSDImage): Eliminate memory leak when reading 810 PSD files. Fixes Sourceforge issue 1625477 "Memory leak reading 811 layered PSD Image". 812 813 2007-06-29 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 814 815 * magick/command.c: Fixed -affine command argument 816 validation. Fixes SourceForge issue 1743141 "Affine matrix option 817 parsing". 818 819 * config/magic.mgk: Added detection for BigTIFF. 820 821 * coders/tiff.c: Preliminary work to support BigTIFF. 822 823 2007-06-18 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 824 825 * coders/dpx.c: Fix problems encountered when reading and writing 826 from/to pipes or compressed files. 827 828 2007-06-17 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 829 830 * coders/dpx.c (ReadDPXImage): Improved the pixel data marshalling 831 in order to obtain better read performance for 10-bit DPX. 832 833 * magick/blob.c (OpenBlob): Added support for MAGICK_MMAP_READ and 834 MAGICK_MMAP_WRITE environment variable options to enable input and 835 output file access using mmap(). 836 837 2007-06-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 838 839 * magick/blob.c (OpenBlob): Use MAGICK_IOBUF_SIZE to tune the size 840 of the I/O buffer. Sometimes performance is improved by using 841 something other than the current default of 16KB. 842 843 2007-06-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 844 845 * coders/miff.c (ReadMIFFImage): Handle case where compression 846 keyword is present but has value of `None`. 847 848 2007-06-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 849 850 * magick/blob.c (OpenBlob): Disable reading input files using 851 memory mapping since it has been learned that some operating 852 systems fail to do read-ahead on network files. Without 853 read-ahead, performance is poor. 854 855 * magick/resource.c (AcquireMagickResource): Map resource limit 856 was not being properly checked due to a typo. The memory limit 857 was being tested instead. 858 859 * coders/tiff.c (ReadTIFFImage): Use libtiff to decode OJPEG 860 compressed files into RGB. Probably requires new OJPEG 861 implementation from Joris Van Damme which is new in libtiff and 862 not yet released. I am not completely sure that this approach is 863 correct yet. 864 865 2007-05-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 866 867 * magick/xwindow.c (MagickXGetWindowImage): Set image->depth 868 appropriately. 869 870 * many files: Compiler warnings reduction. 871 872 2007-05-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 873 874 * coders/cineon.c (ReadCINEONImage): Alter sample scaling 875 algorithm a bit. 876 877 * tests/rwblob.c, tests/rwfile.c: Allow some slop when testing 878 Cineon format with QuantumDepth=8 since we are currently only 879 supporting 10 bit samples. 880 881 2007-05-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 882 883 * coders/jpeg.c (ReadJPEGImage): Fix reading 12-bit grayscale 884 JPEG. 885 886 2007-05-06 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 887 888 * coders/cineon.c (WriteCINEONImage): Re-wrote Cineon writer from 889 scratch. There is no code originating from ImageMagick in this 890 source module any more. 891 892 2007-04-30 Fojtik Jaroslav <JaFojtik@seznam.cz> 893 894 * coders/art.c, coders.cut.c, coders/mat.c, coders/wpg.c: Add 895 support for PingImage() so that image identification is fast by 896 default. Also eliminates error message produced by mat.c due to 897 rotating an image which has no pixel cache. 898 899 2007-04-09 Fojtik Jaroslav <JaFojtik@seznam.cz> 900 901 * coders/wpg.c (ReadWPGImage): Fix for SourceForge bug id 1431805 902 "clip art wpg files cause access violation in graphics magick". 903 904 2007-04-09 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 905 906 * magick/pixel_cache.c (ModifyCache): Ensure that the cache nexus 907 is open. Fix for SourceForge bug id 1173713 "segfault in 908 ModifyCache" 909 910 * m4/acx_pthread.m4 (ACX_PTHREAD): Apply fixes necessary to 911 support C++ compiler properly. 912 913 2007-04-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 914 915 * magick/GraphicsMagick.pc.in: Fix for SourceForge bug id 1576616 916 "Fix includedir variable in pkg-config files". 917 918 * magick/pixel_cache.c (GetOnePixel): Fix for SourceForge bug id 919 1572357 "GetOnePixel definition appears incorrect". It is true 920 that this function is intended for read-only purposes and that the 921 PixelPacket value is returned directly. 922 923 * coders/pdf.c (WritePDFImage): Fix for SourceForge bug id 1510075 924 "Failed to write PDF with JPEG compression". 925 926 * magick/command.c (MogrifyImageCommand): Properly bubble up 927 errors and terminate further mogrify processing immediately. This 928 in response to SourceForge bug id 1391421 "problem doing resize on 929 273x1 JPEG". 930 931 * magick/magick.c (InitializeMagickClientPathAndName): Fix for 932 SourceForge bug id 1315109 "segfault in InitializeMagick(NULL)". 933 934 * wand/magick_wand.c (MagickGetQuantumDepth): Fix for SourceForge 935 bug id 1353744 "MagickGetQuantumDepth doesn't work". 936 937 * PerlMagick/t/read.t: Added a test for WPG v1. 938 939 2007-04-07 Fojtik Jaroslav <JaFojtik@seznam.cz> 940 941 * coders/mat.c: Read Matlab files in both big and little endian 942 format. 943 944 2007-03-28 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 945 946 * coders/dpx.c (WriteDPXImage): Set DPX reference high quantity to 947 2.047 rather than 2.048 since zero is assumed to occupy one count 948 and 2.047 seems to be the convention even though the DPX 949 specification says the default is 2.048. Technicolor uses 2.047. 950 951 * m4/acx_pthread.m4: Update version of ACX_PTHREAD macro used. 952 953 2007-03-28 Fojtik Jaroslav <fojtik@humusoft.cz> 954 955 * coders/wpg.c: Support CTM translation in WPG reader. 956 957 2007-03-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 958 959 * coders/dpx.c: Store 10-bit Luma samples in the filled 32-bit 960 storage word starting with the datum in the least significant 961 position. 962 963 2007-02-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us> 964 965 * Updated autoconf to version 2.61. 966 967 2007-02-10 Daniel Kobras <kobras@debian.org> 968 969 * coders/palm.c: (ReadPALMImage) Do not implicitly call 970 ReadBlobByte() twice in Min() macro. Patch thanks to Vladimir 971 Nadvornik. This was a regression introduced in patch for 972 CVE-2006-5456. (CVE-2007-0770) 973