Path to this page:
Subject: CVS commit: pkgsrc/graphics/openimageio
From: Ryo ONODERA
Date: 2014-04-07 14:15:55
Message id: 20140407121555.AFC4796@cvs.netbsd.org
Log Message:
Update to 1.3.13
* Do not install documents
Changelog:
Release 1.3.13 (2 Apr 2014 -- compared to 1.3.12)
-------------------------------------------------
* Bug fix to string_ref::c_str().
* Make ImageBuf iterators return valid black pixel data for missing tiles.
* Fix broken build when EMBEDPLUGINS=0.
* Fix broken build when building against OpenEXR 1.x.
* Fix bugs in ImageBufAlgo::flatten().
* Fix DPX handling of unsupported pixel types.
* Fix compilation problems for PowerPC.
* Fix Parameter neglect of proerly copying the m_interp field for assignment
and copy construction.
* Fixes for OpenBSD compilation.
* DPX: accept pixel ratio (x/0) to mean 1.0, not NaN.
* Fix ImageBufAlgo::circular_shift (and oiiotool --cshift) that did not
wrap correctly for negative shifts.
Release 1.3.12 (25 Jan 2014 -- compared to 1.3.11)
--------------------------------------------------
* Add .sxr and .mxr as possible filename extensions for OpenEXR.
* PNG: add "png:compressionlevel" and "compression" strategy \
attributes.
* Fix recent build break where OIIO would no longer compile properly
against OpenEXR <= 1.6.
* oiiotool --origin could crash with certain large ImageCache-backed
images.
Release 1.3.11 (8 Jan 2014 -- compared to 1.3.10)
-------------------------------------------------
* DPX output: honor the "Software" metadata attribute passed in.
* OpenEXR: fix crashing bug when reading stringvector attributes in the
file.
* Fix build breaks when building against OpenEXR 1.x.
* Fix warnings with Boost Python + gcc 4.8.
Release 1.3.10 (2 Jan 2014 -- compared to 1.3.9)
------------------------------------------------
* OpenEXR fix: multi-part EXR (2.0) didn't write the required "name"
attribute for each part.
* iconvert: properly handle multi-image files for formats that can't
append subimages.
* iv info window should print native file info, not translated
ImageBuf/ImageCache info.
* Improved strutil_test now much more comprehensively unit tests
Strutil.
* Strutil::split() fixes bug when maxsplit is not the default value.
* Fix ImageCache::get_pixels() for the chbegin != 0 case, when cache
and output buffer types were not identical.
* DPX bug fix -- inappropriate use of "dpx_ImageDescriptor" could make
invalid DPX files (especially when reading metadata from one DPX
file, changing the number of channels, then writing out again as a
DPX file).
Release 1.3 (2 Dec 2013 -- compared to 1.2.x)
----------------------------------------------
Major new features and improvements:
* Huge overhaul of the Python bindings: TypeDesc, ImageSpec (1.3.2),
ImageInput, ImageOutput (1.3.3), ROI, ImageBuf (1.3.4), ImageBufAlgo
(1.3.6). The Python bindings were pretty rusty, badly tested,
undocumented, and had not kept up with recent changes in the C++ APIs.
That's all fixed now, the Python APIs are finally first-class citizens
(including full functionality, unit tests, and docs), and we intend to
keep it that way.
* The ability for an application to supply custom ImageInput and associate
them with a file extension. Those II's can do anything, including
generate image data procedurally.
* GIF reader
Public API changes:
* Large overhaul of the Python bindings. See the (finally existing!) docs.
* ImageBufAlgo:
* New functions: nonzero_region(); ociodisplay(), resize() variety
that lets you specify the filter by name; 2-argument (non-in-place)
versions of add, sub, mul, rangecompress, rangeexpand, unpremult,
premult, clamp fixNonFinite; sub() varieties that take float or
float* operands.
* Removed several IBA functions that have been deprecated since 1.2.
* Deprecated the single-image in-place versions of add, sub, mul,
rangecompress, rangeexpand, unpremult, premult, clamp fixNonFinite.
* ImageBuf:
* read() and init_spec() are no longer required, somewhat simplifying
application code that uses ImageBuf. All ImageBuf API calls
automatically read the spec and/or pixels from their named file if
they are needed, if it has not already been done. (1.3.4)
* save() is deprecated, and new ImageBuf::write() is now preferred
(naming symmetry). (1.3.4)
* New set_write_format() and IB::set_write_tiles() allow override of
default choices for data format and tile size for subsequent calls
to ImageBuf::write(). (1.3.4)
* ImageCache / TextureSystem:
* ImageCache::add_file() lets you seed the ImageCache with a "virtual \
file"
that will read from a custom ImageInput. This lets you add "procedural
images" to the IC.
* ImageCache::add_tile() lets you add tiles to the ImageCache. The caller
can initialize those tiles with any pixel values it chooses.
* A new variety of IC/TS::destroy() takes a 'bool teardown' parameter
that, when true, does a complete teardown of the underlying ImageCache,
even if it's the "shared" one. (1.3.7)
* OIIO::declare_imageio_format() exposes a way to give OIIO a custom
ImageInput and/or ImageOutput (via factory functions) and associate them
with particular file extensions. This makes it especially easy for an
app to make a procedural image generator that looks to the entire rest
of OIIO like a regular image file. (1.3.2)
* TypeDesc::VECSEMANTICS now have additional enum tags for TIMECODE and
KEYCODE to indicate that the data represents an SMPTE timecode or
SMPTE keycode, respectively. (1.3.7)
Fixes, minor enhancements, and performance improvements:
* oiiotool improvements:
* --autotrim Shrinks pixel data window upon output to trim black
edges. (1.3.2)
* --siappend Appends subimages of top two images on the stack. (1.2.2)
* --datadump will print all pixel values of an image (debugging tool) (1.3.6)
* --flatten turns a "deep" image into a flat one by \
depth-compositing within
each pixel (1.3.6).
* --ociodisplay applies an OpenColorIO display transformation. (1.3.7)
* Fix memory leak when processing frame range. (1.2.1/1.3.2)
* --help now returns a success error code, not a failure. (1.2.1/1.3.2)
* Fix incorrect help message about --ociolook. (1.2.1/1.3.2)
* Fix typo in "oiio:Colorspace" attribute name that interfered
with correct color space conversion in --colorconvert. (1.2.1)
* Many fixes and improvements to XMP & IPTC metadata handling. (1.2.2)
* Multithread speed improvement when opening files by reducing how
much time ImageInput::create and/or ImageOutput::create hold a
global mutex.
* oiiotool --origin and --fullpixels, when operating on cropped or
overscanned image, could sometimes do the wrong thing. (1.2.2/1.3.3)
* oiiotool --colorconvert did not work properly when the color
transformation was detected to be a no-op. (1.2.2/1.3.3)
* oiiotool --fit did not handle padding or offsets properly. (1.2.2/1.3.3)
* Changed/improved the behavior of --rangecompress/--rangeexpand. (1.3.3)
* 'oiiotool --pattern checker' was incorrect when nonzero offsets were
used. (1.2.3/1.3.4)
* oiiotool --runstats prints the total time/memory on every iteration
when doing file sequence wildcard iteration. (1.3.4)
* Eliminated a particular situation that might hit an ASSERT. Instead,
bubble up a real error message. (1.3.4)
* oiiotool --resize and --resample fixed for overscan images (1.3.5)
* --ociolook applies OCIO looks. (1.3.6)
* Supports printf-style frame range wildcards ('%04d') in addition to the
'#' style, and scan for matching frames if no explicit framespec is
provided. (1.3.6)
* ImageBufAlgo improvements:
* colorconvert() did not work properly when the color transformation was
detected to be a no-op.
* colorconvert(): added a variety that specifies color spaces by name.
* New ociolook() function applies OCIO "looks." (1.3.6)
* checker() was incorrect when nonzero offsets were used.
* checker() now has default values of 0 for the 'offset' parameters
(and so may be omitted if you want 0 offsets). (1.3.4)
* unsharp_mask() bug when src and dst were different data formats.
(1.2.3/1.3.4)
* Better dealing with cases of IBA functions detecting and issuing
errors when inputs that must be initialized are not. (1.3.4)
* We changed the behavior of rangecompress/rangeexpand. We swear
the new way is better. (1.3.3)
* New nonzero_region() returns the shrink-wrapped nonzero pixel data window.
(1.3.2)
* resize() has a new variety that lets you specify the filter by name
(rather than allocating ans passing a Filter2D*).
* resize() and resample() fixed to more robustly handle overscan
images. (1.3.5)
* over()/zover() are no longer restricted to float images. (1.3.7)
* ImageBuf:
* ImageBuf::write() writes untiled images by default, fixing some
tricky issues when IB's start thinking they're tiled because of
interaction with the ImageCache (which makes everything look tiled).
* ImageBuf::file_format_name() never worked properly, now is fixed (1.3.4)
* Fixed bug that caused incorrect ImageBuf::copy_pixels() when the two
IB's had different data types. (1.3.4/1.2.3)
* Improved iterator's handling of how overscanned pixels interact
with wrap modes. (1.3.6)
* Fixed a bug with black wrap mode not working correctly. (1.3.7/1.2.4)
* ImageCache/TextureSystem:
* More careful with texture de-duplication -- texture value lookups
use de-duplication, but metadata lookups (e.g., get_texture_info)
uses the metadata from the original file.
* get_image_info/get_texture_info queries for "datawindow" and
"displaywindow". (1.3.6)
* The multi-point version of environment() was broken. (1.3.9)
* maketx: --hicomp uses the new range compression/expansion formula. (1.3.3)
* DPX:
* support multi-image (often used for stereo frames).
* Fixed DPX input that didn't recognized offset/cropped images.
(1.2.2/1.3.3, another fix in 1.3.4)
* Fixed DPX output crash with cropped images. (1.2.2/1.3.3)
* Now correctly get and set "smpte:TimeCode" and \
"smpte:KeyCode"
metadata. (1.3.7).
* OpenEXR:
* Fixed write_scanlines handling of per-channel data types (1.3.6)
* Several OpenEXR 2.0 deep file fixes: only some compression types
supported, write_tiles passed wrong parameters, must suppress some
attribute names. (1.2.3/1.3.6)
* Now correctly get and set "smpte:TimeCode" and \
"smpte:KeyCode"
metadata. (1.3.7).
* JPEG: fixed that some JPEG files were not being recognized because of
magic number issues.
* TGA: Correctly unassociate alpha if it's from an unasociated file;
also, always write unassociated data because so few Targa readers in
the wild seem to properly handle associated alpha.
* PNG: More correct handling of unassociated alpha.
* TIFF: More correct handling of unassociated alpha.
* PSD: fix handling of associated vs unassociated alpha. (1.2.3)
* maketx fixed to handle inputs that are a mixture of cropped and
overscanned. (1.3.5)
* Fix segfault if OCIO is set to a non-existant file. (1.3.6)
* Slight performance increase when writing images to disk (1.3.6)
* Many fixes to make OIIO compile with libc++ (clang's new C++ library,
and the default on OSX Mavericks). (1.2.3/1.3.6, 1.3.7)
* Fixed several potential buffer overflow errors from unsafe strcpy. (1.3.8)
Build/test system improvements:
* Fix broken tests under Windows. (1.3.2)
* Many fixes for compiler warnings on various platforms: fmath_test.cpp,
field3dinput.cpp, sysutil.cpp, argparse.cpp, oiiotool.cpp. (1.2.1/1.3.2)
* Fixes problems on little-endian architecture with texture3d.cpp.
(1.2.1/1.3.2)
* Fix compilation problems on architectures with gcc, but no 'pause'
instruction. (1.2.1/1.3.2)
* Fix build search path for correctly finding libopenjpeg 1.5. (1.2.1)
* Work around bug in older MSVC versions wherein Filesystem::open needed
to explicitly seek to the beginning of a file. (1.2.1/1.3.2)
* Build fixes for FreeBSD. (1.2.1/1.3.2, 1.2.4/1.3.6)
* Fix testsuite/oiiotool on Windows -- windows shell doesn't expand
wildcards. (1.2.1/1.3.2)
* Fix warnings for new GCC 4.8 compiler.
* Always search for and use the release HDF5 libraries, not the debugging
ones, even when building debug OIIO (this fixes errors when a system
does not have the debugging HDF5 libraries installed). (1.2.2/1.3.3)
* Extensive unit tests in the testsuite for the Python bindings.
* Fix compiler error on MIPS platform. (1.2.2/1.3.3)
* Add FIELD3D_HOME description to 'make help' (1.2.2/1.3.3)
* Add cmake variables ILMBASE_CUSTOM_INCLUDE_DIR, ILMBASE_CUSTOM_LIB_DIR,
OPENEXR_CUSTOM_INCLUDE_DIR, and OPENEXR_CUSTOM_LIB_DIR to make it
easier to have site-specific hints for these packages' locations. (1.3.4)
* Add BOOST_HOME and OCIO_HOME controls from the top-level Makefile wrapper.
(1.3.4/1.2.3)
* Accommodate new cmake release that slightly changes the HDF5 library
naming. (1.3.6)
* Various fixes to make the code compile properly with libc++ (clang's
rewrite of the C++ standard library). (1.3.6)
* Updated PugiXML (partly to help compilation with libc++) (1.3.6)
* Better support for NOTHREADS (for some legacy systems) (1.3.6)
* Fix to __attribute__(visibility) for gcc < 4.1.2 (1.3.6)
* Improve the CMake build files to fully quote path constructions to make
it more robust for builds with paths containing spaces. (1.3.7)
* Moved the main CMakeLists.txt file to the top level directory, per usual
CMake conventions. (1.3.7)
Developer goodies:
* Docs improvement: full documentation of ImageBufAlgo. (1.2.1/1.3.2)
* Merge improved "Tinyformat" that fixes a bug in some old glibc versions
(1.3.2).
* Now each command line tools explicitly converts to UTF native arguments,
rather than relying on it happening in ArgParse (which no longer does
so). (1.3.2)
* Strutil::contains() and icontains(). (1.2.2/1.3.3)
* Updatd "Tinyformat" to the latest release (1.3.6)
* Sysutil::physical_memory() tries to figure out the total physical memory
on the machine. (1.3.6)
* Strutil::safe_strcpy (1.3.8)
* ParamValue now allows get/set of the hidden 'interp' field. (1.3.9)
Release 1.2.3 (1 Nov 2013)
--------------------------
* 'oiiotool --pattern checker' (and ImageBufAlgo::checker) was
incorrect when nonzero offsets were used.
* ImageBufAlgo::unsharp_mask() bug when src and dst were different
data formats.
* PSD: fix handling of associated vs unassociated alpha.
* Fixed bug that caused incorrect ImageBuf::copy_pixels() when the two
IB's had different data types.
* Add BOOST_HOME and OCIO_HOME controls from the top-level Makefile wrapper.
* Several OpenEXR 2.0 deep file fixes: only some compression types
supported, write_tiles passed wrong parameters, must suppress some
attribute names.
* DPX - several fixes to properly handle images with nonzero origins.
* Fixes for recent cmake not finding HDF5 properly.
* Many fixes to make OIIO compile with libc++ (clang's new C++ library,
and the default on OSX Mavericks).
* Fix OpenEXR write_scanlines handling of per-channel data types.
* Upgraded PugiXML to a more modern version (necessary for clean compile
with libc++).
Files: