47
49
* magick/image.h: Added some useful macros for accessing
48
50
PixelPacket members in a generic way.
49
* coders/dpx.c (ReadDPXImage): For YCbCr with 'A' sample, 'A'
52
* coders/dpx.c (ReadDPXImage): For YCbCr with `A` sample, `A`
50
53
sample levels are like Luma.
51
(WriteDPXImage): For YCbCr with 'A' sample, 'A' sample levels are
54
(WriteDPXImage): For YCbCr with `A` sample, `A` sample levels are
54
57
2005-12-02 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
67
70
YCbCr files. Handle files which use Printing Density on top of
68
71
YCbCr. Default YCbCr to Rec.709 if the transfer characteristic is
70
74
* coders/pcd.c (Upsample): Moved Upsample from gem.c to here since
71
75
PCD is the only user and it is not a general purpose function.
80
84
* wand/magick_compat.c (FormatMagickStringList): MagickExport since this
81
85
function is used by Ch extension.
82
87
* magick/log.c (LogMagickEventList): MagickExport since this
83
88
function is used by Ch extension.
84
90
* magick/utility.c (FormatStringList): MagickExport since this
85
91
function is used by Ch extension.
86
93
* coders/dpx.c (ReadDPXImage): Added support for dpx:swap-samples
87
94
define in order to handle files with Cb and Cr swapped. Fixed a
88
95
bug in the header reading which caused some valid files to fail to
90
97
(WriteDPXImage): Added support for dpx:swap-samples define in
91
98
order to write files with Cb and Cr swapped.
92
100
* magick/profile.c (ProfileImage): Add support for ICC CMS
93
101
profiles in YCbCr space.
106
114
2005-10-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
108
116
* VisualMagick/magick/magick_types.h.in: Add patch for Ch.
109
118
* magick/command.c (TransmogrifyImage): Complete re-write of
110
119
mogrify file handling. Former version wrote to a temporary file
111
120
and then moved temporary file to replace original if necessary.
112
121
New version moves an existing writable file to a backup file with
113
tilde ('~') added to end of file name, writes to the final output
122
tilde (`~`) added to end of file name, writes to the final output
114
123
file name, and removes the backup file on success. The new
115
124
approach satisfies formats which embed the output name in the file
116
125
(e.g. the DPX format) and still works when the output file exists
131
140
* magick/attribute.c (GetImageAttribute): Add more general support
132
141
for retrieving wildcarded attributes so that an identify -format
133
specification like '%[dpx:*]' works as expected.
142
specification like `%[dpx:*]` works as expected.
134
144
* coders/tiff.c (WriteTIFFImage): Transform quality value into zip
135
145
compression quality level similar to what is done for MIFF/MNG/PNG.
136
146
Since default quality value is 75, this means that the default zip
156
166
2005-09-18 Stepan Kasal <kasal@ucw.cz>
158
168
* Makefile.am (BUILT_SOURCES): Removed.
159
170
* magick/Makefile.am (MAGICK_BUILT_SRCS): Removed, too.
161
172
2005-09-12 Glenn Randers-Pehrson <glennrp@glennrp.com>
175
187
* coders/dpx.c: Added support for reading and writing DPX Luma
176
188
files using proper video levels.
177
190
* magick/colorspace.h (enum ColorspaceType): Decided that
178
191
GRAYColorspace should be reserved for full-range grayscale data
179
192
while Rec601LumaColorspace and Rec709LumaColorspace should be for
180
193
video colorspaces. Therefore, GRAYColorspace is no longer a
181
194
synonym for Rec601LumaColorspace.
182
196
* magick/colorspace.c: Added support for influencing Cineon Log
183
197
colorspace transformations via image attributes.
184
198
Perform colorspace transformations in floating point rather than
185
199
integer in order to reduce the amount of noise added by
186
200
transform table quantization.
187
202
* coders/psd.c (WritePSDImage): Ensure that output image is 8 or
188
203
16-bits regardless of specific image depth.
189
205
* coders/dpx.c: Added support for planar YCbCr 4:2:2.
191
207
2005-08-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
220
236
* coders/jp2.c: Change how Jasper is intialized. Hopefully
221
237
eliminate memory leak when reading ICC color profile.
222
239
* Overall: Compilation warning elimination with GCC 4.0.1.
223
241
* magick/utility.c (SystemCommand): Always report error status if
226
244
2005-07-26 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
228
246
* zlib: Updated to version 1.2.3.
229
248
* coders/dpx.c: Use TriangleFilter for scaling chroma.
231
250
2005-07-21 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
233
252
* coders/dpx.c: Support proper encode and decode of YCbCr video
235
255
* magick/colorspace.c: Support Rec709YCbCrColorspace colorspace.
237
257
2005-07-05 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
239
259
* magick/{animate.c, display.c, import.c, xwindow.c}: Rename all
240
symbols starting with 'X' so that they are prefixed with 'Magick'.
260
symbols starting with `X` so that they are prefixed with `Magick`.
241
261
This eases maintenance since it is almost impossible to understand
242
262
code which pretends to be the X11 libraries. The few programs
243
which use the GraphicsMagick 'X' functions will need to alter the
263
which use the GraphicsMagick `X` functions will need to alter the
244
264
symbol names they use. Sorry.
245
266
* magick/command.c (DisplayImageCommand): Don't invoke
246
267
XrmDestroyDatabase() to destroy the resource database associated
247
268
with the display since it seems that XCloseDisplay() does this for
249
271
* magick/image.c (DisplayImages): Don't invoke
250
272
XrmDestroyDatabase() to destroy the resource database associated
251
273
with the display since it seems that XCloseDisplay() does this for
253
276
* coders/uyvy.c: Enforce image width restrictions.
254
278
* coders/dpx.c: Enforce image width restrictions when subsampling.
256
280
2005-07-03 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
258
282
* coders/dpx.c: Support reading and writing subsampled CbYCr
259
283
images. Colorimetery is not right yet.
260
285
* magick/colorspace.h (enum Rec709YCbCrColorspace): New
261
286
enumeration for Rec. 709 YcBCr colorspace.
306
331
* coders/dpx.c (ReadDPXImage): Change existing
307
332
dpx:source-colorspace define to dpx:colorspace so it is easier to
309
335
* coders/cineon.c (ReadCINEONImage): Extract Cineon header
310
336
attributes in DPX compatible form so that it is possible to
311
337
convert Cineon to DPX while losing as little header information as
363
390
* coders/jp2.c (ReadJP2Image): Return JP2 images as DirectClass
364
391
grayscale rather than PseudoClass.
365
393
* coders/gray.c (ReadGRAYImage): Return GRAY images as DirectClass
366
394
grayscale rather than PseudoClass.
367
396
* coders/dpx.c: Rewrote the DPX pixel reading/writing code yet
368
397
again to obtain up to 2X better performance. In the process,
369
398
support little-endian pixel storage.
373
402
* coders/dpx.c: Added some performance optimizations for reading
374
403
and writing. Write the motion picture and television headers.
375
405
* magick/colorspace.c (TransformRGBImage): Update image colorspace
376
406
to RGB when transforming from Cineon log space to RGB.
377
408
* coders/dpx.c (WriteDPXImage): Set image date & time field.
378
409
(ReadDPXImage): Retrieve television header SMTPE time code and
379
410
user bits and return them as a formatted string.
383
414
2005-05-10 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
385
416
* coders/dpx.c (WriteDPXImage): Default to big-endian output.
386
418
* magick/delegate.c (InvokePostscriptDelegate): Improved
387
419
Ghostscript API-based error reporting and logging.
388
421
* magick/attribute.c (GenerateEXIFAttribute): Extend EXIF
389
422
knowledge a bit. Pass more characters from EXIF_FMT_BYTE in case
390
423
the byte stream contains nulls.
391
425
* coders/dpx.c: Re-wrote the DPX read/write support in order to
392
426
hopefully surmount problems noticed when testing with files sent
394
429
* wand/pixel_wand.c (PixelSetYellowQuantum): Wrong PixelPacket
395
430
member was being set. Thanks to Cristy for the heads-up.
396
432
* magick/image.c (SetImageType): Revert change from 2005-03-12.
397
433
Some coders require that when the image is set to Bilevel type,
398
434
that it be PseudoClass.
419
456
* coders/dpx.c (WriteDPXImage): Fill out source information
421
459
* Magick++: Added image leveling methods for Magick++.
423
461
2005-04-23 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
425
463
* NEWS: Update with latest news.
426
465
* magick/blob.c (WriteBlob): Move BlobStream write support to a
427
466
subroutine for easier maintenance.
428
468
* coders/dpx.c (ReadDPXImage): Support retrieving all DPX
429
469
attributes as image attributes.
430
470
(WriteDPXImage): Buffer writes for better performance on some
453
493
2005-04-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
455
495
* coders/miff.c (WriteMIFFImage): Normalize image depth to 8/16/32.
456
497
* coders/gray.c (WriteGRAYImage): Normalize image depth to 8/16/32.
457
499
* coders/fits.c (WriteFITSImage): Normalize image depth to 8/16.
458
501
* tests/Makefile.am: Extended read/write tests to include 10, 12,
459
502
and 16-bit original test images.
460
504
* coders/dpx.c (ReadDPXImage): If samples are log encoded, then
461
505
set the image to CineonLogRGBColorspace.
462
506
(WriteDPXImage): If image samples are log encoded, then mark DPX
463
507
file as being log encoded.
464
509
* magick/colorspace.c (TransformRGBImage): Support translation
465
510
from log RGB to linear RGB based on Cineon guidelines.
466
511
(RGBTransformImage): Support translation from linear RGB to log RGB.
467
513
* magick/colorspace.h (enum CineonLogRGBColorspace): New
468
514
enumeration to record that the RGB values are log encoded in a
469
515
2.048 density range as defined for the Cineon Digital Film System.
473
519
* magick/command.c: Take advantage of ColorspaceTypeToString() and
474
520
StringToColorspaceType() functions in implementation.
475
522
* magick/colorspace.c (RGBTransformImage): Added support for
476
523
converting to Rec 709 grayscale colorspace.
477
524
(ColorspaceTypeToString): New function to translate from
490
537
* magick/command.c (IdentifyImageCommand): Use +ping to force
491
538
identify to read the image pixels.
492
540
* magick/constitute.c (PingImage): Intentionally clear
493
541
user/elapsed timer when ping is used on an image since the results
495
544
* magick/image.c (DescribeImage): Only display pixel read rate if
496
545
the time accumulated is at least the timer's resolution.
497
547
* magick/cache.c (OpenCache): Fix a memory resource leak noticed
498
548
by Stefan v. Wachter <svwa-dev@mnet-online.de>. This error with
499
549
keeping track of resources may eventually cause GraphicsMagick to
536
586
* coders/jpeg.c (ReadJPEGImage): Throw a "Corrupt Image" exception
537
587
if EOF is encountered while reading scanlines.
538
589
* coders/pcx.c (ReadPCXImage): Throw a "Corrupt Image" exception
539
590
if EOF is encountered while reading pixels.
543
594
* coders/dpx.c (ReadDPXImage): First pass at a new SMPTE268M-2003
545
597
* magick/bit_stream.h (WordStreamLSBRead): New function to parse
546
598
values from a stream which is defined by 32-bit words. Values are
547
599
read starting with the least significant bits.
556
608
* magick/endian.c: Imported libtiff's swab.c since its functions
557
609
are so useful and well-tested.
558
611
* magick/utility.c (FormatSize): Extend to support incredibly
560
614
* magick/image.c (DescribeImage): Use GetTimerResolution() when
561
615
computing pixels-per-second rate in order to avoid computing
562
616
astronomical rates when the time consumed is too small to measure.
563
618
* magick/timer.c (GetTimerResolution): New function to return the
564
619
timer's resolution.
573
628
* magick/nt_base.h (lt_dlerror): Needed to provide a mapping to
575
631
* coders/tiff.c (TIFFErrors): Update to make thread safe via
576
632
thread specific data.
577
633
(TIFFWarnings): Update to make thread safe via thread specific
579
636
* magick/tsd.c (MagickTsdKeyCreate): New function to support
580
637
thread specific data.
581
638
(MagickTsdKeyDelete): ditto
587
644
* magick/image.c (ReplaceImageColormap): New function to replace
588
645
the image colormap with a user-provided one. Colormap indexes are
589
646
adjusted to point to identical colors in the new colormap.
590
648
* magick/nt_base.h: Reorganized a bit to cluster code supporting
591
649
similar features in the same area of the header.
592
651
* magick/nt_base.c: Renamed wrappers for standard functions so
593
that they have the prefix 'NT'. Macros are used to apply the new
652
that they have the prefix `NT`. Macros are used to apply the new
594
653
names. This assures that there will not be conflicts if the library
595
654
is linked with a different package's wrapper functions.
602
661
2005-03-13 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
604
663
* jp2: Updated Jasper library to version 1.701.0.
605
665
* magick/nt_base.c (NTGhostscriptFonts): Fixed a coding error
606
666
which was added when strcpy/strcat code was replaced with
607
667
strlcpy/strlcat. Ghostscript fonts were not being found.
608
669
* magick/constitute.c (ReadImage): Don't attempt to access image
609
670
members if image pointer is null. Oops!
613
674
* magick/image.c (SetImageType): Bilevel image is not required to
614
675
be PseudoClass type.
615
677
* coders/mpc.c (WriteMPCImage): Persist is_monochrome and
616
678
is_grayscale flags.
617
679
(ReadMPCImage): Restore is_monochrome and is_grayscale flags.
618
681
* magick/constitute.c (WriteImage): Extended logging to include
619
682
monochrome and grayscale flags.
620
683
(ReadImage): Extended logging to include monochrome and grayscale
622
686
* magick/image.c (DescribeImage): Include the effective pixel I/O
623
687
rate alongside the image read/write time. This provides an easier
624
688
way to evaluate image read/write performance when looking at
625
'identify' or 'convert -verbose' output.
689
`identify` or `convert -verbose` output.
626
691
* coders/sun.c (ReadSUNImage): Ensure that pixel length value does
627
692
not overflow for large images.
641
706
2005-03-09 Arne Rusek <zonk@matfyz.cz>
643
708
* magick/attribute.c (GenerateEXIFAttribute): Offset type
644
correction to fix loop termination if size_t type is not 'long'.
709
correction to fix loop termination if size_t type is not `long`.
646
711
2005-03-09 Alexander Yaworsky <yaworsky@users.sourceforge.net>
662
728
* magick/alpha_composite.h (AlphaComposite): Moved AlphaComposite
663
729
to new alpha_composite.h header since it was causing porting
665
732
* magick/constitute.h (enum QuantumType): Added CIEYQuantum and
666
733
CIEXYZQuantum quantum import options.
667
735
* coders/tiff.c (ReadTIFFImage): Import LogLuv image data within
668
736
GraphicsMagick (rather than libtiff) so that color resolution is
669
737
not lost. Results in a small speedup as well.
670
739
* magick/constitute.c (ImportImagePixelArea): Add a speed-up for
671
740
importing bi-level images. Add support for importing pixels in
672
741
CIE XYZ and CIE Y colorspaces.
673
743
* coders/tiff.c (ReadTIFFImage): Support reading TIFF images which
674
744
fail to properly scale the samples to the sample size (e.g. 12
675
745
bits in a 16-bit sample).
676
746
(WriteTIFFImage): Adjustments to strip-size (rows-per-strip)
678
749
* magick/constitute.c (ExportImagePixelArea): Support exporting
679
750
unsigned samples with values which span only part of the range.
680
751
For example, 12 bit data may be exported within 16 bit samples,
687
758
* coders/tiff.c (ReadTIFFImage): Support reading TIFF files in
689
760
(WriteTIFFImage): Support writing TIFF files in IEEEFP format.
690
762
* magick/constitute.c (ExportImagePixelArea): Support exporting
691
763
floating point data.
692
764
(ImportImagePixelArea): Support importing floating point data.
696
768
* acinclude.m4 (AC_CXX_IOS_BINARY): Added macro to detect if the
697
769
C++ compiler lacks support for ios::binary.
698
771
* configure.ac: Use AC_CXX_IOS_BINARY.
700
773
2005-02-19 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
711
784
* win2k/IMDisplay/IMDisplayView.cpp (DoDisplayImage): Use
712
785
TextureImage to apply background pattern.
713
787
* magick/image.c (TextureImage): Alpha blend the texture onto the
714
788
background if the image has a matte channel.
715
790
* magick/constitute.h (enum QuantumType): Eliminated
716
791
GrayInvertedQuantum and GrayInvertedAlphaQuantum which were added
717
792
since GraphicsMagick 1.1. Replaced this "inverted" gray
718
793
functionality with the grayscale_inverted flag in
719
794
ExportPixelAreaOptions and ImportPixelAreaOptions.
720
796
* magick/constitute.c (ExportImagePixelArea): Added an extra
721
797
parameter for passing seldom used options via an
722
798
ExportPixelAreaOptions structure.
726
802
ExportPixelAreaOptions structure with defaults.
727
803
(ImportPixelAreaOptionsInit): New function to intialize the
728
804
ImportPixelAreaOptions structure with defaults.
729
806
* coders/jpeg.c (WriteJPEGImage): Don't use jpeglib private
730
807
BITS_IN_JSAMPLE definition to select JPEG bit depth.
731
809
* coders/tiff.c (ReadTIFFImage): Support using -define
732
810
tiff:alpha={unspecified|associated|unassociated} to specify the
733
811
alpha channel type in case the alpha channel is marked
753
831
2005-01-30 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
755
833
* coders/tiff.c (WriteTIFFImage): Re-wrote TIFF writing code.
756
835
* magick/image.h (MaxValueGivenBits): Renamed MaxRGBGivenBits
757
836
macro to MaxValueGivenBits.
758
838
* magick/constitute.h (enum QuantumType): Added UndefinedQuantum.
759
840
* magick/static.c (RegisterStaticModules): Support compiling
764
845
* magick/color.c (IsPaletteImage): Fix memory leak reported by
765
846
Stefan v. Wachter <svwa-dev@mnet-online.de>.
766
848
* magick/Makefile.am (MAGICK_INCLUDE_HDRS): Needed to install
767
849
magick/operator.h.
768
851
* coders/tiff.c (ReadTIFFImage): Re-wrote TIFF reading code again
769
852
for more flexibility and performance.
778
861
* coders/tga.c (WriteTGAImage): Incorporated patch from Stefan
779
862
v. Wachter to enable writing grayscale images as well as adding
780
863
more image type option smarts.
781
865
* coders/psd.c (ReadPSDImage): Fix stack overflow vulnerability
782
866
reported by Andrei Nigmatulin. See http://lwn.net/Articles/119713/
798
882
* magick/image.c (DescribeImage): Report statistics for a virtual
799
883
gray channel for grayscale images rather than discrete red, green,
801
886
* PerlMagick/Makefile.nt: JNG and JP2 to test list.
802
888
* configure.ac: Changed --without-fpx to --with-fpx due to
803
decision to default FlashPIX to 'no'. FlashPIX library is not
889
decision to default FlashPIX to `no`. FlashPIX library is not
804
890
very portable and is only known to work properly under SPARC
805
891
Solaris and Windows.
806
893
* NEWS: Updated with latest news.
807
895
* lcms: Updated to LCMS 1.14.
809
897
2005-01-08 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
811
899
* coders/jp2.c (ReadJP2Image): Handle images in YCBCR colorspace.
812
900
(ReadJP2Image): Retrieve and store an ICC ICM color profile if
814
903
* PerlMagick/t/tiff/read.t: Added test for reading truecolor
815
904
planar TIFF image.
816
905
Added test for reading 32-bit TrueColor TIFF image.
817
906
Added test for reading 32-bit grayscale TIFF image.
818
908
* coders/tiff.c (ReadTIFFImage): Fixed stripped TIFF reader.
820
910
2005-01-04 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
822
912
* coders/tiff.c (WriteTIFFImage): Only set TIFFTAG_PREDICTOR to 2
823
913
for bits-per-sample values that libtiff supports.
825
---------------------------------------------------------------------------
826
Copyright (C) 2005 GraphicsMagick Group
828
This program is covered by multiple licenses, which are described in
829
Copyright.txt. You should have received a copy of Copyright.txt with this
830
package; otherwise see http://www.graphicsmagick.org/Copyright.html.