[Bf-blender-cvs] SVN commit: /data/svn/repos/bf-blender [61397] trunk/lib/windows_vc12/ openimageio: OpenImage IO 1.4 win32 msvc2013
Martijn Berger
martijn.berger at gmail.com
Fri Aug 1 17:09:10 CEST 2014
Revision: 61397
https://developer.blender.org/rBL61397
Author: juicyfruit
Date: 2014-08-01 15:09:07 +0000 (Fri, 01 Aug 2014)
Log Message:
-----------
OpenImage IO 1.4 win32 msvc2013
Modified Paths:
--------------
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/argparse.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/color.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/errorhandler.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/export.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/filesystem.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/filter.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/fmath.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/hash.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/imagebuf.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/imagebufalgo.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/imagebufalgo_util.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/imagecache.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/imageio.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/paramlist.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/plugin.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/pugixml.hpp
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/refcnt.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/string_ref.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/strutil.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/sysutil.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/texture.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/thread.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/timer.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/tinyformat.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/typedesc.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/ustring.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/varyingref.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/version.h
trunk/lib/windows_vc12/openimageio/lib/OpenImageIO.lib
trunk/lib/windows_vc12/openimageio/lib/OpenImageIO_d.lib
Added Paths:
-----------
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/SHA1.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/array_view.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/image_view.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/oiioversion.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/strided_ptr.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/string_view.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/unittest.h
trunk/lib/windows_vc12/openimageio/include/OpenImageIO/unordered_map_concurrent.h
trunk/lib/windows_vc12/openimageio/lib/OpenImageIO_Util.lib
trunk/lib/windows_vc12/openimageio/lib/OpenImageIO_Util_d.lib
Added: trunk/lib/windows_vc12/openimageio/include/OpenImageIO/SHA1.h
===================================================================
--- trunk/lib/windows_vc12/openimageio/include/OpenImageIO/SHA1.h (rev 0)
+++ trunk/lib/windows_vc12/openimageio/include/OpenImageIO/SHA1.h 2014-08-01 15:09:07 UTC (rev 61397)
@@ -0,0 +1,263 @@
+/*
+ 100% free public domain implementation of the SHA-1 algorithm
+ by Dominik Reichl <dominik.reichl at t-online.de>
+ Web: http://www.dominik-reichl.de/
+
+ Version 1.8 - 2008-03-16
+ - Converted project files to Visual Studio 2008 format.
+ - Added Unicode support for HashFile utility method.
+ - Added support for hashing files using the HashFile method that are
+ larger than 2 GB.
+ - HashFile now returns an error code instead of copying an error
+ message into the output buffer.
+ - GetHash now returns an error code and validates the input parameter.
+ - Added ReportHashStl STL utility method.
+ - Added REPORT_HEX_SHORT reporting mode.
+ - Improved Linux compatibility of test program.
+
+ Version 1.7 - 2006-12-21
+ - Fixed buffer underrun warning that appeared when compiling with
+ Borland C Builder (thanks to Rex Bloom and Tim Gallagher for the
+ patch).
+ - Breaking change: ReportHash writes the final hash to the start
+ of the buffer, i.e. it's not appending it to the string anymore.
+ - Made some function parameters const.
+ - Added Visual Studio 2005 project files to demo project.
+
+ Version 1.6 - 2005-02-07 (thanks to Howard Kapustein for patches)
+ - You can set the endianness in your files, no need to modify the
+ header file of the CSHA1 class anymore.
+ - Aligned data support.
+ - Made support/compilation of the utility functions (ReportHash and
+ HashFile) optional (useful when bytes count, for example in embedded
+ environments).
+
+ Version 1.5 - 2005-01-01
+ - 64-bit compiler compatibility added.
+ - Made variable wiping optional (define SHA1_WIPE_VARIABLES).
+ - Removed unnecessary variable initializations.
+ - ROL32 improvement for the Microsoft compiler (using _rotl).
+
+ Version 1.4 - 2004-07-22
+ - CSHA1 now compiles fine with GCC 3.3 under MacOS X (thanks to Larry
+ Hastings).
+
+ Version 1.3 - 2003-08-17
+ - Fixed a small memory bug and made a buffer array a class member to
+ ensure correct working when using multiple CSHA1 class instances at
+ one time.
+
+ Version 1.2 - 2002-11-16
+ - Borlands C++ compiler seems to have problems with string addition
+ using sprintf. Fixed the bug which caused the digest report function
+ not to work properly. CSHA1 is now Borland compatible.
+
+ Version 1.1 - 2002-10-11
+ - Removed two unnecessary header file includes and changed BOOL to
+ bool. Fixed some minor bugs in the web page contents.
+
+ Version 1.0 - 2002-06-20
+ - First official release.
+
+ ======== Test Vectors (from FIPS PUB 180-1) ========
+
+ SHA1("abc") =
+ A9993E36 4706816A BA3E2571 7850C26C 9CD0D89D
+
+ SHA1("abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq") =
+ 84983E44 1C3BD26E BAAE4AA1 F95129E5 E54670F1
+
+ SHA1(A million repetitions of "a") =
+ 34AA973C D4C4DAA4 F61EEB2B DBAD2731 6534016F
+*/
+
+#ifndef ___SHA1_HDR___
+#define ___SHA1_HDR___
+
+#include "export.h"
+#include "oiioversion.h"
+
+#if !defined(SHA1_UTILITY_FUNCTIONS) && !defined(SHA1_NO_UTILITY_FUNCTIONS)
+#define SHA1_UTILITY_FUNCTIONS
+#endif
+
+#if !defined(SHA1_STL_FUNCTIONS) && !defined(SHA1_NO_STL_FUNCTIONS)
+#define SHA1_STL_FUNCTIONS
+#if !defined(SHA1_UTILITY_FUNCTIONS)
+#error STL functions require SHA1_UTILITY_FUNCTIONS.
+#endif
+#endif
+
+#include <memory.h>
+
+#ifdef SHA1_UTILITY_FUNCTIONS
+#include <stdio.h>
+#include <string.h>
+#endif
+
+#ifdef SHA1_STL_FUNCTIONS
+#include <string>
+#endif
+
+#ifdef _MSC_VER
+#include <stdlib.h>
+#endif
+
+// You can define the endian mode in your files without modifying the SHA-1
+// source files. Just #define SHA1_LITTLE_ENDIAN or #define SHA1_BIG_ENDIAN
+// in your files, before including the SHA1.h header file. If you don't
+// define anything, the class defaults to little endian.
+#if !defined(SHA1_LITTLE_ENDIAN) && !defined(SHA1_BIG_ENDIAN)
+#define SHA1_LITTLE_ENDIAN
+#endif
+
+// If you want variable wiping, #define SHA1_WIPE_VARIABLES, if not,
+// #define SHA1_NO_WIPE_VARIABLES. If you don't define anything, it
+// defaults to wiping.
+#if !defined(SHA1_WIPE_VARIABLES) && !defined(SHA1_NO_WIPE_VARIABLES)
+#define SHA1_WIPE_VARIABLES
+#endif
+
+#if defined(SHA1_HAS_TCHAR)
+#include <tchar.h>
+#else
+#ifdef _MSC_VER
+#include <tchar.h>
+#else
+#ifndef TCHAR
+#define TCHAR char
+#endif
+#ifndef _T
+#define _T(__x) (__x)
+#define _tmain main
+#define _tprintf printf
+#define _getts gets
+#define _tcslen strlen
+#define _tfopen fopen
+#define _tcscpy strcpy
+#define _tcscat strcat
+#define _sntprintf snprintf
+#endif
+#endif
+#endif
+
+// Fallback, if no 64-bit support
+#ifndef _fseeki64
+#define _fseeki64 fseek
+#endif
+#ifndef _ftelli64
+#define _ftelli64 ftell
+#endif
+
+///////////////////////////////////////////////////////////////////////////
+// Define variable types
+
+#ifndef UINT_8
+#ifdef _MSC_VER // Compiling with Microsoft compiler
+#define UINT_8 unsigned __int8
+#else // !_MSC_VER
+#define UINT_8 unsigned char
+#endif // _MSC_VER
+#endif
+
+#ifndef UINT_32
+#ifdef _MSC_VER // Compiling with Microsoft compiler
+#define UINT_32 unsigned __int32
+#else // !_MSC_VER
+#if (ULONG_MAX == 0xFFFFFFFF)
+#define UINT_32 unsigned long
+#else
+#define UINT_32 unsigned int
+#endif
+#endif // _MSC_VER
+#endif // UINT_32
+
+#ifndef INT_64
+#ifdef _MSC_VER // Compiling with Microsoft compiler
+#define INT_64 __int64
+#else // !_MSC_VER
+#define INT_64 long long
+#endif // _MSC_VER
+#endif // INT_64
+
+#ifndef UINT_64
+#ifdef _MSC_VER // Compiling with Microsoft compiler
+#define UINT_64 unsigned __int64
+#else // !_MSC_VER
+#define UINT_64 unsigned long long
+#endif // _MSC_VER
+#endif // UINT_64
+
+///////////////////////////////////////////////////////////////////////////
+// Declare SHA-1 workspace
+
+OIIO_NAMESPACE_ENTER
+{
+
+typedef union
+{
+ UINT_8 c[64];
+ UINT_32 l[16];
+} SHA1_WORKSPACE_BLOCK;
+
+class CSHA1
+{
+public:
+#ifdef SHA1_UTILITY_FUNCTIONS
+ // Different formats for ReportHash
+ enum REPORT_TYPE
+ {
+ REPORT_HEX = 0,
+ REPORT_DIGIT = 1,
+ REPORT_HEX_SHORT = 2
+ };
+#endif
+
+ // Constructor and destructor
+ CSHA1();
+ ~CSHA1();
+
+ UINT_32 m_state[5];
+ UINT_32 m_count[2];
+ UINT_32 m_reserved0[1]; // Memory alignment padding
+ UINT_8 m_buffer[64];
+ UINT_8 m_digest[20];
+ UINT_32 m_reserved1[3]; // Memory alignment padding
+
+ void Reset();
+
+ // Update the hash value
+ void Update(const UINT_8* pbData, UINT_32 uLen);
+
+#ifdef SHA1_UTILITY_FUNCTIONS
+ // Hash in file contents
+ bool HashFile(const TCHAR* tszFileName);
+#endif
+
+ // Finalize hash, call before using ReportHash(Stl)
+ void Final();
+
+#ifdef SHA1_UTILITY_FUNCTIONS
+ bool ReportHash(TCHAR* tszReport, REPORT_TYPE rtReportType = REPORT_HEX) const;
+#endif
+
+#ifdef SHA1_STL_FUNCTIONS
+ bool ReportHashStl(std::basic_string<TCHAR>& strOut, REPORT_TYPE rtReportType =
+ REPORT_HEX) const;
+#endif
+
+ bool GetHash(UINT_8* pbDest) const;
+
+private:
+ // Private SHA-1 transformation
+ void Transform(UINT_32* pState, const UINT_8* pBuffer);
+
+ // Member variables
+ UINT_8 m_workspace[64];
+ SHA1_WORKSPACE_BLOCK* m_block; // SHA1 pointer to the byte array above
+};
+
+}
+OIIO_NAMESPACE_EXIT
+
+#endif // ___SHA1_HDR___
Modified: trunk/lib/windows_vc12/openimageio/include/OpenImageIO/argparse.h
===================================================================
--- trunk/lib/windows_vc12/openimageio/include/OpenImageIO/argparse.h 2014-08-01 12:07:47 UTC (rev 61396)
+++ trunk/lib/windows_vc12/openimageio/include/OpenImageIO/argparse.h 2014-08-01 15:09:07 UTC (rev 61397)
@@ -46,7 +46,7 @@
#include <vector>
#include "export.h"
-#include "version.h"
+#include "oiioversion.h"
#include "tinyformat.h"
Added: trunk/lib/windows_vc12/openimageio/include/OpenImageIO/array_view.h
===================================================================
--- trunk/lib/windows_vc12/openimageio/include/OpenImageIO/array_view.h (rev 0)
+++ trunk/lib/windows_vc12/openimageio/include/OpenImageIO/array_view.h 2014-08-01 15:09:07 UTC (rev 61397)
@@ -0,0 +1,331 @@
+/*
+ Copyright 2014 Larry Gritz and the other authors and contributors.
+ All Rights Reserved.
+ Based on BSD-licensed software Copyright 2004 NVIDIA Corp.
+
+ 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 the software's owners 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.
+
+ (This is the Modified BSD License)
+*/
+
+
+#pragma once
+
+#include <vector>
+#include <stdexcept>
+
+#include "oiioversion.h"
+#include "strided_ptr.h"
+
+
+OIIO_NAMESPACE_ENTER {
+
+
+/// array_view : a non-owning reference to a contiguous array with known
+/// length. An array_view<T> is mutable (the values in the array may be
+/// modified), whereas an array_view<const T> is not mutable.
+///
+/// Background: Functions whose input requires a set of contiguous values
+/// (an array) are faced with a dilemma. If the caller passes just a
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list