[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [45111] trunk/lib/win64/openimageio: OpenImageIO 1.0.2 for Windows x64 (64 bit)

Thomas Dinges blender at dingto.org
Fri Mar 23 21:09:21 CET 2012


Revision: 45111
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=45111
Author:   dingto
Date:     2012-03-23 20:09:14 +0000 (Fri, 23 Mar 2012)
Log Message:
-----------
OpenImageIO 1.0.2 for Windows x64 (64 bit)
* Built without OCIO support. 

Tested on Windows 7.

Modified Paths:
--------------
    trunk/lib/win64/openimageio/CHANGES
    trunk/lib/win64/openimageio/bin/OpenImageIO.dll
    trunk/lib/win64/openimageio/include/OpenImageIO/dassert.h
    trunk/lib/win64/openimageio/include/OpenImageIO/filesystem.h
    trunk/lib/win64/openimageio/include/OpenImageIO/imagebuf.h
    trunk/lib/win64/openimageio/include/OpenImageIO/imagebufalgo.h
    trunk/lib/win64/openimageio/include/OpenImageIO/strutil.h
    trunk/lib/win64/openimageio/include/OpenImageIO/ustring.h
    trunk/lib/win64/openimageio/include/OpenImageIO/version.h
    trunk/lib/win64/openimageio/lib/OpenImageIO.lib

Modified: trunk/lib/win64/openimageio/CHANGES
===================================================================
--- trunk/lib/win64/openimageio/CHANGES	2012-03-23 16:59:23 UTC (rev 45110)
+++ trunk/lib/win64/openimageio/CHANGES	2012-03-23 20:09:14 UTC (rev 45111)
@@ -1,7 +1,44 @@
 Changes:
 
 
-Release 1.0 (20 Feb 2012, compared to 0.10.5)
+Release 1.0.2 (19 Mar 2012)
+----------------------------
+* Fixed TARGA reader bug where for 16-bpp, 4-channel images, we weren't
+  reading the alpha properly.
+* Fix ill-formed default output names for maketx (and in the process,
+  add Filesystem::replace_extension utility).
+* Threading performance improvement in the texture system as a result of
+  wrapping various internal "iequals" calls to pass a static locale
+  rather than relying on their default behavior that would use a mutex
+  underneath to access a global locale.
+
+
+Release 1.0.1 (13 Mar 2012, compared to 1.0.0)
+----------------------------------------------
+Fixes, minor enhancements, and performance improvements:
+ * Improvements in anisotropic texture filtering quality.
+ * oiiotool --hash prints the SHA-1 hash of each input image.
+ * oiiotool: properly print error message and exit when an input file
+   cannot be opened.
+ * Changed the default behavior of idiff and "oiiotool --diff" to print
+   the pixel difference report only for failures (not for successful
+   matches), unless in verbose (-v) mode.
+Developer goodies:
+ * dassert.h: New ASSERTMSG and DASSERTMSG allow even more flexible
+   assertion messages with full printf argument generality.
+ * Windows compilation fixes.
+ * Major testsuite overhaul: All tests are copied and run in the
+   build/ARCH/testsuite directory, no longer leaving any clutter in the
+   "source" testsuite area.  The testing scripts have been cleaned up
+   and greatly simplified.  An individual test can be run using "make
+   test TEST=name" (also works with regular expressions).  The usual
+   "make test" will exclude tests that are expected to be broken (such
+   as tests for portions of the system that were not built because their
+   required libraries were not found), but "make testall" will run all
+   tests including nominally "broken" ones.
+
+
+Release 1.0 (25 Feb 2012, compared to 0.10.5)
 ---------------------------------------------
 
 Major new features and improvements:
@@ -41,16 +78,17 @@
    separate from the "searchpath" for images.
 
 Fixes, minor enhancements, and performance improvements:
- * ImageBufAlgo new algorithms: compare, compare_Yee, isConstantChannel.
+ * 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 option --opaque-detect omits alpha from texture whose input
-   images had alpha=1 everywhere.
- * maketx: --mipimage option allows custom MIP levels to be assembled.
+ * 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.

Modified: trunk/lib/win64/openimageio/bin/OpenImageIO.dll
===================================================================
(Binary files differ)

Modified: trunk/lib/win64/openimageio/include/OpenImageIO/dassert.h
===================================================================
--- trunk/lib/win64/openimageio/include/OpenImageIO/dassert.h	2012-03-23 16:59:23 UTC (rev 45110)
+++ trunk/lib/win64/openimageio/include/OpenImageIO/dassert.h	2012-03-23 20:09:14 UTC (rev 45111)
@@ -70,6 +70,7 @@
 /// ASSERT(condition) checks if the condition is met, and if not, prints
 /// an error message indicating the module and line where the error
 /// occurred and then aborts.
+
 #ifndef ASSERT
 # define ASSERT(x)                                              \
     ((x) ? ((void)0)                                            \
@@ -77,7 +78,16 @@
                      __FILE__, __LINE__, #x), abort()))
 #endif
 
+/// ASSERTMSG(condition,msg,...) is like ASSERT, but lets you add
+/// formatted output (a la printf) to the failure message.
+#ifndef ASSERTMSG
+# define ASSERTMSG(x,msg,...)                                       \
+    ((x) ? ((void)0)                                                \
+         : (fprintf (stderr, "%s:%u: Failed assertion '" #x "': " msg "\n",  \
+                     __FILE__, __LINE__, __VA_ARGS__), abort()))
+#endif
 
+
 /// DASSERT(condition) is just like ASSERT, except that it only is
 /// functional in DEBUG mode, but does nothing when in a non-DEBUG
 /// (optimized, shipping) build.
@@ -87,5 +97,14 @@
 # define DASSERT(x) ((void)0) /* DASSERT does nothing when not debugging */
 #endif
 
+/// DASSERTMSG(condition,msg,...) is just like ASSERTMSG, except that it
+/// only is functional in DEBUG mode, but does nothing when in a
+/// non-DEBUG (optimized, shipping) build.
+#ifdef DEBUG
+# define DASSERTMSG ASSERTMSG
+#else
+# define DASSERTMSG(...) ((void)0) /* does nothing when not debugging */
+#endif
 
+
 #endif // OPENIMAGEIO_DASSERT_H

Modified: trunk/lib/win64/openimageio/include/OpenImageIO/filesystem.h
===================================================================
--- trunk/lib/win64/openimageio/include/OpenImageIO/filesystem.h	2012-03-23 16:59:23 UTC (rev 45110)
+++ trunk/lib/win64/openimageio/include/OpenImageIO/filesystem.h	2012-03-23 20:09:14 UTC (rev 45111)
@@ -72,6 +72,11 @@
 /// filename or filepath.  DEPRECATED.
 DLLPUBLIC std::string file_extension (const std::string &filepath);
 
+/// Replace the file extension of a filename or filepath. Does not
+/// alter filepath, just returns a new string
+DLLPUBLIC std::string replace_extension (const std::string &filepath, 
+                                         const std::string &new_extension);
+
 /// Turn a searchpath (multiple directory paths separated by ':' or ';')
 /// into a vector<string> containing each individual directory.  If
 /// validonly is true, only existing and readable directories will end

Modified: trunk/lib/win64/openimageio/include/OpenImageIO/imagebuf.h
===================================================================
--- trunk/lib/win64/openimageio/include/OpenImageIO/imagebuf.h	2012-03-23 16:59:23 UTC (rev 45110)
+++ trunk/lib/win64/openimageio/include/OpenImageIO/imagebuf.h	2012-03-23 20:09:14 UTC (rev 45111)
@@ -70,10 +70,18 @@
     /// the pixels of the image (whose values will be undefined).
     ImageBuf (const std::string &name, const ImageSpec &spec);
 
+    /// Construct a copy of an ImageBuf.
+    ///
+    ImageBuf (const ImageBuf &src);
+
     /// Destructor for an ImageBuf.
     ///
     virtual ~ImageBuf ();
 
+    /// Copy an ImageBuf.
+    ///
+    const ImageBuf& operator= (const ImageBuf &src);
+
     /// Restore the ImageBuf to an uninitialized state.
     ///
     virtual void clear ();

Modified: trunk/lib/win64/openimageio/include/OpenImageIO/imagebufalgo.h
===================================================================
--- trunk/lib/win64/openimageio/include/OpenImageIO/imagebufalgo.h	2012-03-23 16:59:23 UTC (rev 45110)
+++ trunk/lib/win64/openimageio/include/OpenImageIO/imagebufalgo.h	2012-03-23 20:09:14 UTC (rev 45111)
@@ -259,6 +259,19 @@
                        Filter2D *filter=NULL);
 
 
+enum DLLPUBLIC NonFiniteFixMode
+{
+    NONFINITE_NONE = 0,     ///< Do nothing
+    NONFINITE_BLACK = 1,    ///< Replace nonfinite pixels with black
+    NONFINITE_BOX3 = 2,     ///< Replace nonfinite pixels with 3x3 finite average
+};
+
+/// Fix all non-finite pixels (nan/inf) using the specified approach
+bool DLLPUBLIC fixNonFinite(ImageBuf &dst, const ImageBuf &src,
+                            NonFiniteFixMode mode=NONFINITE_BOX3,
+                            int * pixelsFixed=NULL);
+
+
 };  // end namespace ImageBufAlgo
 
 

Modified: trunk/lib/win64/openimageio/include/OpenImageIO/strutil.h
===================================================================
--- trunk/lib/win64/openimageio/include/OpenImageIO/strutil.h	2012-03-23 16:59:23 UTC (rev 45110)
+++ trunk/lib/win64/openimageio/include/OpenImageIO/strutil.h	2012-03-23 20:09:14 UTC (rev 45111)
@@ -119,12 +119,12 @@
 /// and collapse them into the 'real' characters.
 std::string DLLPUBLIC unescape_chars (const std::string &escaped);
 
-// Word-wrap string 'src' to no more than columns width, splitting at
-// space characters.  It assumes that 'prefix' characters are already
-// printed, and furthermore, if it should need to wrap, it prefixes that
-// number of spaces in front of subsequent lines.  By illustration, 
-// wordwrap("0 1 2 3 4 5 6 7 8", 4, 10) should return:
-// "0 1 2\n    3 4 5\n    6 7 8"
+/// Word-wrap string 'src' to no more than columns width, splitting at
+/// space characters.  It assumes that 'prefix' characters are already
+/// printed, and furthermore, if it should need to wrap, it prefixes that
+/// number of spaces in front of subsequent lines.  By illustration, 
+/// wordwrap("0 1 2 3 4 5 6 7 8", 4, 10) should return:
+/// "0 1 2\n    3 4 5\n    6 7 8"
 std::string DLLPUBLIC wordwrap (std::string src, int columns=80, int prefix=0);
 
 /// Hash a string without pre-known length.  We use the Jenkins
@@ -149,6 +149,36 @@
 
 
 
+/// Case-insensitive comparison of strings.  For speed, this always uses
+/// a static locale that doesn't require a mutex.
+bool DLLPUBLIC iequals (const std::string &a, const std::string &b);
+bool DLLPUBLIC iequals (const char *a, const char *b);
+
+/// Does 'a' start with the string 'b', with a case-insensitive comparison?
+/// For speed, this always uses a static locale that doesn't require a mutex.
+bool DLLPUBLIC istarts_with (const std::string &a, const std::string &b);
+bool DLLPUBLIC istarts_with (const char *a, const char *b);
+
+/// Does 'a' end with the string 'b', with a case-insensitive comparison?
+/// For speed, this always uses a static locale that doesn't require a mutex.

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list