[Bf-blender-cvs] SVN commit: /data/svn/repos/bf-blender [61638] trunk/lib/windows_vc12/ blosc: MSVC 2013 windows x32 (vc120_xp) Blosc 1.7.1
Martijn Berger
martijn.berger at gmail.com
Fri Feb 19 16:16:20 CET 2016
Revision: 61638
https://developer.blender.org/rBL61638
Author: juicyfruit
Date: 2016-02-19 15:16:19 +0000 (Fri, 19 Feb 2016)
Log Message:
-----------
MSVC 2013 windows x32 (vc120_xp) Blosc 1.7.1
Added Paths:
-----------
trunk/lib/windows_vc12/blosc/
trunk/lib/windows_vc12/blosc/include/
trunk/lib/windows_vc12/blosc/include/blosc.h
trunk/lib/windows_vc12/blosc/lib/
trunk/lib/windows_vc12/blosc/lib/libblosc.lib
trunk/lib/windows_vc12/blosc/lib/libblosc_d.lib
Added: trunk/lib/windows_vc12/blosc/include/blosc.h
===================================================================
--- trunk/lib/windows_vc12/blosc/include/blosc.h (rev 0)
+++ trunk/lib/windows_vc12/blosc/include/blosc.h 2016-02-19 15:16:19 UTC (rev 61638)
@@ -0,0 +1,397 @@
+/*********************************************************************
+ Blosc - Blocked Shuffling and Compression Library
+
+ Author: Francesc Alted <francesc at blosc.org>
+
+ See LICENSES/BLOSC.txt for details about copyright and rights to use.
+**********************************************************************/
+#ifndef BLOSC_H
+#define BLOSC_H
+
+#include <limits.h>
+#include <stdlib.h>
+#include "blosc-export.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Version numbers */
+#define BLOSC_VERSION_MAJOR 1 /* for major interface/format changes */
+#define BLOSC_VERSION_MINOR 7 /* for minor interface/format changes */
+#define BLOSC_VERSION_RELEASE 1 /* for tweaks, bug-fixes, or development */
+
+#define BLOSC_VERSION_STRING "1.7.1" /* string version. Sync with above! */
+#define BLOSC_VERSION_REVISION "$Rev$" /* revision version */
+#define BLOSC_VERSION_DATE "$Date:: 2016-02-03 #$" /* date version */
+
+#define BLOSCLZ_VERSION_STRING "1.0.5" /* the internal compressor version */
+
+/* The *_FORMAT symbols should be just 1-byte long */
+#define BLOSC_VERSION_FORMAT 2 /* Blosc format version, starting at 1 */
+
+/* Minimum header length */
+#define BLOSC_MIN_HEADER_LENGTH 16
+
+/* The maximum overhead during compression in bytes. This equals to
+ BLOSC_MIN_HEADER_LENGTH now, but can be higher in future
+ implementations */
+#define BLOSC_MAX_OVERHEAD BLOSC_MIN_HEADER_LENGTH
+
+/* Maximum source buffer size to be compressed */
+#define BLOSC_MAX_BUFFERSIZE (INT_MAX - BLOSC_MAX_OVERHEAD)
+
+/* Maximum typesize before considering source buffer as a stream of bytes */
+#define BLOSC_MAX_TYPESIZE 255 /* Cannot be larger than 255 */
+
+/* The maximum number of threads (for some static arrays) */
+#define BLOSC_MAX_THREADS 256
+
+/* Codes for shuffling (see blosc_compress) */
+#define BLOSC_NOSHUFFLE 0 /* no shuffle */
+#define BLOSC_SHUFFLE 1 /* byte-wise shuffle */
+#define BLOSC_BITSHUFFLE 2 /* bit-wise shuffle */
+
+/* Codes for internal flags (see blosc_cbuffer_metainfo) */
+#define BLOSC_DOSHUFFLE 0x1 /* byte-wise shuffle */
+#define BLOSC_MEMCPYED 0x2 /* plain copy */
+#define BLOSC_DOBITSHUFFLE 0x4 /* bit-wise shuffle */
+
+/* Codes for the different compressors shipped with Blosc */
+#define BLOSC_BLOSCLZ 0
+#define BLOSC_LZ4 1
+#define BLOSC_LZ4HC 2
+#define BLOSC_SNAPPY 3
+#define BLOSC_ZLIB 4
+
+/* Names for the different compressors shipped with Blosc */
+#define BLOSC_BLOSCLZ_COMPNAME "blosclz"
+#define BLOSC_LZ4_COMPNAME "lz4"
+#define BLOSC_LZ4HC_COMPNAME "lz4hc"
+#define BLOSC_SNAPPY_COMPNAME "snappy"
+#define BLOSC_ZLIB_COMPNAME "zlib"
+
+/* Codes for the different compression libraries shipped with Blosc */
+#define BLOSC_BLOSCLZ_LIB 0
+#define BLOSC_LZ4_LIB 1
+#define BLOSC_SNAPPY_LIB 2
+#define BLOSC_ZLIB_LIB 3
+
+/* Names for the different compression libraries shipped with Blosc */
+#define BLOSC_BLOSCLZ_LIBNAME "BloscLZ"
+#define BLOSC_LZ4_LIBNAME "LZ4"
+#define BLOSC_SNAPPY_LIBNAME "Snappy"
+#define BLOSC_ZLIB_LIBNAME "Zlib"
+
+/* The codes for compressor formats shipped with Blosc (code must be < 8) */
+#define BLOSC_BLOSCLZ_FORMAT BLOSC_BLOSCLZ_LIB
+#define BLOSC_LZ4_FORMAT BLOSC_LZ4_LIB
+ /* LZ4HC and LZ4 share the same format */
+#define BLOSC_LZ4HC_FORMAT BLOSC_LZ4_LIB
+#define BLOSC_SNAPPY_FORMAT BLOSC_SNAPPY_LIB
+#define BLOSC_ZLIB_FORMAT BLOSC_ZLIB_LIB
+
+
+/* The version formats for compressors shipped with Blosc */
+/* All versions here starts at 1 */
+#define BLOSC_BLOSCLZ_VERSION_FORMAT 1
+#define BLOSC_LZ4_VERSION_FORMAT 1
+#define BLOSC_LZ4HC_VERSION_FORMAT 1 /* LZ4HC and LZ4 share the same format */
+#define BLOSC_SNAPPY_VERSION_FORMAT 1
+#define BLOSC_ZLIB_VERSION_FORMAT 1
+
+
+/**
+ Initialize the Blosc library environment.
+
+ You must call this previous to any other Blosc call, unless you want
+ Blosc to be used simultaneously in a multi-threaded environment, in
+ which case you should *exclusively* use the
+ blosc_compress_ctx()/blosc_decompress_ctx() pair (see below).
+ */
+BLOSC_EXPORT void blosc_init(void);
+
+
+/**
+ Destroy the Blosc library environment.
+
+ You must call this after to you are done with all the Blosc calls,
+ unless you have not used blosc_init() before (see blosc_init()
+ above).
+ */
+BLOSC_EXPORT void blosc_destroy(void);
+
+
+/**
+ Compress a block of data in the `src` buffer and returns the size of
+ compressed block. The size of `src` buffer is specified by
+ `nbytes`. There is not a minimum for `src` buffer size (`nbytes`).
+
+ `clevel` is the desired compression level and must be a number
+ between 0 (no compression) and 9 (maximum compression).
+
+ `doshuffle` specifies whether the shuffle compression preconditioner
+ should be applied or not. BLOSC_NOSHUFFLE means not applying it,
+ BLOSC_SHUFFLE means applying it at a byte level and BLOSC_BITSHUFFLE
+ at a bit level (slower but may achieve better entropy alignment).
+
+ `typesize` is the number of bytes for the atomic type in binary
+ `src` buffer. This is mainly useful for the shuffle preconditioner.
+ For implementation reasons, only a 1 < typesize < 256 will allow the
+ shuffle filter to work. When typesize is not in this range, shuffle
+ will be silently disabled.
+
+ The `dest` buffer must have at least the size of `destsize`. Blosc
+ guarantees that if you set `destsize` to, at least,
+ (`nbytes`+BLOSC_MAX_OVERHEAD), the compression will always succeed.
+ The `src` buffer and the `dest` buffer can not overlap.
+
+ Compression is memory safe and guaranteed not to write the `dest`
+ buffer more than what is specified in `destsize`.
+
+ If `src` buffer cannot be compressed into `destsize`, the return
+ value is zero and you should discard the contents of the `dest`
+ buffer.
+
+ A negative return value means that an internal error happened. This
+ should never happen. If you see this, please report it back
+ together with the buffer data causing this and compression settings.
+ */
+BLOSC_EXPORT int blosc_compress(int clevel, int doshuffle, size_t typesize,
+ size_t nbytes, const void *src, void *dest,
+ size_t destsize);
+
+
+/**
+ Context interface to blosc compression. This does not require a call
+ to blosc_init() and can be called from multithreaded applications
+ without the global lock being used, so allowing Blosc be executed
+ simultaneously in those scenarios.
+
+ It uses the same parameters than the blosc_compress() function plus:
+
+ `compressor`: the string representing the type of compressor to use.
+
+ `blocksize`: the requested size of the compressed blocks. If 0, an
+ automatic blocksize will be used.
+
+ `numinternalthreads`: the number of threads to use internally.
+
+ A negative return value means that an internal error happened. This
+ should never happen. If you see this, please report it back
+ together with the buffer data causing this and compression settings.
+*/
+BLOSC_EXPORT int blosc_compress_ctx(int clevel, int doshuffle, size_t typesize,
+ size_t nbytes, const void* src, void* dest,
+ size_t destsize, const char* compressor,
+ size_t blocksize, int numinternalthreads);
+
+/**
+ Decompress a block of compressed data in `src`, put the result in
+ `dest` and returns the size of the decompressed block.
+
+ The `src` buffer and the `dest` buffer can not overlap.
+
+ Decompression is memory safe and guaranteed not to write the `dest`
+ buffer more than what is specified in `destsize`.
+
+ If an error occurs, e.g. the compressed data is corrupted or the
+ output buffer is not large enough, then 0 (zero) or a negative value
+ will be returned instead.
+*/
+BLOSC_EXPORT int blosc_decompress(const void *src, void *dest, size_t destsize);
+
+
+/**
+ Context interface to blosc decompression. This does not require a
+ call to blosc_init() and can be called from multithreaded
+ applications without the global lock being used, so allowing Blosc
+ be executed simultaneously in those scenarios.
+
+ It uses the same parameters than the blosc_decompress() function plus:
+
+ `numinternalthreads`: number of threads to use internally.
+
+ Decompression is memory safe and guaranteed not to write the `dest`
+ buffer more than what is specified in `destsize`.
+
+ If an error occurs, e.g. the compressed data is corrupted or the
+ output buffer is not large enough, then 0 (zero) or a negative value
+ will be returned instead.
+*/
+BLOSC_EXPORT int blosc_decompress_ctx(const void *src, void *dest,
+ size_t destsize, int numinternalthreads);
+
+/**
+ Get `nitems` (of typesize size) in `src` buffer starting in `start`.
+ The items are returned in `dest` buffer, which has to have enough
+ space for storing all items.
+
+ Returns the number of bytes copied to `dest` or a negative value if
+ some error happens.
+ */
+BLOSC_EXPORT int blosc_getitem(const void *src, int start, int nitems, void *dest);
+
+
+/**
+ Initialize a pool of threads for compression/decompression. If
+ `nthreads` is 1, then the serial version is chosen and a possible
+ previous existing pool is ended. If this is not called, `nthreads`
+ is set to 1 internally.
+
+ Returns the previous number of threads.
+ */
+BLOSC_EXPORT int blosc_set_nthreads(int nthreads);
+
+
+/**
+ Select the compressor to be used. The supported ones are "blosclz",
+ "lz4", "lz4hc", "snappy" and "zlib". If this function is not
+ called, then "blosclz" will be used.
+
+ In case the compressor is not recognized, or there is not support
+ for it in this build, it returns a -1. Else it returns the code for
+ the compressor (>=0).
+ */
+BLOSC_EXPORT int blosc_set_compressor(const char* compname);
+
+
+/**
+ Get the `compname` associated with the `compcode`.
+
+ If the compressor code is not recognized, or there is not support
+ for it in this build, -1 is returned. Else, the compressor code is
+ returned.
+ */
+BLOSC_EXPORT int blosc_compcode_to_compname(int compcode, char **compname);
+
+
+/**
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list