head	1.2;
access;
symbols
	pkgsrc-2015Q3:1.1.0.12
	pkgsrc-2015Q3-base:1.1
	pkgsrc-2015Q2:1.1.0.10
	pkgsrc-2015Q2-base:1.1
	pkgsrc-2015Q1:1.1.0.8
	pkgsrc-2015Q1-base:1.1
	pkgsrc-2014Q4:1.1.0.6
	pkgsrc-2014Q4-base:1.1
	pkgsrc-2014Q3:1.1.0.4
	pkgsrc-2014Q3-base:1.1
	pkgsrc-2014Q2:1.1.0.2
	pkgsrc-2014Q2-base:1.1;
locks; strict;
comment	@// @;


1.2
date	2015.12.15.09.29.04;	author markd;	state dead;
branches;
next	1.1;
commitid	BuPTI5LyGN8EB1Ny;

1.1
date	2014.04.07.12.15.55;	author ryoon;	state Exp;
branches;
next	;
commitid	zyWpZRJu2oZbpKvx;


desc
@@


1.2
log
@Update openimageio to 1.5.16

Release 1.5.16 (11 Jun 2015) -- compared to 1.5.15)
---------------------------------------------------
* PNG writes now honor PixelAspectRatio attribute.
* Build fixes for Visual Studio 2010
* PSD & JPEG plugins fixes for Win32 compilation.
* Also search for OIIO plugins in [DY]LD_LIBRARY_PATH.
* Give Strutil::parse_string an option to not strip surrounding quotes.
* Fix Nuke plugin build files to not do anything if USE_NUKE=0
* New ImageInput query: "procedural" -- returns 1 if the ImageInput may
  not correspond to an actual file.
* TypeDesc has a new constructor and fromstring of a string_view, in
  addition to the old versions that took char*.
* Eliminate spurious ImageCache invalidation just because the shared
  cache is requested again.
* Fixed trilinear MIPmap texture lookups that gave invalid alpha fill.
* Filesystem: sequence matching should clear results arrays upon start.

Release 1.5.15 (11 May 2015) -- compared to 1.5.14)
---------------------------------------------------
* Bug fix with IBA::channels() with deep data with UINT channels.
* Fix TypeDesc compatibility with OSL.
* Misc WIN32 / VS2010 fixes.
* Fix incorrect logic in convert_image with certain channel types and
  strides.

Release 1.5.14 (14 April 2015) -- compared to 1.5.13)
----------------------------------------------
* Added Python bindings for DeepData and deep reads (ImageInput) and
  writes (ImageOutput).
* Improve IBA::compare() (and therefore oiiotool -diff and idiff) when
  the images being compared have NaN or Inf values.
* TextureSystem bug fix that occasionally resulted in NaN in the alpha
  channel result when looking up from 3-channel images.
* Fix IBA::channels() bugs when dealing with "deep" images.
* Fix bugs in reading deep OpenEXR images with mixed channel types.
* fmath: safe_fast_pow improves the precision of its results for
  special cases of pow(x,1) and pow(x,2).
* Fix warnings when compiling with C++11.
* Dont link Python framework on OSX.
* Added TypeDesc::TypeHalf().
* Python ImageSpec.set_channel_formats() now works when the channel
  type lists are either TypeDesc, in addition to the existing support
  for BASETYPE.
* Build correctly against older TIFF versions.

Release 1.5.13 (10 Mar 2015) -- compared to 1.5.12)
----------------------------------------------
 * oiiotool: Bug fix for frame sequences -- could crash in Windows.
 * New ImageOutput::supports() tags: supports("alpha") should be true for
   image formats that support an alpha channel, supports("nchannels") should
   be true for output formats that support an arbitrary number of output
   channels.
 * oiiotool: Gracefully handle requests to save an image with more channels
   than the output file format can handle. Instead of being a fatal error,
   now it's just a warning, and extra channels are dropped. It tries to
   to find R, G, B, and A channels, saving them. If those names are
   not found, it just saves the first 3 (or 4) channels.
 * Improved handling of "PixelAspectRatio" for JPEG, TIFF, and OpenEXR.
 * oiiotool: Improve error messages when files can't be read. It is now
   easier to to distinguish files that don't exist from those that
   are an unknown format from those that are corrupted or have read
   errors.
 * maketx now writes to a temporary file, then moving it to the final
   requested output filename only when the write completed without error.
   This prevents situations where maketx crashes or is killed and leaves
   behind a file that looks correct but is actually corrupted or
   truncated.
 * Python: added previously-M.I.A. ImageSpec.erase_attribute().
 * Add Filesystem::rename() utility.
 * Made TypeDesc::equivalent accept comparisons of arrays of unspecified
   length with ones of definite length.
 * oiiotool & maketx have improved error message when unknown data format
   names are requested with "-d".
 * oiiotool numeric wildcard improvement: allow more digits to match.
 * Remove dependency of OpenSSL by default.

Release 1.5.12 (11 Feb 2015) -- compared to 1.5.11)
----------------------------------------------
* Various build fixes for Windows.
* New CMake build-time option to specify the default plugin search path.
  (1.5.12)
* OpenEXR: fixed write_tile() with AutoStride calculated the wrong
  default strides for "edge" tiles when the image width or length was
  not an integer multiple of the tile size. Also clarified the PDF and
  imageio.h docs in how they explain strides for this case. (1.5.12)
* maketx: when the source image was a crop (data window != display window),
  and the sharpening filters were used, it would incorrectly issue an
  "unknown filter name" error. (1.5.12)
* Fix gcc 5.0 compiler warning in PtexHalf.cpp. (1.5.12)

Release 1.5.11 (28 Jan 2015) -- compared to 1.5.10)
----------------------------------------------
* Fix build breaks for very old versions of Ilmbase (1.6 and earlier)
  that lack a definition of V4f used by our simd.h.
* Fix signed/unsigned warning on 32 bit platforms in jpeginput.cpp.

Release 1.5 (26 Jan 2015) -- compared to 1.4.x
----------------------------------------------
Major new features and improvements:
* New oiiotool functionality/commands:
   * --rotate90, --rotate180, --rotate270 rotate the image in 90 degree
     axially-aligned increments with no filtering. (1.5.2)
   * --reorient will perform whatever series of rotations or flips are
     necessary to move the pixels to match the "Orientation" metadata that
     describes the desired display orientation. (1.5.2)
   * --autoorient will automatically do the equivalent of --reorient on
     every image as it is read in, if it has a nonstandard orientation.
     (This is generally a good idea to use if you are using oiiotool to
     combine images that may have different orientations.) (1.5.2)
   * --rotate rotates an image by arbitrary angle and center point,
     with high-quality filtering. (1.5.3)
   * --warp transforms an image using a 3x3 matrix, with high-quality
     filtering. (1.5.3)
   * --median performs a median filter. (1.5.4)
* New ImageBufAlgo functions:
   * rotate90(), rotate180(), rotate270() rotate the image in 90 degree
     axially-aligned increments with no filtering. (1.5.2)
   * reorient() will perform whatever series of rotations or flips are
     necessary to move the pixels to match the "Orientation" metadata that
     describes the desired display orientation. (1.5.2)
   * rotate() performs rotation with arbitrary angle and center point,
     with high-quality filtering. (1.5.3)
   * warp() transforms an image by a 3x3 matrix, with high-quality
     filtering. (1.5.3)
   * median_filter performs a median filter. (1.5.4)
* Significant internal speedups by utilizing SIMD instructions (SSE) in
  the TextureSystem (1.5.5 , 1.5.6 ). To use this to its
  fullest extent, build OIIO with the make/cmake option USE_SIMD=arch,
  where arch is sse2, ssse3, sse4.1, sse4.2, depending on what machines
  you'll be deploying to. (Note that x86_64 automatically implies at
  least sse2.) We're finding that this has approximately doubled the
  speed of the math part of texture mapping (it doesn't speed up the disk
  I/O, of course).  (1.5.5)
* Basic support for many movie files via a plugin using 'ffmpeg'. Works
  with avi, mov, qt, mp4, m4a, 3gp, 3g2, mj2, m4v, mpg, and more.  Movie
  files simply look like multi-image files to OIIO. There isn't really
  support for audio yet, and although this lets you retrieve and process
  individual frames of a movie file, OIIO is still not meant to be a
  video-processing library. Currently, these formats can be read, but
  there is no write support (maybe coming soon). (1.5.5)
* Nuke plugins -- a txReader plugins that will read OIIO texture files,
  and a txWriter that will output proper (tiled & mip-mapped) texture files
  from Nuke. Contributed by Nathan Rusch / Luma Pictures. (1.5.6)
@
text
@$NetBSD: patch-src_psd.imageio_psdinput.cpp,v 1.1 2014/04/07 12:15:55 ryoon Exp $

--- src/psd.imageio/psdinput.cpp.orig	2014-04-03 06:08:57.000000000 +0000
+++ src/psd.imageio/psdinput.cpp
@@@@ -389,7 +389,7 @@@@ private:
         // For debugging, numeric_cast will throw if precision is lost:
         // value = boost::numeric_cast<TVariable>(buffer);
         value = buffer;
-        return m_file;
+        return !m_file.bad();
     }
 
     int read_pascal_string (std::string &s, uint16_t mod_padding);
@


1.1
log
@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++).
@
text
@d1 1
a1 1
$NetBSD$
@

