forked from svn2github/sampleicc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathChangeLog
282 lines (232 loc) · 13.3 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
2011-09-2 Max Derhak
* Part of 1.6.6 release
* Fixed bug in md5.h introduced with 1.6.4 release UINT4 is now defined as a ICCUINT32
2011-08-24 Max Derhak
* 1.6.6 release
* Added iccGetBPCInfo command line tool to retrieve information about BPC connection
* Changed CIccApplyBPC private members to protected members to allow object overridden
and made CIccApplyBPC:calcBlackPoint virtual to support override in iccGetBPCInfo
2011-04-22 Max Derhak
* 1.6.5 release
* Modified .sln and .vcproj files to work with Visual Studio 2008
* Added _v8.sln and _v8.vcproj files to work with Visual Studio 2005
* Fixed bugs in CIccInfo::GetProfileID() and CIccInfo::IsProfileIDCalculated()
2011-01-31 Based on submission by Jason Walp
* 1.6.4 release
* Added CIccNullIO class that can be used by a caller to "write" the profile thus updating
tag directory entries
* Fixed various bugs related to setting text in CIccTagDict tags
* Added CIccTagLut8::GetPrecision() function
* Fixed bug in validation of CIccTextDescription class
* Initialize m_nVendorflags in CIccTagNamedColor2 constructor
* Fixed bug in CIccTagNamedColor2::SetSize() that was copying wrong thing
* Fixed bug in CIccTagMultiLocalizedUnicode::Read() that was using wrong seek value at end
* Defined initial values in CIccTagViewingCondions constructor
2011-01-24 Rohit Patil
* Modified CLUT interpolation in IccTagLut.cpp to perform clipping on input and no clipping
on output (as opposed to the other way around). Fixes crashing bug found with absolute
intent processing of colors whiter than media point. Also supports floating point range
of output for MPE CLUT elements.
* Renaming of MD5 calculation function names to avoid conflicts with other libraries
2010-10-20 Max Derhak
* 1.6.3 release
* Fixed typo in CIccTagUnknown::IsSupported()
* Modified CIccCLUT constructor to support 16bit OutputChannels to support MPE requirements
for CLUT elements
2010-09-20 Max Derhak
* 1.6.2 release
* Fixed bugs with reading and displaying metaDataTags using the dictTagType
2010-08-23 Max Derhak
* 1.6.1 release
* Modifications to CIccTagLut16 and CIccTagLut8 to correctly track curve mapping when table
is used as an output table and PCS is XYZ. In this case M and B curves are swapped since
the legacy Lut16 and Lut8 tags do not have M curves.
* Removed check in CIccXform::Create() for BtoD0/DtoB0 tags if BtoDx/DtoBx tag for rendering
intent not found (as this never made it into the approved specification).
* Further changes from Joseph Goldstone to eliminate various compiiler warnings
* Added XCode project to Build Folder
* Added changes to get build working on Sun/Solaris
2010-07-28 Max Derhak
* 1.6.0 release
* Moved main Build for Windows systems to Build\MSVC folder with intent to add builds for
other systems to Build folder
* Incorporated changes from Joseph Goldstone that eliminate various compiler warnings
* Modified CIccProfile::Write() to allow for options in how ProfileIDs are created
(Example: ByProfileVersion/Always/Never)
2010-05-19 Max Derhak
* Fixed crashing bug with gamut tags with XYZ PCS
* Modified CLUT::dump to use reflect legacy encoding of when lut16 tags are used
2010-05-06 Max Derhak
* Modified IccProfLibConf.h and IccConvertUTF.h to properly define 32 bit types for 64 bit
compilers
* Added IccProfLibVer.h to define macro that has version for IccProfLib
2010-04-28 Rohit Patil
* Modified IccProfLibTest to allow modification of ProfileDescription and Copyright tags
2010-03-12 Max Derhak
* Added support for PrintConditions tag implemented using Dictionary tag type
2009-01-22 Rohit Patil/Max Derhak
* Added CIccCreateXformHintManager to allow for a list of hint objects to be passed
in at the time of CIccXform creation.
* Modified PCS adjustment to use a scale and offset in new function CIccXform::AdjustPCS().
CIccXform::CheckSrcAbs and CIccXform::CheckDestAbs now use CIccXform::AdjustPCS()
* Hint mechanism can now be used to set up scale and offset values.
* Added CIccApplyBPCHint and CIccApplyBPC classes in IccApplyBPC.cpp and IccApplyBPC.h
to provide optional support for Adobe Black Point Compensation
- Since BPC is outside the scope of the ICC specifiction, users of CIccXform::Create
must define and use a CIccApplyBPCHint object to enable BPC processing.
- CIccApplyBPC temporarily instantiates a CIccCmm for the purpose of finding the black point
of a profile.
- Black point processing between two profiles is performed in two steps. The first profile's
black point is mapped to the V4 perceptual black point. The second profile maps from the
V4 perceptual black point to the second profile's black point. This allows BPC processing
to be performed on a single profile.
* iccApplyNamedCMM.cpp modified to support BPC using CIccApplyBPC
* Added CIccProfile::ReadTags() to force all tags to be loaded into memory. (Used by CIccApplyBPC)
* CIccTagMultiLocalizedUnicode::Read() now seeks to the end of the last record at end of the function
* Added ICC_CBRTF macro that can allow for substitution of cbrtf() function if it is available
* Commented several additional functions in IccCmm.cpp
* Modified WinNT\ApplyProfiles to allow for applying an output profile to a Lab image file
* Fixed header in cmyk8bit.txt and cmyk16bit.txt files
2008-12-02 Rohit Patil
* Added support for Monochrome ICC profile apply
2008-11-24
* Cleanup of build files for Linux
* Revised License to version 0.2
2008-10-31
* Added fix to make CIccCmmMRU work after chages to add CIccApplyCmm architecture
2008-10-15
* Added support for External extension of CIccTags and CIccMPE objects
* Make CIccMultiProcessElement::m_nReserved public
* Added CIccMpeUnknown:SetType() and CIccMpeUnknown::SetChannels() to allow unknown elements
to be externally created
* CIccCLUT::Init() now returns bool to indicate allocation failure
* Added icDeltaE() funciton to IccUtil.cpp
* Modified MPE Sampled Curve to conform to specification. First point is NOT stored in file.
* Fixed MPE processing to not Clip PCS or apply Absolute Rendering Intent adjustments.
* Added support for selective use of MPE tags in iccApplyNamedCmm.cpp
* Modified IccV4ToMPE to correctly create SampledCurve segments by not saving first point.
* wxProfileDump now supports option to perform round trip performance analysis.
2007-11-21 Max Derhak
* Addition of CIccXformCreator singleton factory and IIccXformFactory interface for dynamic
creation of CIccXform objects based upon xform type. With a IIccXformFactory derived
object properly registered using CIccXformCreator::PushFactory() overlaoded CIccXform objects
seemleessly get created and applied.
2007-10-08 Max Derhak
* Fixed memory leak in CIccProfile copy constructor and copy methods
* Added CIccEvalCompare object that can be derived from to perform round trip analysis.
* Added iccRoundTrip command line tool that performs round trip analysis of ICC profiles.
2007-09-25
* Fixed bug in Tetrahedtral Interpolation for 3 dimensionial input as identified
by George Pawle
2007-08-20
* Fixed bug in MPE Formula Curve parameter checking.
* MPE Formula Curve type 0001h used base 10 log function.
* Registered CMM signatures recognized and displayed correctly.
* Unknown platform type added (00000000h).
2007-07-29 Joseph Goldstone
* Revised After Effects 16-bit-TIFF-to-Cineon conversion script to
reflect SampleICC pathnames.
* extract_probe_data now prints the extracted edge size.
* Use sips on Mac OS X to extract the embedded image profile, so user
need not adjust this in extraction script.
* Update README.OSX to reflect DarwinPorts renaming itself to MacPorts.
* Update README in RSR example dir to reflect simplified usage, and
delete the to-do list at the end of that file since those items
are now done.
2007-6-19 Max Derhak
* Added GetExtension method to CIccMpe based tags to allow for implmentation of extended objects.
2007-6-4 Max Derhak
* Added I/O support for ProfileSequenceId tags using CIccTagProfSeqId class.
* Added I/O support for Colorimetric Intent Image State tag.
2007-3-29 Max Derhak
* Deprecated Tools\Winnt\ApplyCmm. Use SampleIccCmm instead.
* Deprecated Tools\Winnt\ProfileDump. Use wxProfileDump instead.
2007-3-29 Joseph Goldstone
* Moved tools and extensions from Tools\CmdLine folder to Contrib Folder
2007-2-15 Max Derhak
* Fixed bug with reading Profile Sequence Description tag.
* Added accessor to CIccCLUT m_nPrecision member variable.
* Added accessor to elements attached to a CIccTagMPE object.
* Added utiltity function icGetSigStr() that displays a signature as a 4 characher
string or as an 8 character hex number if the signature contains non alpha-numeric
characters.
* Minor formating changes to icProfileHeader. Commented enums modified to eliminate
compiler warnings.
2007-1-19 Max Derhak
* Added ability to use multiple inheritance for CIccTag co-derived on IIccExtensionTag
interface and accessed through a GetExtension() virtual function.
* Various bug fixes when using Matrix/TRC profiles
* Fixed various bugs with extracting tone curves from transforms attached to a CMM.
* Added option to allow V2 to V4 encoding without clipping.
2006-12-29
* Added CIccCmmMru extension CMM class which provides limited caching of last few unique
color transforms. This is a limited performance improvement for SampleIccCmm.
* Added ability to detach IO operations to all profiles associated with a CMM. This allows
a tranform to be loaded an initialized and disconnect from the source before applying
transforms.
2006-12-28
* Created SampleIccCmm for Windows platforms. This allows Windows applications to make use
SampleICC's proflib through Windows ICM API.
* Added ability to get access to the colorspaces of the first and last transform attached to a CMM.
2006-12-06 Kevin Wheatley
* Miscelaneouos Bug Fixes
* Clean up of various compiler warnings
2006-11-22 Max Derhak
* Added newly approved technology tag signatures for Motion Picture Industry to
icProfileHeader.h
2006-11-07 Max Derhak
* Added support for optional multiProcessingElementType tags. These tags provide
an arbitrary order of curves, matricies, and N-D luts encoded using floating
point. The CIccTagMultiProcessElement class implements these objects. MPE based tags
can have 1 or more CIccMultiProcessElement based objects attached to them.
See CIccMpeCurveSet, CIccMpeMatrix, CIccMpeCLUT for more details. Additional future
placeholder elements CIccMpeBAcs and CIccMpeEAcs objects are defined, but provide no
processing capabilities. See additions to Icc Specification for more details
releated to optional MPE based tags.
* Added CmdLine tool IccV4ToMPE that allows one to populate MPE based tags based upon
contents of LutAtoB and LutBtoA based tags.
2006-10-30 Max Derhak
* Added direct accessors CIccTagMultiLocalizedUnicode::Find() and
CIccTagMultiLocalizedUnicode::SetText() for easier creation of
multiLocalizedUnicode based tags
2006-10-27 Max Derhak
* Added CIccTagCurve::SetGamma member function
* Added validation check for single entry (gamma) curves to CIccTagLut8
and CIccTagLut16
2006-10-10 Rohit Patil
* Added IsIdentity() function to the CIccCurve and CIccMatrix classes which returns true
if they are identity
* Modified the Xform objects in the CMM to use the IsIdentity() function.
Now CIccXform::Apply() will not apply the curves or the matrix if
they are identity, to improve the CMM performance
2006-10-06 Max Derhak
* Added CmdLine tool iccStripUnkownTags to remove tags not defined
in the Icc Specification from a profile.
2006-07-31 Max Derhak
* Fixed bug in CIccTagChromaticity::Validate() to make comparisons
with fixed floating point encoding rather than IEEE encoding
2006-07-13 Max Derhak
* Fixed bug with displaying icSigPerceptualRenderingIntentGamutTag
tag's name correctly
* Added icVectorApplyMatrix3x3() to IccUtil
2006-06-09 Max Derhak
* Added concept of Device Lab and XYZ separate from PCS Lab
and XYZ. Encoding for these color spaces by devices is not
defined by the ICC specification.
2006-05-09 Max Derhak
* Cleanup to get things to work with VC6.
* Reformated text replacing tabs with spaces.
2006-03-24 Joseph Goldstone <[email protected]>
* Add a cut-and-paste of ab_lib_id3.m4 from Oskar Liljeblad
([email protected]) as published in the autoconf archive,
downloadable at http://autoconf-archive.cryp.to/ac_lib_id3.m4,
to produce AC_LIB_TIFF. Use the resulting TIFF_CPPFLAGS,
TIFF_LDFLAGS and TIFF_LIBS in the Makefile.am file in the
Tools/CmdLine/IccApplyProfile subdir.
* Add a dist-hook target in the top-level Makefile.am that gets
rid of any .DS_Store files.
* Correct capitalization of SUBDIRS in Tools/CmdLine/Makefile.am
so that we have a chance of running on Red Hat et al.
2006-02-18 Joseph Goldstone <[email protected]>
* Initial attempt at using GNU suite (automake, autoconf,
[g]libtool) to build IccProfLib and command-line tools.