[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [47475] trunk/lib/linux64/oiio: Update OIIO library for linux 64bit
Sergey Sharybin
sergey.vfx at gmail.com
Tue Jun 5 21:17:15 CEST 2012
Revision: 47475
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=47475
Author: nazgul
Date: 2012-06-05 19:17:14 +0000 (Tue, 05 Jun 2012)
Log Message:
-----------
Update OIIO library for linux 64bit
Modified Paths:
--------------
trunk/lib/linux64/oiio/CHANGES
trunk/lib/linux64/oiio/ReadMe.txt
trunk/lib/linux64/oiio/include/OpenImageIO/dassert.h
trunk/lib/linux64/oiio/include/OpenImageIO/filesystem.h
trunk/lib/linux64/oiio/include/OpenImageIO/fmath.h
trunk/lib/linux64/oiio/include/OpenImageIO/strutil.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
Modified: trunk/lib/linux64/oiio/CHANGES
===================================================================
--- trunk/lib/linux64/oiio/CHANGES 2012-06-05 19:16:25 UTC (rev 47474)
+++ trunk/lib/linux64/oiio/CHANGES 2012-06-05 19:17:14 UTC (rev 47475)
@@ -1,6 +1,80 @@
Changes:
+Release 1.0.5 (3 Jun 2012)
+--------------------------
+* Various fixes for FreeBSD/kFreeBSD systems.
+* Various fixes to compile with Clang 3.1 without warnings.
+* Fixed some DPX and Cineon bugs related to channel names.
+* Fixed some mangled text in the PDF documentation.
+* Developer goodie: TypeDesc::equivalent() tests two TypeDesc's for
+ equality, but allows 'triples' with differing vector semantics to match.
+
+Release 1.0.4 (2 May 2012)
+--------------------------
+* DPX fixes for 12 bit DPX and packing methods.
+* Cineon fixes: remove buggy 32 and 64 bit output, which wasn't needed;
+ fix for 10 bit -> 16 bit promotion.
+* bmp fix: wasn't setting oiio:BitsPerSample correctly.
+* oiiotool fixes: improved argument help and add man page generation;
+ print data format info correctly for non-byte bit depths; better
+ inference of output tile size and data format from the inputs (when
+ not explicitly requested); --resize n% was broken; print data format
+ info correctly for non-byte bit depths.
+* iinfo fixes: make --stats print correctly; print data format info
+ correctly for non-byte bit depths.
+* Fix roundoff error when converting from float buffers to int image files.
+* More precise filter normalization in ImageBufAlgo::resize (and therefore
+ oiiotool --resize).
+
+
+Release 1.0.3 (16 Apr 2012)
+---------------------------
+* Fix reading bugs in DPX and Cineon.
+* iconvert handles the int32 and uint32 cases.
+* Bug fix in to_native_rectangle, which could lead to errors in certain
+ data format conversions.
+* Various Windows build fixes, including fixes for Windows 7.
+* Compilation fixes on FreeBSD.
+
+
+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)
---------------------------------------------
Modified: trunk/lib/linux64/oiio/ReadMe.txt
===================================================================
--- trunk/lib/linux64/oiio/ReadMe.txt 2012-06-05 19:16:25 UTC (rev 47474)
+++ trunk/lib/linux64/oiio/ReadMe.txt 2012-06-05 19:17:14 UTC (rev 47475)
@@ -1,2 +1,2 @@
-This folder contains static libraries and header files for OpenImageIO 1.0 needed for Cycles.
+This folder contains static libraries and header files for OpenImageIO 1.0.5 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/dassert.h
===================================================================
--- trunk/lib/linux64/oiio/include/OpenImageIO/dassert.h 2012-06-05 19:16:25 UTC (rev 47474)
+++ trunk/lib/linux64/oiio/include/OpenImageIO/dassert.h 2012-06-05 19:17:14 UTC (rev 47475)
@@ -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/linux64/oiio/include/OpenImageIO/filesystem.h
===================================================================
--- trunk/lib/linux64/oiio/include/OpenImageIO/filesystem.h 2012-06-05 19:16:25 UTC (rev 47474)
+++ trunk/lib/linux64/oiio/include/OpenImageIO/filesystem.h 2012-06-05 19:17:14 UTC (rev 47475)
@@ -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/linux64/oiio/include/OpenImageIO/fmath.h
===================================================================
--- trunk/lib/linux64/oiio/include/OpenImageIO/fmath.h 2012-06-05 19:16:25 UTC (rev 47474)
+++ trunk/lib/linux64/oiio/include/OpenImageIO/fmath.h 2012-06-05 19:17:14 UTC (rev 47475)
@@ -967,6 +967,18 @@
+// Functions missing from FreeBSD
+#if (defined(__FreeBSD__) && (__FreeBSD_version < 803000))
+
+inline float
+log2f (float val) {
+ return logf (val)/static_cast<float>(M_LN2);
+}
+
+#endif
+
+
+
/// Simple conversion of a (presumably non-negative) float into a
/// rational. This does not attempt to find the simplest fraction
/// that approximates the float, for example 52.83 will simply
Modified: trunk/lib/linux64/oiio/include/OpenImageIO/strutil.h
===================================================================
--- trunk/lib/linux64/oiio/include/OpenImageIO/strutil.h 2012-06-05 19:16:25 UTC (rev 47474)
+++ trunk/lib/linux64/oiio/include/OpenImageIO/strutil.h 2012-06-05 19:17:14 UTC (rev 47475)
@@ -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.
+bool DLLPUBLIC iends_with (const std::string &a, const std::string &b);
+bool DLLPUBLIC iends_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.
+bool DLLPUBLIC iends_with (const std::string &a, const std::string &b);
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list