[Bf-blender-cvs] SVN commit: /data/svn/repos/bf-blender [61639] trunk/lib/win64_vc12/blosc: MSVC 2013 windows x64 (vc120) Blosc 1.7.1

Martijn Berger martijn.berger at gmail.com
Fri Feb 19 16:22:01 CET 2016


Revision: 61639
          https://developer.blender.org/rBL61639
Author:   juicyfruit
Date:     2016-02-19 15:22:01 +0000 (Fri, 19 Feb 2016)
Log Message:
-----------
MSVC 2013 windows x64 (vc120) Blosc 1.7.1

Added Paths:
-----------
    trunk/lib/win64_vc12/blosc/
    trunk/lib/win64_vc12/blosc/include/
    trunk/lib/win64_vc12/blosc/include/blosc.h
    trunk/lib/win64_vc12/blosc/lib/
    trunk/lib/win64_vc12/blosc/lib/libblosc.lib
    trunk/lib/win64_vc12/blosc/lib/libblosc_d.lib

Added: trunk/lib/win64_vc12/blosc/include/blosc.h
===================================================================
--- trunk/lib/win64_vc12/blosc/include/blosc.h	                        (rev 0)
+++ trunk/lib/win64_vc12/blosc/include/blosc.h	2016-02-19 15:22:01 UTC (rev 61639)
@@ -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