[Bf-blender-cvs] SVN commit: /data/svn/repos/bf-blender [61487] trunk/lib/win64_vc12/ openexr/include/OpenEXR: Bump OpenEXR to 2.2 (forgot to add some files)
Martijn Berger
martijn.berger at gmail.com
Mon Feb 2 21:01:01 CET 2015
Revision: 61487
https://developer.blender.org/rBL61487
Author: juicyfruit
Date: 2015-02-02 20:01:01 +0000 (Mon, 02 Feb 2015)
Log Message:
-----------
Bump OpenEXR to 2.2 (forgot to add some files)
Added Paths:
-----------
trunk/lib/win64_vc12/openexr/include/OpenEXR/ImfDeepImage.h
trunk/lib/win64_vc12/openexr/include/OpenEXR/ImfDeepImageChannel.h
trunk/lib/win64_vc12/openexr/include/OpenEXR/ImfDeepImageIO.h
trunk/lib/win64_vc12/openexr/include/OpenEXR/ImfDeepImageLevel.h
trunk/lib/win64_vc12/openexr/include/OpenEXR/ImfFlatImage.h
trunk/lib/win64_vc12/openexr/include/OpenEXR/ImfFlatImageChannel.h
trunk/lib/win64_vc12/openexr/include/OpenEXR/ImfFlatImageIO.h
trunk/lib/win64_vc12/openexr/include/OpenEXR/ImfFlatImageLevel.h
trunk/lib/win64_vc12/openexr/include/OpenEXR/ImfFloatVectorAttribute.h
trunk/lib/win64_vc12/openexr/include/OpenEXR/ImfImage.h
trunk/lib/win64_vc12/openexr/include/OpenEXR/ImfImageChannel.h
trunk/lib/win64_vc12/openexr/include/OpenEXR/ImfImageChannelRenaming.h
trunk/lib/win64_vc12/openexr/include/OpenEXR/ImfImageDataWindow.h
trunk/lib/win64_vc12/openexr/include/OpenEXR/ImfImageIO.h
trunk/lib/win64_vc12/openexr/include/OpenEXR/ImfImageLevel.h
trunk/lib/win64_vc12/openexr/include/OpenEXR/ImfSampleCountChannel.h
Added: trunk/lib/win64_vc12/openexr/include/OpenEXR/ImfDeepImage.h
===================================================================
--- trunk/lib/win64_vc12/openexr/include/OpenEXR/ImfDeepImage.h (rev 0)
+++ trunk/lib/win64_vc12/openexr/include/OpenEXR/ImfDeepImage.h 2015-02-02 20:01:01 UTC (rev 61487)
@@ -0,0 +1,93 @@
+///////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2014, 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_DEEP_IMAGE_H
+#define INCLUDED_IMF_DEEP_IMAGE_H
+
+//----------------------------------------------------------------------------
+//
+// class DeepImage
+//
+// For an explanation of images, levels and channels,
+// see the comments in header file Image.h.
+//
+//----------------------------------------------------------------------------
+
+#include "ImfDeepImageLevel.h"
+#include <ImfImage.h>
+#include <ImfTileDescription.h>
+#include "ImfExport.h"
+
+OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
+
+
+class IMF_EXPORT DeepImage : public Image
+{
+ public:
+
+ //
+ // Constructors and destructor.
+ // The default constructor constructs an image with an empty data
+ // window level mode ONE_LEVEL and level rounding mode ROUND_DOWN.
+ //
+
+ DeepImage();
+
+ DeepImage(const IMATH_NAMESPACE::Box2i &dataWindow,
+ LevelMode levelMode = ONE_LEVEL,
+ LevelRoundingMode levelRoundingMode = ROUND_DOWN);
+
+ virtual ~DeepImage();
+
+
+ //
+ // Accessing image levels by level number
+ //
+
+ virtual DeepImageLevel & level(int l = 0);
+ virtual const DeepImageLevel & level(int l = 0) const;
+
+ virtual DeepImageLevel & level(int lx, int ly);
+ virtual const DeepImageLevel & level(int lx, int ly) const;
+
+ protected:
+
+ virtual DeepImageLevel *
+ newLevel (int lx, int ly, const IMATH_NAMESPACE::Box2i &dataWindow);
+};
+
+
+OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_EXIT
+
+#endif
Added: trunk/lib/win64_vc12/openexr/include/OpenEXR/ImfDeepImageChannel.h
===================================================================
--- trunk/lib/win64_vc12/openexr/include/OpenEXR/ImfDeepImageChannel.h (rev 0)
+++ trunk/lib/win64_vc12/openexr/include/OpenEXR/ImfDeepImageChannel.h 2015-02-02 20:01:01 UTC (rev 61487)
@@ -0,0 +1,533 @@
+///////////////////////////////////////////////////////////////////////////
+//
+// Copyright (c) 2014, 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_DEEP_IMAGE_CHANNEL_H
+#define INCLUDED_IMF_DEEP_IMAGE_CHANNEL_H
+
+//----------------------------------------------------------------------------
+//
+// class DeepImageChannel,
+// template class TypedDeepImageChannel<T>
+//
+// For an explanation of images, levels and channels,
+// see the comments in header file Image.h.
+//
+//----------------------------------------------------------------------------
+
+#include "ImfImageChannel.h"
+#include <ImfDeepFrameBuffer.h>
+#include "ImfExport.h"
+
+OPENEXR_IMF_INTERNAL_NAMESPACE_HEADER_ENTER
+
+class DeepImageLevel;
+class SampleCountChannel;
+
+//
+// Image channels:
+//
+// A TypedDeepImageChannel<T> holds the pixel data for a single channel
+// of one level of a deep image. Each pixel in the channel contains an
+// array of n samples of type T, where T is either half, float or
+// unsigned int, and n is stored in a separate sample count channel.
+// Sample storage is allocated only for pixels within the data window
+// of the level.
+//
+
+class DeepImageChannel: public ImageChannel
+{
+ public:
+
+ //
+ // Construct an OpenEXR frame buffer slice for this channel.
+ // This function is needed reading an image from an OpenEXR
+ // file and for saving an image in an OpenEXR file.
+ //
+
+ virtual DeepSlice slice () const = 0;
+
+ //
+ // Access to the image level to which this channel belongs.
+ //
+
+ IMF_EXPORT DeepImageLevel & deepLevel();
+ IMF_EXPORT const DeepImageLevel & deepLevel() const;
+
+
+ //
+ // Access to the sample count channel for this deep channel.
+ //
+
+ IMF_EXPORT SampleCountChannel & sampleCounts();
+ IMF_EXPORT const SampleCountChannel & sampleCounts() const;
+
+
+ protected:
+
+ friend class DeepImageLevel;
+
+ DeepImageChannel (DeepImageLevel &level, bool pLinear);
+ virtual ~DeepImageChannel();
+
+ virtual void setSamplesToZero
+ (size_t i,
+ unsigned int oldNumSamples,
+ unsigned int newNumSamples) = 0;
+
+ virtual void moveSampleList
+ (size_t i,
+ unsigned int oldNumSamples,
+ unsigned int newNumSamples,
+ size_t newSampleListPosition) = 0;
+
+ virtual void moveSamplesToNewBuffer
+ (const unsigned int * oldNumSamples,
+ const unsigned int * newNumSamples,
+ const size_t * newSampleListPositions) = 0;
+
+ virtual void initializeSampleLists () = 0;
+
+ virtual void resize ();
+
+ virtual void resetBasePointer () = 0;
+};
+
+
+template <class T>
+class TypedDeepImageChannel: public DeepImageChannel
+{
+ public:
+
+ //
+ // The OpenEXR pixel type of this channel (HALF, FLOAT or UINT).
+ //
+
+ virtual PixelType pixelType () const;
+
+
+ //
+ // Construct an OpenEXR frame buffer slice for this channel.
+ // This function is needed reading an image from an OpenEXR
+ // file and for saving an image in an OpenEXR file.
+ //
+
+ virtual DeepSlice slice () const;
+
+
+ //
+ // Access to the pixel at pixel space location (x, y), without bounds
+ // checking. Accessing a location outside the data window of the image
+ // level results in undefined behavior.
+ //
+ // The pixel contains a pointer to an array of samples to type T. The
+ // number of samples in this array is sampleCounts().at(x,y).
+ //
+
+ T * operator () (int x, int y);
+ const T * operator () (int x, int y) const;
+
+
+ //
+ // Access to the pixel at pixel space location (x, y), with bounds
+ // checking. Accessing a location outside the data window of the
+ // image level throws an Iex::ArgExc exception.
+ //
+
+ T * at (int x, int y);
+ const T * at (int x, int y) const;
+
+ //
+ // Faster access to all pixels in a single horizontal row of the
+ // channel. Access is not bounds checked; accessing out of bounds
+ // rows or pixels results in undefined behavior.
+ //
+ // Rows are numbered from 0 to pixelsPerColumn()-1, and each row
+ // contains pixelsPerRow() values. The number of samples in
+ // row(r)[i] is sampleCounts().row(r)[i].
+ //
+
+ T * const * row (int r);
+ const T * const * row (int r) const;
+
+ private:
+
+ friend class DeepImageLevel;
+
+ TypedDeepImageChannel (DeepImageLevel &level, bool pLinear);
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list