[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [32289] trunk/lib/win64/openexr: Update OpenEXR to 1.6.1 and IlmBase to 1.0.1 for MSVC9 (VS2008)-
Nathan Letwory
nathan at letworyinteractive.com
Mon Oct 4 00:30:28 CEST 2010
Revision: 32289
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=32289
Author: jesterking
Date: 2010-10-04 00:30:28 +0200 (Mon, 04 Oct 2010)
Log Message:
-----------
Update OpenEXR to 1.6.1 and IlmBase to 1.0.1 for MSVC9 (VS2008)-
This adds also the debug libraries for this dependency, so now building
with CMake works.
Modified Paths:
--------------
trunk/lib/win64/openexr/include/IlmImf/ImfAutoArray.h
trunk/lib/win64/openexr/include/IlmImf/ImfCRgbaFile.h
trunk/lib/win64/openexr/include/IlmImf/ImfChannelList.h
trunk/lib/win64/openexr/include/IlmImf/ImfChromaticities.h
trunk/lib/win64/openexr/include/IlmImf/ImfCompression.h
trunk/lib/win64/openexr/include/IlmImf/ImfEnvmap.h
trunk/lib/win64/openexr/include/IlmImf/ImfHeader.h
trunk/lib/win64/openexr/include/IlmImf/ImfInt64.h
trunk/lib/win64/openexr/include/IlmImf/ImfMisc.h
trunk/lib/win64/openexr/include/IlmImf/ImfStandardAttributes.h
trunk/lib/win64/openexr/include/Imath/ImathBoxAlgo.h
trunk/lib/win64/openexr/include/Imath/ImathFrustum.h
trunk/lib/win64/openexr/include/Imath/ImathFun.h
trunk/lib/win64/openexr/include/Imath/ImathLineAlgo.h
trunk/lib/win64/openexr/include/Imath/ImathMath.h
trunk/lib/win64/openexr/include/Imath/ImathMatrix.h
trunk/lib/win64/openexr/include/Imath/ImathQuat.h
trunk/lib/win64/openexr/include/Imath/ImathRandom.h
trunk/lib/win64/openexr/include/Imath/ImathRoots.h
trunk/lib/win64/openexr/include/half.h
trunk/lib/win64/openexr/lib_vs2008/Half.lib
trunk/lib/win64/openexr/lib_vs2008/Iex.lib
trunk/lib/win64/openexr/lib_vs2008/IlmImf.lib
trunk/lib/win64/openexr/lib_vs2008/IlmThread.lib
trunk/lib/win64/openexr/lib_vs2008/Imath.lib
Added Paths:
-----------
trunk/lib/win64/openexr/README.txt
trunk/lib/win64/openexr/include/IlmBaseConfig.h
trunk/lib/win64/openexr/include/IlmImf/ImfB44Compressor.h
trunk/lib/win64/openexr/include/IlmImf/ImfFramesPerSecond.h
trunk/lib/win64/openexr/include/IlmImf/ImfRational.h
trunk/lib/win64/openexr/include/IlmImf/ImfRationalAttribute.h
trunk/lib/win64/openexr/include/IlmThread/
trunk/lib/win64/openexr/include/IlmThread/IlmThread.h
trunk/lib/win64/openexr/include/IlmThread/IlmThreadMutex.h
trunk/lib/win64/openexr/include/IlmThread/IlmThreadPool.h
trunk/lib/win64/openexr/include/IlmThread/IlmThreadSemaphore.h
trunk/lib/win64/openexr/include/Imath/ImathInt64.h
trunk/lib/win64/openexr/lib_vs2008/Half_d.lib
trunk/lib/win64/openexr/lib_vs2008/Iex_d.lib
trunk/lib/win64/openexr/lib_vs2008/IlmImf_d.lib
trunk/lib/win64/openexr/lib_vs2008/IlmThread_d.lib
trunk/lib/win64/openexr/lib_vs2008/Imath_d.lib
Removed Paths:
-------------
trunk/lib/win64/openexr/include/zconf.h
trunk/lib/win64/openexr/include/zlib.h
Added: trunk/lib/win64/openexr/README.txt
===================================================================
--- trunk/lib/win64/openexr/README.txt (rev 0)
+++ trunk/lib/win64/openexr/README.txt 2010-10-03 22:30:28 UTC (rev 32289)
@@ -0,0 +1,5 @@
+IlmBase 1.0.1 and OpenEXR 1.6.1
+
+lib_vs2008 built from source. Note: Set all concerning projects to build as /MT for release and /MTd for debug
+Also, remove the _USR_DLL and _DLL and *_EXPORT defines from the preprocessor. That way you
+get libs to which blender links fine.
Added: trunk/lib/win64/openexr/include/IlmBaseConfig.h
===================================================================
--- trunk/lib/win64/openexr/include/IlmBaseConfig.h (rev 0)
+++ trunk/lib/win64/openexr/include/IlmBaseConfig.h 2010-10-03 22:30:28 UTC (rev 32289)
@@ -0,0 +1,16 @@
+// Hand-crafted version of config/IlmBaseConfig.h for Windows
+//
+// Define and set to 1 if the target system has POSIX thread support
+// and you want IlmBase to use it for multithreaded file I/O.
+//
+
+#undef HAVE_PTHREAD
+
+//
+// Define and set to 1 if the target system supports POSIX semaphores
+// and you want OpenEXR to use them; otherwise, OpenEXR will use its
+// own semaphore implementation.
+//
+
+#undef HAVE_POSIX_SEMAPHORES
+
Modified: trunk/lib/win64/openexr/include/IlmImf/ImfAutoArray.h
===================================================================
--- trunk/lib/win64/openexr/include/IlmImf/ImfAutoArray.h 2010-10-03 22:26:47 UTC (rev 32288)
+++ trunk/lib/win64/openexr/include/IlmImf/ImfAutoArray.h 2010-10-03 22:30:28 UTC (rev 32289)
@@ -39,9 +39,8 @@
//-----------------------------------------------------------------------------
//
-// class AutoArray -- a workaround for the
-// lack of large auto arrays on Mac OS X and
-// Win32.
+// class AutoArray -- a workaround for systems with
+// insufficient stack space for large auto arrays.
//
//-----------------------------------------------------------------------------
@@ -50,7 +49,7 @@
namespace Imf {
-#if defined (HAVE_DARWIN) || defined (_WIN32) || defined (_WIN64)
+#if !defined (HAVE_LARGE_STACK)
template <class T, int size>
Added: trunk/lib/win64/openexr/include/IlmImf/ImfB44Compressor.h
===================================================================
--- trunk/lib/win64/openexr/include/IlmImf/ImfB44Compressor.h (rev 0)
+++ trunk/lib/win64/openexr/include/IlmImf/ImfB44Compressor.h 2010-10-03 22:30:28 UTC (rev 32289)
@@ -0,0 +1,117 @@
+///////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2006, Industrial Light & Magic, a division of Lucas
+// Digital Ltd. LLC
+//
+// All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions are
+// met:
+// * Redistributions of source code must retain the above copyright
+// notice, this list of conditions and the following disclaimer.
+// * Redistributions in binary form must reproduce the above
+// copyright notice, this list of conditions and the following disclaimer
+// in the documentation and/or other materials provided with the
+// distribution.
+// * Neither the name of Industrial Light & Magic nor the names of
+// its contributors may be used to endorse or promote products derived
+// from this software without specific prior written permission.
+//
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//
+///////////////////////////////////////////////////////////////////////////
+
+
+#ifndef INCLUDED_IMF_B44_COMPRESSOR_H
+#define INCLUDED_IMF_B44_COMPRESSOR_H
+
+//-----------------------------------------------------------------------------
+//
+// class B44Compressor -- lossy compression of 4x4 pixel blocks
+//
+//-----------------------------------------------------------------------------
+
+#include <ImfCompressor.h>
+
+namespace Imf {
+
+class ChannelList;
+
+
+class B44Compressor: public Compressor
+{
+ public:
+
+ B44Compressor (const Header &hdr,
+ int maxScanLineSize,
+ int numScanLines,
+ bool optFlatFields);
+
+ virtual ~B44Compressor ();
+
+ virtual int numScanLines () const;
+
+ virtual Format format () const;
+
+ virtual int compress (const char *inPtr,
+ int inSize,
+ int minY,
+ const char *&outPtr);
+
+ virtual int compressTile (const char *inPtr,
+ int inSize,
+ Imath::Box2i range,
+ const char *&outPtr);
+
+ virtual int uncompress (const char *inPtr,
+ int inSize,
+ int minY,
+ const char *&outPtr);
+
+ virtual int uncompressTile (const char *inPtr,
+ int inSize,
+ Imath::Box2i range,
+ const char *&outPtr);
+ private:
+
+ struct ChannelData;
+
+ int compress (const char *inPtr,
+ int inSize,
+ Imath::Box2i range,
+ const char *&outPtr);
+
+ int uncompress (const char *inPtr,
+ int inSize,
+ Imath::Box2i range,
+ const char *&outPtr);
+
+ int _maxScanLineSize;
+ bool _optFlatFields;
+ Format _format;
+ int _numScanLines;
+ unsigned short * _tmpBuffer;
+ char * _outBuffer;
+ int _numChans;
+ const ChannelList & _channels;
+ ChannelData * _channelData;
+ int _minX;
+ int _maxX;
+ int _maxY;
+};
+
+
+} // namespace Imf
+
+#endif
Modified: trunk/lib/win64/openexr/include/IlmImf/ImfCRgbaFile.h
===================================================================
--- trunk/lib/win64/openexr/include/IlmImf/ImfCRgbaFile.h 2010-10-03 22:26:47 UTC (rev 32288)
+++ trunk/lib/win64/openexr/include/IlmImf/ImfCRgbaFile.h 2010-10-03 22:30:28 UTC (rev 32289)
@@ -106,6 +106,8 @@
#define IMF_ZIP_COMPRESSION 3
#define IMF_PIZ_COMPRESSION 4
#define IMF_PXR24_COMPRESSION 5
+#define IMF_B44_COMPRESSION 6
+#define IMF_B44A_COMPRESSION 7
/*
Modified: trunk/lib/win64/openexr/include/IlmImf/ImfChannelList.h
===================================================================
--- trunk/lib/win64/openexr/include/IlmImf/ImfChannelList.h 2010-10-03 22:26:47 UTC (rev 32288)
+++ trunk/lib/win64/openexr/include/IlmImf/ImfChannelList.h 2010-10-03 22:30:28 UTC (rev 32289)
@@ -75,13 +75,32 @@
int ySampling;
+ //--------------------------------------------------------------
+ // Hint to lossy compression methods that indicates whether
+ // human perception of the quantity represented by this channel
+ // is closer to linear or closer to logarithmic. Compression
+ // methods may optimize image quality by adjusting pixel data
+ // quantization acording to this hint.
+ // For example, perception of red, green, blue and luminance is
+ // approximately logarithmic; the difference between 0.1 and 0.2
+ // is perceived to be roughly the same as the difference between
+ // 1.0 and 2.0. Perception of chroma coordinates tends to be
+ // closer to linear than logarithmic; the difference between 0.1
+ // and 0.2 is perceived to be roughly the same as the difference
+ // between 1.0 and 1.1.
+ //--------------------------------------------------------------
+
+ bool pLinear;
+
+
//------------
// Constructor
//------------
Channel (PixelType type = HALF,
int xSampling = 1,
- int ySampling = 1);
+ int ySampling = 1,
+ bool pLinear = false);
//------------
Modified: trunk/lib/win64/openexr/include/IlmImf/ImfChromaticities.h
===================================================================
--- trunk/lib/win64/openexr/include/IlmImf/ImfChromaticities.h 2010-10-03 22:26:47 UTC (rev 32288)
+++ trunk/lib/win64/openexr/include/IlmImf/ImfChromaticities.h 2010-10-03 22:30:28 UTC (rev 32289)
@@ -51,11 +51,21 @@
struct Chromaticities
{
+ //-----------------------------------------------
+ // The CIE x and y coordinates of the RGB triples
+ // (1,0,0), (0,1,0), (0,0,1) and (1,1,1).
+ //-----------------------------------------------
+
Imath::V2f red;
Imath::V2f green;
Imath::V2f blue;
Imath::V2f white;
+ //--------------------------------------------
+ // Default constructor produces chromaticities
+ // according to Rec. ITU-R BT.709-3
+ //--------------------------------------------
+
Chromaticities (const Imath::V2f &red = Imath::V2f (0.6400f, 0.3300f),
const Imath::V2f &green = Imath::V2f (0.3000f, 0.6000f),
const Imath::V2f &blue = Imath::V2f (0.1500f, 0.0600f),
@@ -100,23 +110,6 @@
//
// YYZtoRGB(c,Y) returns RGBtoXYZ(c,Y).inverse().
//
-// Warning:
-//
-// It would seem that RGBtoXYZ() and XYZtoRGB() are all you need
-// to convert RGB values with one set of primary and white point
-// chromaticities into perceptually equivalent RGB values with
-// different primary and white point chromaticities:
-//
-// M44f M = RGBtoXYZ (chromaticities1, Y1) *
-// XYZtoRGB (chromaticities2, Y2);
-//
-// However, this simple conversion does not account for white point
-// adaptation, and produces undesirable results. The proper thing
-// to do is to perform a Bradford or a von Kries transform, which
-// moves the white point of the original color space to the white
-// point of the destination color space, dragging other colors with
-// it in a sensible fashion.
-//
Imath::M44f RGBtoXYZ (const Chromaticities chroma, float Y);
Imath::M44f XYZtoRGB (const Chromaticities chroma, float Y);
Modified: trunk/lib/win64/openexr/include/IlmImf/ImfCompression.h
===================================================================
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list