[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [44461] trunk/lib/linux64/oiio: Update OIIO library to version 1.0 for linux 64 bit

Sergey Sharybin sergey.vfx at gmail.com
Sun Feb 26 12:19:24 CET 2012


Revision: 44461
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=44461
Author:   nazgul
Date:     2012-02-26 11:19:19 +0000 (Sun, 26 Feb 2012)
Log Message:
-----------
Update OIIO library to version 1.0 for linux 64 bit

Modified Paths:
--------------
    trunk/lib/linux64/oiio/CHANGES
    trunk/lib/linux64/oiio/ReadMe.txt
    trunk/lib/linux64/oiio/include/OpenImageIO/argparse.h
    trunk/lib/linux64/oiio/include/OpenImageIO/filesystem.h
    trunk/lib/linux64/oiio/include/OpenImageIO/fmath.h
    trunk/lib/linux64/oiio/include/OpenImageIO/imagebuf.h
    trunk/lib/linux64/oiio/include/OpenImageIO/imagebufalgo.h
    trunk/lib/linux64/oiio/include/OpenImageIO/imagecache.h
    trunk/lib/linux64/oiio/include/OpenImageIO/imageio.h
    trunk/lib/linux64/oiio/include/OpenImageIO/paramlist.h
    trunk/lib/linux64/oiio/include/OpenImageIO/refcnt.h
    trunk/lib/linux64/oiio/include/OpenImageIO/strutil.h
    trunk/lib/linux64/oiio/include/OpenImageIO/sysutil.h
    trunk/lib/linux64/oiio/include/OpenImageIO/texture.h
    trunk/lib/linux64/oiio/include/OpenImageIO/thread.h
    trunk/lib/linux64/oiio/include/OpenImageIO/timer.h
    trunk/lib/linux64/oiio/include/OpenImageIO/typedesc.h
    trunk/lib/linux64/oiio/include/OpenImageIO/ustring.h
    trunk/lib/linux64/oiio/include/OpenImageIO/version.h
    trunk/lib/linux64/oiio/lib/libOpenImageIO.a

Added Paths:
-----------
    trunk/lib/linux64/oiio/include/OpenImageIO/color.h
    trunk/lib/linux64/oiio/include/OpenImageIO/optparser.h
    trunk/lib/linux64/oiio/include/OpenImageIO/plugin.h

Removed Paths:
-------------
    trunk/lib/linux64/oiio/include/OpenImageIO/colortransfer.h

Modified: trunk/lib/linux64/oiio/CHANGES
===================================================================
--- trunk/lib/linux64/oiio/CHANGES	2012-02-26 10:51:39 UTC (rev 44460)
+++ trunk/lib/linux64/oiio/CHANGES	2012-02-26 11:19:19 UTC (rev 44461)
@@ -1,6 +1,119 @@
 Changes:
 
 
+Release 1.0 (25 Feb 2012, compared to 0.10.5)
+---------------------------------------------
+
+Major new features and improvements:
+ * New ImageInput & ImageOutput methods that can efficiently read/write
+   multiple scanlines or tiles at a time.
+ * New ImageInput methods that can read a subset of channels from an image.
+ * WebP format reader/writer.
+ * PSD (Adobe Photoshop) format reader.
+ * RLA (Wavefront) format reader/writer.
+ * Cineon support is re-enabled after various bug fixes.
+ * New utility: oiiotool.  This is still a work in progress, but largely
+   subsumes the functionality of iprocess, iinfo, iconvert, idiff.
+ * Use OpenColorIO (www.opencolorio.org) for color space conversion, if
+   detected at build time and a valid OCIO configuration is found at runtime.
+   Color conversion commands have been added to oiiotool and maketx.
+
+API changes:
+ * New ImageInput & ImageOutput methods that can efficiently read/write
+   multiple scanlines or tiles at a time: read_scanlines, read_tiles,
+   write_scanlines, write_tiles.
+ * New ImageInput methods that can read a subset of channels from an image.
+ * Change the last couple functions that took min/max pixel range
+   specifications to conform to our usual [begin,end) convention --
+   write_rectangle and to_native_rectangle.
+ * exif_encode, exif_decode now available as general utilities (previously
+   were private to the JPEG plugin).
+ * New ImageOutput::supports() queries: "displaywindow" queries whether the
+   file format is able to handle differing display ("full") and pixel data
+   windows, "negativeorigin" queries whether data origin or full/display
+   origin may be negative.
+ * TextureSystem and ImageCache now accept attribute "options", that is a
+   comma-separated list of name=value setings (e.g.
+   "max_memory_MB=256,max_files=1000").  Also, upon startup, the environment
+   variables OPENIMAGEIO_TEXTURE_OPTIONS and OPENIMAGEIO_IMAGECACHE_OPTIONS
+   are parsed for these startup values.
+ * TextureSystem/ImageCache: add a separate "plugin_searchpath" attribute
+   separate from the "searchpath" for images.
+
+Fixes, minor enhancements, and performance improvements:
+ * ImageBufAlgo new algorithms: compare, compare_Yee, isConstantChannel,
+   fixNonFinite.
+ * TextureOpt: add ustring-aware versions of the decode_wrapmode utility.
+ * TypeDesc: allow stream << output.
+ * iv: raised maximum ImageCache size from 2 GB to 8 GB.
+ * PNM: fix bug where file exceptions could go uncaught.
+ * Properly create coefficients for Kodak color transform.
+ * iprocess: Fix bug calling read.
+ * maketx new options: --opaque-detect omits alpha from texture whose input
+   images had alpha=1 everywhere; --mipimage option allows custom MIP
+   levels to be assembled; --fixnan repairs NaN & Inf values in the inputs.
+ * Fixed bugs in sinc and Blackman-Harris filters.
+ * ImageCache/TextureSystem -- new reset_stats() method resets all the
+   statistics back to zero.
+ * TIFF: better handling of unexpected bitsperpixel combinations; support
+   the nonstandard use of IEEEFP/16bit as "half"; fix many small bugs 
+   related to unusual depth depths and contig/separate conversions.
+ * JPEG-2000 plugin rewritten to use OpenJpeg library instead of Jasper.
+ * DPX: various bug fixes.
+ * RLA plugin overhauled and now has good support for non-8-bit depths.
+ * oiiotool improvements: --pop, --dup, --selectmip, --origin,
+   --incolorspace, --tocolorspace, --colorconvert.
+ * TextureSystem supports textures with "overscan" (including proper
+   maketx support for input images with overscan).
+ * TS/IC invalidate_all previously cleared all fingerprint info, but now
+   only clears fingerprints for individual files that are invalidated
+   (this makes for better duplicate detection).
+
+Build system improvements:
+ * Support compilation on FreeBSD.
+ * Improved custom detection of boost-python on Windows.
+ * Easier to compile OIIO without using TBB.
+
+Developer goodies:
+ * ArgParse enhancements: make %! indicate a bool that's set to false if
+   the option is found, %@ indicates an immediate callback, allow
+   callbacks for bool options, option matching ignores characters after
+   ':' in the option, wrap lines at word breaks when printing usage help.
+ * Generate man pages for the command-line tools.
+ * Strutil additions: escape_chars, unescape_chars, word_wrap.
+ * Filesystem additions: filename(), extension().
+ * Sysutil additions: terminal_columns()
+ * Use github.com/OpenImageIO/oiio-images project for test images that are
+   too big to fit in testsuite.
+ * Fixed bugs in Timer::lap().
+ * Aded 'invert' algorithm to fmath.h.
+ * Clarify Timer docs and fix Apple-specific bug.
+ * testtex improvements: --wrap
+
+
+
+Release 0.10.5 (20 Feb 2012)
+----------------------------
+* Improvements to anisotropic texture filtering: (1) fix for degenerate
+  derivatives that could corrupt the filter footpring calculations,
+  resulting in an infinitely long major axis; (2) more efficient subpixel
+  filtering for very narrow anisotropic footprints when on the highest-res
+  MIP level.
+
+
+Release 0.10.4 (November 20, 2011)
+----------------------------------
+* Important texture bug fix: Improve robustness of texture lookups with
+  very small derivatives.  The previous bug/misunderstanding had the
+  result of some filter footprints with very small (but valid)
+  derivatives inappropriately using the highest-resolution MIPmap level
+  and maximum anisotropy, resulting in terrible performance, alising,
+  and in some cases visible seams on the boundary between where this
+  happened and where it didn't.  Be aware that the fixed code will make
+  some areas of texture look less sharp, but that's only because it was
+  aliasing before and using a totally incorrect MIPmap level.
+
+
 Release 0.10.3 (November 5, 2011)
 ---------------------------------
 * New ImageCache/TextureSystem option: "autoscanline", which, when 
@@ -42,10 +155,10 @@
 * Bug fixes with per-channel data formats.
 * Add Strutil::escape_chars() and unescape_chars() utility functions.
 * TextureOpt: add ustring-aware versions of the decode_wrapmode() utility.
-  
 
 
-Release 0.10 (June 9 2011)
+
+Release 0.10 (June 9 2010)
 --------------------------
 
 Major new features and improvements:
@@ -95,7 +208,6 @@
   resize properly if any of the dimensions change (previously only did
   if ALL dimensions changed) (0.9.3); --nchannels lets you set the number 
   of output channels.
-
 * Added ImageBufAlgo::transform to allow for 'flip' & 'flop' in iprocess.
   (0.9.1)
 * DPX: fix file reading when number of channels not equal to 3 (0.9.3);

Modified: trunk/lib/linux64/oiio/ReadMe.txt
===================================================================
--- trunk/lib/linux64/oiio/ReadMe.txt	2012-02-26 10:51:39 UTC (rev 44460)
+++ trunk/lib/linux64/oiio/ReadMe.txt	2012-02-26 11:19:19 UTC (rev 44461)
@@ -1,2 +1,2 @@
-This folder contains static libraries and header files for OpenImageIO 0.10 needed for Cycles.
+This folder contains static libraries and header files for OpenImageIO 1.0 needed for Cycles.
 Compiled in release builder environment with libc version 2.7.
\ No newline at end of file

Modified: trunk/lib/linux64/oiio/include/OpenImageIO/argparse.h
===================================================================
--- trunk/lib/linux64/oiio/include/OpenImageIO/argparse.h	2012-02-26 10:51:39 UTC (rev 44460)
+++ trunk/lib/linux64/oiio/include/OpenImageIO/argparse.h	2012-02-26 11:19:19 UTC (rev 44461)
@@ -37,6 +37,12 @@
 #ifndef OPENIMAGEIO_ARGPARSE_H
 #define OPENIMAGEIO_ARGPARSE_H
 
+#if defined(_MSC_VER)
+// Ignore warnings about DLL exported classes with member variables that are template classes.
+// This happens with the std::string m_errmessage member of ArgParse below.
+#  pragma warning (disable : 4251)
+#endif
+
 #include <vector>
 
 #include "export.h"
@@ -69,13 +75,18 @@
 /// for storing option values and return <0 on failure:
 ///
 /// \code
-///    static int
-///    parse_files (int argc, const char *argv[])
+///    static int parse_files (int argc, const char *argv[])
 ///    {
 ///        for (int i = 0;  i < argc;  i++)
 ///            filenames.push_back (argv[i]);
 ///        return 0;
 ///    }
+///
+///    static int blah_callback (int argc, const char *argv[])
+///    {
+///        std::cout << "blah argument was " << argv[1] << "\n";
+///        return 0;
+///    }
 /// 
 ///    ...
 ///
@@ -93,7 +104,9 @@
 ///                   "set aperture, focal distance, focal length",
 ///            "-format %d %d %f", &width, &height, &aspect,
 ///                   "set width, height, aspect ratio",
-///            "-v", &flag, "verbose output",
+///            "-v", &verbose, "verbose output",
+///            "-q %!", &verbose, "quiet mode",
+///            "--blah %@ %s", blahcallback, "Make the callback",
 ///            NULL);
 ///
 ///    if (ap.parse (argc, argv) < 0) {
@@ -105,11 +118,15 @@
 ///
 /// The available argument types are:
 ///    - no \% argument - bool flag
+///    - \%! - a bool flag, but set it to false if the option is set
 ///    - \%d - 32bit integer
 ///    - \%f - 32bit float
 ///    - \%F - 64bit float (double)
 ///    - \%s - std::string
 ///    - \%L - std::vector<std::string>  (takes 1 arg, appends to list)
+///    - \%@ - a function pointer for a callback function will be invoked
+///            immediately.  The prototype for the callback is
+///                  int callback (int argc, char *argv[])
 ///    - \%* - catch all non-options and pass individually as an (argc,argv) 
 ///            sublist to a callback, each immediately after it's found
 ///
@@ -118,11 +135,16 @@
 ///                     in the usage output.
 ///
 /// Notes:
-///   - If an option doesn't have any arguments, a flag argument is assumed.
-///   - Flags are initialized to false.  No other variables are initialized.
+///   - If an option doesn't have any arguments, a bool flag argument is
+///     assumed.
+///   - No argument destinations are initialized.
 ///   - The empty string, "", is used as a global sublist (ie. "%*").

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list