Major changes, including Brotli and Lizard

- update of zstd-mt library
- add brotli v0.6.0
- add lizard v2.0
- xxhash is from zstd for lz4, lz5 and lizard now
- update also the documentation, where needed
This commit is contained in:
Tino Reichardt
2017-05-25 18:40:15 +02:00
parent 40e87f615c
commit 5ff0657d9f
173 changed files with 3936 additions and 6591 deletions

36
C/brotli/Brotli-Adjust.sh Normal file
View File

@@ -0,0 +1,36 @@
#!/bin/sh
# C/brotli/*
# /TR 2017-05-25
find . -type d -exec chmod 775 {} \;
find . -type f -exec chmod 644 {} \;
chmod +x $0
mv include/brotli/* .
rm -rf include
for i in */*.c *.h; do
sed -i 's|<brotli/port.h>|"port.h"|g' "$i"
sed -i 's|<brotli/types.h>|"types.h"|g' "$i"
sed -i 's|<brotli/encode.h>|"encode.h"|g' "$i"
sed -i 's|<brotli/decode.h>|"decode.h"|g' "$i"
done
for i in */*.h; do
sed -i 's|<brotli/port.h>|"../port.h"|g' "$i"
sed -i 's|<brotli/types.h>|"../types.h"|g' "$i"
sed -i 's|<brotli/encode.h>|"../encode.h"|g' "$i"
sed -i 's|<brotli/decode.h>|"../decode.h"|g' "$i"
done
cd common
sed -i 's|include "./|include "./common/|g' *.c
for f in *.c; do mv $f ../br_$f; done
cd ../dec
sed -i 's|include "./|include "./dec/|g' *.c
sed -i 's|include "../common|include "./common|g' *.c
for f in *.c; do mv $f ../br_$f; done
cd ../enc
sed -i 's|include "./|include "./enc/|g' *.c
sed -i 's|include "../common|include "./common/|g' *.c
for f in *.c; do mv $f ../br_$f; done

19
C/brotli/LICENSE Normal file
View File

@@ -0,0 +1,19 @@
Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

71
C/brotli/README.md Normal file
View File

@@ -0,0 +1,71 @@
<p align="center"><img src="https://brotli.org/brotli.svg" alt="Brotli" width="64"></p>
### Introduction
Brotli is a generic-purpose lossless compression algorithm that compresses data
using a combination of a modern variant of the LZ77 algorithm, Huffman coding
and 2nd order context modeling, with a compression ratio comparable to the best
currently available general-purpose compression methods. It is similar in speed
with deflate but offers more dense compression.
The specification of the Brotli Compressed Data Format is defined in [RFC 7932](https://www.ietf.org/rfc/rfc7932.txt).
Brotli is open-sourced under the MIT License, see the LICENSE file.
Brotli mailing list:
https://groups.google.com/forum/#!forum/brotli
[![Build Status](https://travis-ci.org/google/brotli.svg?branch=master)](https://travis-ci.org/google/brotli)
### Build instructions
#### Make
To build and run tests, simply do:
$ ./configure && make
If you want to install brotli, use one of the more advanced build systems below.
#### Bazel
See [Bazel](http://www.bazel.build/)
#### CMake
The basic commands to build, test and install brotli are:
$ mkdir out && cd out && ../configure-cmake && make
$ make test
$ make install
You can use other [CMake](https://cmake.org/) configuration. For example, to
build static libraries and use a custom installation directory:
$ mkdir out-static && \
cd out-static && \
../configure-cmake --disable-shared-libs --prefix='/my/prefix/dir/'
$ make install
#### Premake5
See [Premake5](https://premake.github.io/)
#### Python
To install the Python module from source, run the following:
$ python setup.py install
See the [Python readme](python/README.md) for more details on testing
and development.
### Benchmarks
* [Squash Compression Benchmark](https://quixdb.github.io/squash-benchmark/) / [Unstable Squash Compression Benchmark](https://quixdb.github.io/squash-benchmark/unstable/)
* [Large Text Compression Benchmark](http://mattmahoney.net/dc/text.html)
* [Lzturbo Benchmark](https://sites.google.com/site/powturbo/home/benchmark)
### Related projects
Independent [decoder](https://github.com/madler/brotli) implementation by Mark Adler, based entirely on format specification.
JavaScript port of brotli [decoder](https://github.com/devongovett/brotli.js). Could be used directly via `npm install brotli`

View File

@@ -6,16 +6,16 @@
/* Function to find backward reference copies. */
#include "./backward_references.h"
#include "./enc/backward_references.h"
#include "../common/constants.h"
#include "../common/dictionary.h"
#include <brotli/types.h>
#include "./command.h"
#include "./dictionary_hash.h"
#include "./memory.h"
#include "./port.h"
#include "./quality.h"
#include "./common//constants.h"
#include "./common//dictionary.h"
#include "types.h"
#include "./enc/command.h"
#include "./enc/dictionary_hash.h"
#include "./enc/memory.h"
#include "./enc/port.h"
#include "./enc/quality.h"
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
@@ -51,47 +51,47 @@ static BROTLI_INLINE size_t ComputeDistanceCode(size_t distance,
#define HASHER() H2
/* NOLINTNEXTLINE(build/include) */
#include "./backward_references_inc.h"
#include "./enc/backward_references_inc.h"
#undef HASHER
#define HASHER() H3
/* NOLINTNEXTLINE(build/include) */
#include "./backward_references_inc.h"
#include "./enc/backward_references_inc.h"
#undef HASHER
#define HASHER() H4
/* NOLINTNEXTLINE(build/include) */
#include "./backward_references_inc.h"
#include "./enc/backward_references_inc.h"
#undef HASHER
#define HASHER() H5
/* NOLINTNEXTLINE(build/include) */
#include "./backward_references_inc.h"
#include "./enc/backward_references_inc.h"
#undef HASHER
#define HASHER() H6
/* NOLINTNEXTLINE(build/include) */
#include "./backward_references_inc.h"
#include "./enc/backward_references_inc.h"
#undef HASHER
#define HASHER() H40
/* NOLINTNEXTLINE(build/include) */
#include "./backward_references_inc.h"
#include "./enc/backward_references_inc.h"
#undef HASHER
#define HASHER() H41
/* NOLINTNEXTLINE(build/include) */
#include "./backward_references_inc.h"
#include "./enc/backward_references_inc.h"
#undef HASHER
#define HASHER() H42
/* NOLINTNEXTLINE(build/include) */
#include "./backward_references_inc.h"
#include "./enc/backward_references_inc.h"
#undef HASHER
#define HASHER() H54
/* NOLINTNEXTLINE(build/include) */
#include "./backward_references_inc.h"
#include "./enc/backward_references_inc.h"
#undef HASHER
#undef FN

View File

@@ -6,20 +6,20 @@
/* Function to find backward reference copies. */
#include "./backward_references_hq.h"
#include "./enc/backward_references_hq.h"
#include <string.h> /* memcpy, memset */
#include "../common/constants.h"
#include <brotli/types.h>
#include "./command.h"
#include "./fast_log.h"
#include "./find_match_length.h"
#include "./literal_cost.h"
#include "./memory.h"
#include "./port.h"
#include "./prefix.h"
#include "./quality.h"
#include "./common//constants.h"
#include "types.h"
#include "./enc/command.h"
#include "./enc/fast_log.h"
#include "./enc/find_match_length.h"
#include "./enc/literal_cost.h"
#include "./enc/memory.h"
#include "./enc/port.h"
#include "./enc/prefix.h"
#include "./enc/quality.h"
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {

View File

@@ -6,28 +6,28 @@
/* Functions to estimate the bit cost of Huffman trees. */
#include "./bit_cost.h"
#include "./enc/bit_cost.h"
#include "../common/constants.h"
#include <brotli/types.h>
#include "./fast_log.h"
#include "./histogram.h"
#include "./port.h"
#include "./common//constants.h"
#include "types.h"
#include "./enc/fast_log.h"
#include "./enc/histogram.h"
#include "./enc/port.h"
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
#endif
#define FN(X) X ## Literal
#include "./bit_cost_inc.h" /* NOLINT(build/include) */
#include "./enc/bit_cost_inc.h" /* NOLINT(build/include) */
#undef FN
#define FN(X) X ## Command
#include "./bit_cost_inc.h" /* NOLINT(build/include) */
#include "./enc/bit_cost_inc.h" /* NOLINT(build/include) */
#undef FN
#define FN(X) X ## Distance
#include "./bit_cost_inc.h" /* NOLINT(build/include) */
#include "./enc/bit_cost_inc.h" /* NOLINT(build/include) */
#undef FN
#if defined(__cplusplus) || defined(c_plusplus)

View File

@@ -6,10 +6,10 @@
/* Bit reading helpers */
#include "./bit_reader.h"
#include "./dec/bit_reader.h"
#include <brotli/types.h>
#include "./port.h"
#include "types.h"
#include "./dec/port.h"
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {

View File

@@ -6,19 +6,19 @@
/* Block split point selection utilities. */
#include "./block_splitter.h"
#include "./enc/block_splitter.h"
#include <assert.h>
#include <string.h> /* memcpy, memset */
#include "./bit_cost.h"
#include "./cluster.h"
#include "./command.h"
#include "./fast_log.h"
#include "./histogram.h"
#include "./memory.h"
#include "./port.h"
#include "./quality.h"
#include "./enc/bit_cost.h"
#include "./enc/cluster.h"
#include "./enc/command.h"
#include "./enc/fast_log.h"
#include "./enc/histogram.h"
#include "./enc/memory.h"
#include "./enc/port.h"
#include "./enc/quality.h"
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
@@ -92,19 +92,19 @@ static BROTLI_INLINE double BitCost(size_t count) {
#define FN(X) X ## Literal
#define DataType uint8_t
/* NOLINTNEXTLINE(build/include) */
#include "./block_splitter_inc.h"
#include "./enc/block_splitter_inc.h"
#undef DataType
#undef FN
#define FN(X) X ## Command
#define DataType uint16_t
/* NOLINTNEXTLINE(build/include) */
#include "./block_splitter_inc.h"
#include "./enc/block_splitter_inc.h"
#undef FN
#define FN(X) X ## Distance
/* NOLINTNEXTLINE(build/include) */
#include "./block_splitter_inc.h"
#include "./enc/block_splitter_inc.h"
#undef DataType
#undef FN

View File

@@ -8,19 +8,19 @@
compression algorithms here, just the right ordering of bits to match the
specs. */
#include "./brotli_bit_stream.h"
#include "./enc/brotli_bit_stream.h"
#include <string.h> /* memcpy, memset */
#include "../common/constants.h"
#include <brotli/types.h>
#include "./context.h"
#include "./entropy_encode.h"
#include "./entropy_encode_static.h"
#include "./fast_log.h"
#include "./memory.h"
#include "./port.h"
#include "./write_bits.h"
#include "./common//constants.h"
#include "types.h"
#include "./enc/context.h"
#include "./enc/entropy_encode.h"
#include "./enc/entropy_encode_static.h"
#include "./enc/fast_log.h"
#include "./enc/memory.h"
#include "./enc/port.h"
#include "./enc/write_bits.h"
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
@@ -926,17 +926,17 @@ static void StoreSymbolWithContext(BlockEncoder* self, size_t symbol,
#define FN(X) X ## Literal
/* NOLINTNEXTLINE(build/include) */
#include "./block_encoder_inc.h"
#include "./enc/block_encoder_inc.h"
#undef FN
#define FN(X) X ## Command
/* NOLINTNEXTLINE(build/include) */
#include "./block_encoder_inc.h"
#include "./enc/block_encoder_inc.h"
#undef FN
#define FN(X) X ## Distance
/* NOLINTNEXTLINE(build/include) */
#include "./block_encoder_inc.h"
#include "./enc/block_encoder_inc.h"
#undef FN
static void JumpToByteBoundary(size_t* storage_ix, uint8_t* storage) {

View File

@@ -6,14 +6,14 @@
/* Functions for clustering similar histograms together. */
#include "./cluster.h"
#include "./enc/cluster.h"
#include <brotli/types.h>
#include "./bit_cost.h" /* BrotliPopulationCost */
#include "./fast_log.h"
#include "./histogram.h"
#include "./memory.h"
#include "./port.h"
#include "types.h"
#include "./enc/bit_cost.h" /* BrotliPopulationCost */
#include "./enc/fast_log.h"
#include "./enc/histogram.h"
#include "./enc/memory.h"
#include "./enc/port.h"
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
@@ -38,15 +38,15 @@ static BROTLI_INLINE double ClusterCostDiff(size_t size_a, size_t size_b) {
#define CODE(X) X
#define FN(X) X ## Literal
#include "./cluster_inc.h" /* NOLINT(build/include) */
#include "./enc/cluster_inc.h" /* NOLINT(build/include) */
#undef FN
#define FN(X) X ## Command
#include "./cluster_inc.h" /* NOLINT(build/include) */
#include "./enc/cluster_inc.h" /* NOLINT(build/include) */
#undef FN
#define FN(X) X ## Distance
#include "./cluster_inc.h" /* NOLINT(build/include) */
#include "./enc/cluster_inc.h" /* NOLINT(build/include) */
#undef FN
#undef CODE

View File

@@ -12,19 +12,19 @@
Adapted from the CompressFragment() function in
https://github.com/google/snappy/blob/master/snappy.cc */
#include "./compress_fragment.h"
#include "./enc/compress_fragment.h"
#include <string.h> /* memcmp, memcpy, memset */
#include "../common/constants.h"
#include <brotli/types.h>
#include "./brotli_bit_stream.h"
#include "./entropy_encode.h"
#include "./fast_log.h"
#include "./find_match_length.h"
#include "./memory.h"
#include "./port.h"
#include "./write_bits.h"
#include "./common//constants.h"
#include "types.h"
#include "./enc/brotli_bit_stream.h"
#include "./enc/entropy_encode.h"
#include "./enc/fast_log.h"
#include "./enc/find_match_length.h"
#include "./enc/memory.h"
#include "./enc/port.h"
#include "./enc/write_bits.h"
#if defined(__cplusplus) || defined(c_plusplus)

View File

@@ -10,20 +10,20 @@
second pass we emit them into the bit stream using prefix codes built based
on the actual command and literal byte histograms. */
#include "./compress_fragment_two_pass.h"
#include "./enc/compress_fragment_two_pass.h"
#include <string.h> /* memcmp, memcpy, memset */
#include "../common/constants.h"
#include <brotli/types.h>
#include "./bit_cost.h"
#include "./brotli_bit_stream.h"
#include "./entropy_encode.h"
#include "./fast_log.h"
#include "./find_match_length.h"
#include "./memory.h"
#include "./port.h"
#include "./write_bits.h"
#include "./common//constants.h"
#include "types.h"
#include "./enc/bit_cost.h"
#include "./enc/brotli_bit_stream.h"
#include "./enc/entropy_encode.h"
#include "./enc/fast_log.h"
#include "./enc/find_match_length.h"
#include "./enc/memory.h"
#include "./enc/port.h"
#include "./enc/write_bits.h"
#if defined(__cplusplus) || defined(c_plusplus)

View File

@@ -4,7 +4,7 @@
See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
*/
#include <brotli/decode.h>
#include "decode.h"
#ifdef __ARM_NEON__
#include <arm_neon.h>
@@ -13,16 +13,16 @@
#include <stdlib.h> /* free, malloc */
#include <string.h> /* memcpy, memset */
#include "../common/constants.h"
#include "../common/dictionary.h"
#include "../common/version.h"
#include "./bit_reader.h"
#include "./context.h"
#include "./huffman.h"
#include "./port.h"
#include "./prefix.h"
#include "./state.h"
#include "./transform.h"
#include "./common/constants.h"
#include "./common/dictionary.h"
#include "./common/version.h"
#include "./dec/bit_reader.h"
#include "./dec/context.h"
#include "./dec/huffman.h"
#include "./dec/port.h"
#include "./dec/prefix.h"
#include "./dec/state.h"
#include "./dec/transform.h"
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {

View File

@@ -4,7 +4,7 @@
See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
*/
#include "./dictionary.h"
#include "./common/dictionary.h"
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {

View File

@@ -6,8 +6,8 @@
/* Hash table on the 4-byte prefixes of static dictionary words. */
#include <brotli/port.h>
#include "./dictionary_hash.h"
#include "port.h"
#include "./enc/dictionary_hash.h"
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {

View File

@@ -6,31 +6,31 @@
/* Implementation of Brotli compressor. */
#include <brotli/encode.h>
#include "encode.h"
#include <stdlib.h> /* free, malloc */
#include <string.h> /* memcpy, memset */
#include "../common/version.h"
#include "./backward_references.h"
#include "./backward_references_hq.h"
#include "./bit_cost.h"
#include "./brotli_bit_stream.h"
#include "./compress_fragment.h"
#include "./compress_fragment_two_pass.h"
#include "./context.h"
#include "./entropy_encode.h"
#include "./fast_log.h"
#include "./hash.h"
#include "./histogram.h"
#include "./memory.h"
#include "./metablock.h"
#include "./port.h"
#include "./prefix.h"
#include "./quality.h"
#include "./ringbuffer.h"
#include "./utf8_util.h"
#include "./write_bits.h"
#include "./common//version.h"
#include "./enc/backward_references.h"
#include "./enc/backward_references_hq.h"
#include "./enc/bit_cost.h"
#include "./enc/brotli_bit_stream.h"
#include "./enc/compress_fragment.h"
#include "./enc/compress_fragment_two_pass.h"
#include "./enc/context.h"
#include "./enc/entropy_encode.h"
#include "./enc/fast_log.h"
#include "./enc/hash.h"
#include "./enc/histogram.h"
#include "./enc/memory.h"
#include "./enc/metablock.h"
#include "./enc/port.h"
#include "./enc/prefix.h"
#include "./enc/quality.h"
#include "./enc/ringbuffer.h"
#include "./enc/utf8_util.h"
#include "./enc/write_bits.h"
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
@@ -1792,23 +1792,6 @@ uint32_t BrotliEncoderVersion(void) {
return BROTLI_VERSION;
}
/* DEPRECATED >>> */
size_t BrotliEncoderInputBlockSize(BrotliEncoderState* s) {
return InputBlockSize(s);
}
void BrotliEncoderCopyInputToRingBuffer(BrotliEncoderState* s,
const size_t input_size,
const uint8_t* input_buffer) {
CopyInputToRingBuffer(s, input_size, input_buffer);
}
BROTLI_BOOL BrotliEncoderWriteData(
BrotliEncoderState* s, const BROTLI_BOOL is_last,
const BROTLI_BOOL force_flush, size_t* out_size, uint8_t** output) {
return EncodeData(s, is_last, force_flush, out_size, output);
}
/* <<< DEPRECATED */
#if defined(__cplusplus) || defined(c_plusplus)
} /* extern "C" */
#endif

View File

@@ -6,13 +6,13 @@
/* Entropy encoding (Huffman) utilities. */
#include "./entropy_encode.h"
#include "./enc/entropy_encode.h"
#include <string.h> /* memset */
#include "../common/constants.h"
#include <brotli/types.h>
#include "./port.h"
#include "./common//constants.h"
#include "types.h"
#include "./enc/port.h"
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {

View File

@@ -6,11 +6,11 @@
/* Build per-context histograms of literals, commands and distance codes. */
#include "./histogram.h"
#include "./enc/histogram.h"
#include "./block_splitter.h"
#include "./command.h"
#include "./context.h"
#include "./enc/block_splitter.h"
#include "./enc/command.h"
#include "./enc/context.h"
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {

View File

@@ -6,13 +6,13 @@
/* Utilities for building Huffman decoding tables. */
#include "./huffman.h"
#include "./dec/huffman.h"
#include <string.h> /* memcpy, memset */
#include "../common/constants.h"
#include <brotli/types.h>
#include "./port.h"
#include "./common/constants.h"
#include "types.h"
#include "./dec/port.h"
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {

View File

@@ -7,12 +7,12 @@
/* Literal cost model to allow backward reference replacement to be efficient.
*/
#include "./literal_cost.h"
#include "./enc/literal_cost.h"
#include <brotli/types.h>
#include "./fast_log.h"
#include "./port.h"
#include "./utf8_util.h"
#include "types.h"
#include "./enc/fast_log.h"
#include "./enc/port.h"
#include "./enc/utf8_util.h"
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {

View File

@@ -7,14 +7,14 @@
/* Algorithms for distributing the literals and commands of a metablock between
block types and contexts. */
#include "./memory.h"
#include "./enc/memory.h"
#include <assert.h>
#include <stdlib.h> /* exit, free, malloc */
#include <string.h> /* memcpy */
#include <brotli/types.h>
#include "./port.h"
#include "types.h"
#include "./enc/port.h"
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {

View File

@@ -7,19 +7,19 @@
/* Algorithms for distributing the literals and commands of a metablock between
block types and contexts. */
#include "./metablock.h"
#include "./enc/metablock.h"
#include "../common/constants.h"
#include <brotli/types.h>
#include "./bit_cost.h"
#include "./block_splitter.h"
#include "./cluster.h"
#include "./context.h"
#include "./entropy_encode.h"
#include "./histogram.h"
#include "./memory.h"
#include "./port.h"
#include "./quality.h"
#include "./common//constants.h"
#include "types.h"
#include "./enc/bit_cost.h"
#include "./enc/block_splitter.h"
#include "./enc/cluster.h"
#include "./enc/context.h"
#include "./enc/entropy_encode.h"
#include "./enc/histogram.h"
#include "./enc/memory.h"
#include "./enc/port.h"
#include "./enc/quality.h"
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
@@ -145,15 +145,15 @@ void BrotliBuildMetaBlock(MemoryManager* m,
}
#define FN(X) X ## Literal
#include "./metablock_inc.h" /* NOLINT(build/include) */
#include "./enc/metablock_inc.h" /* NOLINT(build/include) */
#undef FN
#define FN(X) X ## Command
#include "./metablock_inc.h" /* NOLINT(build/include) */
#include "./enc/metablock_inc.h" /* NOLINT(build/include) */
#undef FN
#define FN(X) X ## Distance
#include "./metablock_inc.h" /* NOLINT(build/include) */
#include "./enc/metablock_inc.h" /* NOLINT(build/include) */
#undef FN
#define BROTLI_MAX_STATIC_CONTEXTS 13

View File

@@ -4,12 +4,12 @@
See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
*/
#include "./state.h"
#include "./dec/state.h"
#include <stdlib.h> /* free, malloc */
#include <brotli/types.h>
#include "./huffman.h"
#include "types.h"
#include "./dec/huffman.h"
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {

View File

@@ -4,12 +4,12 @@
See file LICENSE for detail or copy at https://opensource.org/licenses/MIT
*/
#include "./static_dict.h"
#include "./enc/static_dict.h"
#include "../common/dictionary.h"
#include "./find_match_length.h"
#include "./port.h"
#include "./static_dict_lut.h"
#include "./common//dictionary.h"
#include "./enc/find_match_length.h"
#include "./enc/port.h"
#include "./enc/static_dict_lut.h"
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {

View File

@@ -6,9 +6,9 @@
/* Heuristics for deciding about the UTF8-ness of strings. */
#include "./utf8_util.h"
#include "./enc/utf8_util.h"
#include <brotli/types.h>
#include "types.h"
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {

View File

@@ -1,5 +0,0 @@
#include <brotli/encode.h>
#include <brotli/decode.h>
#include <brotli/port.h>
#include <brotli/types.h>

View File

@@ -9,8 +9,8 @@
#ifndef BROTLI_COMMON_DICTIONARY_H_
#define BROTLI_COMMON_DICTIONARY_H_
#include <brotli/port.h>
#include <brotli/types.h>
#include "../port.h"
#include "../types.h"
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {

View File

@@ -14,6 +14,6 @@
BrotliEncoderVersion methods. */
/* Semantic version, calculated as (MAJOR << 24) | (MINOR << 12) | PATCH */
#define BROTLI_VERSION 0x0006000
#define BROTLI_VERSION 0x1000000
#endif /* BROTLI_COMMON_VERSION_H_ */

View File

@@ -11,7 +11,7 @@
#include <string.h> /* memcpy */
#include <brotli/types.h>
#include "../types.h"
#include "./port.h"
#if defined(__cplusplus) || defined(c_plusplus)

View File

@@ -99,7 +99,7 @@
#ifndef BROTLI_DEC_CONTEXT_H_
#define BROTLI_DEC_CONTEXT_H_
#include <brotli/types.h>
#include "../types.h"
enum ContextType {
CONTEXT_LSB6 = 0,

View File

@@ -9,7 +9,7 @@
#ifndef BROTLI_DEC_HUFFMAN_H_
#define BROTLI_DEC_HUFFMAN_H_
#include <brotli/types.h>
#include "../types.h"
#include "./port.h"
#if defined(__cplusplus) || defined(c_plusplus)

View File

@@ -30,7 +30,7 @@
#include <stdio.h>
#endif
#include <brotli/port.h>
#include "../port.h"
#if defined(__arm__) || defined(__thumb__) || \
defined(_M_ARM) || defined(_M_ARMT) || defined(__ARM64_ARCH_8__)

View File

@@ -12,7 +12,7 @@
#define BROTLI_DEC_PREFIX_H_
#include "../common/constants.h"
#include <brotli/types.h>
#include "../types.h"
/* Represents the range of values belonging to a prefix code: */
/* [offset, offset + 2^nbits) */

View File

@@ -11,7 +11,7 @@
#include "../common/constants.h"
#include "../common/dictionary.h"
#include <brotli/types.h>
#include "../types.h"
#include "./bit_reader.h"
#include "./huffman.h"
#include "./port.h"

View File

@@ -9,7 +9,7 @@
#ifndef BROTLI_DEC_TRANSFORM_H_
#define BROTLI_DEC_TRANSFORM_H_
#include <brotli/types.h>
#include "../types.h"
#include "./port.h"
#if defined(__cplusplus) || defined(c_plusplus)

View File

@@ -12,8 +12,8 @@
#ifndef BROTLI_DEC_DECODE_H_
#define BROTLI_DEC_DECODE_H_
#include <brotli/port.h>
#include <brotli/types.h>
#include "port.h"
#include "types.h"
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {

View File

@@ -11,7 +11,7 @@
#include "../common/constants.h"
#include "../common/dictionary.h"
#include <brotli/types.h>
#include "../types.h"
#include "./command.h"
#include "./hash.h"
#include "./port.h"

View File

@@ -11,7 +11,7 @@
#include "../common/constants.h"
#include "../common/dictionary.h"
#include <brotli/types.h>
#include "../types.h"
#include "./command.h"
#include "./hash.h"
#include "./memory.h"

View File

@@ -9,7 +9,7 @@
#ifndef BROTLI_ENC_BIT_COST_H_
#define BROTLI_ENC_BIT_COST_H_
#include <brotli/types.h>
#include "../types.h"
#include "./fast_log.h"
#include "./histogram.h"
#include "./port.h"

View File

@@ -9,7 +9,7 @@
#ifndef BROTLI_ENC_BLOCK_SPLITTER_H_
#define BROTLI_ENC_BLOCK_SPLITTER_H_
#include <brotli/types.h>
#include "../types.h"
#include "./command.h"
#include "./memory.h"
#include "./port.h"

View File

@@ -16,7 +16,7 @@
#ifndef BROTLI_ENC_BROTLI_BIT_STREAM_H_
#define BROTLI_ENC_BROTLI_BIT_STREAM_H_
#include <brotli/types.h>
#include "../types.h"
#include "./command.h"
#include "./context.h"
#include "./entropy_encode.h"

View File

@@ -9,7 +9,7 @@
#ifndef BROTLI_ENC_CLUSTER_H_
#define BROTLI_ENC_CLUSTER_H_
#include <brotli/types.h>
#include "../types.h"
#include "./histogram.h"
#include "./memory.h"
#include "./port.h"

View File

@@ -10,8 +10,8 @@
#define BROTLI_ENC_COMMAND_H_
#include "../common/constants.h"
#include <brotli/port.h>
#include <brotli/types.h>
#include "../port.h"
#include "../types.h"
#include "./fast_log.h"
#include "./prefix.h"

View File

@@ -12,7 +12,7 @@
#ifndef BROTLI_ENC_COMPRESS_FRAGMENT_H_
#define BROTLI_ENC_COMPRESS_FRAGMENT_H_
#include <brotli/types.h>
#include "../types.h"
#include "./memory.h"
#include "./port.h"

View File

@@ -13,7 +13,7 @@
#ifndef BROTLI_ENC_COMPRESS_FRAGMENT_TWO_PASS_H_
#define BROTLI_ENC_COMPRESS_FRAGMENT_TWO_PASS_H_
#include <brotli/types.h>
#include "../types.h"
#include "./memory.h"
#include "./port.h"

View File

@@ -9,8 +9,8 @@
#ifndef BROTLI_ENC_CONTEXT_H_
#define BROTLI_ENC_CONTEXT_H_
#include <brotli/port.h>
#include <brotli/types.h>
#include "../port.h"
#include "../types.h"
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {

View File

@@ -9,7 +9,7 @@
#ifndef BROTLI_ENC_DICTIONARY_HASH_H_
#define BROTLI_ENC_DICTIONARY_HASH_H_
#include <brotli/types.h>
#include "../types.h"
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {

View File

@@ -9,7 +9,7 @@
#ifndef BROTLI_ENC_ENTROPY_ENCODE_H_
#define BROTLI_ENC_ENTROPY_ENCODE_H_
#include <brotli/types.h>
#include "../types.h"
#include "./port.h"
#if defined(__cplusplus) || defined(c_plusplus)

View File

@@ -10,8 +10,8 @@
#define BROTLI_ENC_ENTROPY_ENCODE_STATIC_H_
#include "../common/constants.h"
#include <brotli/port.h>
#include <brotli/types.h>
#include "../port.h"
#include "../types.h"
#include "./write_bits.h"
#if defined(__cplusplus) || defined(c_plusplus)

View File

@@ -11,8 +11,8 @@
#include <math.h>
#include <brotli/types.h>
#include <brotli/port.h>
#include "../types.h"
#include "../port.h"
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {

View File

@@ -9,7 +9,7 @@
#ifndef BROTLI_ENC_FIND_MATCH_LENGTH_H_
#define BROTLI_ENC_FIND_MATCH_LENGTH_H_
#include <brotli/types.h>
#include "../types.h"
#include "./port.h"
#if defined(__cplusplus) || defined(c_plusplus)

View File

@@ -14,7 +14,7 @@
#include "../common/constants.h"
#include "../common/dictionary.h"
#include <brotli/types.h>
#include "../types.h"
#include "./fast_log.h"
#include "./find_match_length.h"
#include "./memory.h"

View File

@@ -12,7 +12,7 @@
#include <string.h> /* memset */
#include "../common/constants.h"
#include <brotli/types.h>
#include "../types.h"
#include "./block_splitter.h"
#include "./command.h"
#include "./context.h"

View File

@@ -10,7 +10,7 @@
#ifndef BROTLI_ENC_LITERAL_COST_H_
#define BROTLI_ENC_LITERAL_COST_H_
#include <brotli/types.h>
#include "../types.h"
#include "./port.h"
#if defined(__cplusplus) || defined(c_plusplus)

View File

@@ -9,7 +9,7 @@
#ifndef BROTLI_ENC_MEMORY_H_
#define BROTLI_ENC_MEMORY_H_
#include <brotli/types.h>
#include "../types.h"
#include "./port.h"
#if defined(__cplusplus) || defined(c_plusplus)

View File

@@ -10,7 +10,7 @@
#ifndef BROTLI_ENC_METABLOCK_H_
#define BROTLI_ENC_METABLOCK_H_
#include <brotli/types.h>
#include "../types.h"
#include "./block_splitter.h"
#include "./command.h"
#include "./context.h"

View File

@@ -12,8 +12,8 @@
#include <assert.h>
#include <string.h> /* memcpy */
#include <brotli/port.h>
#include <brotli/types.h>
#include "../port.h"
#include "../types.h"
#if defined OS_LINUX || defined OS_CYGWIN
#include <endian.h>

View File

@@ -11,8 +11,8 @@
#define BROTLI_ENC_PREFIX_H_
#include "../common/constants.h"
#include <brotli/port.h>
#include <brotli/types.h>
#include "../port.h"
#include "../types.h"
#include "./fast_log.h"
#if defined(__cplusplus) || defined(c_plusplus)

View File

@@ -10,7 +10,7 @@
#ifndef BROTLI_ENC_QUALITY_H_
#define BROTLI_ENC_QUALITY_H_
#include <brotli/encode.h>
#include "../encode.h"
#define FAST_ONE_PASS_COMPRESSION_QUALITY 0
#define FAST_TWO_PASS_COMPRESSION_QUALITY 1

View File

@@ -11,7 +11,7 @@
#include <string.h> /* memcpy */
#include <brotli/types.h>
#include "../types.h"
#include "./memory.h"
#include "./port.h"
#include "./quality.h"

View File

@@ -10,7 +10,7 @@
#define BROTLI_ENC_STATIC_DICT_H_
#include "../common/dictionary.h"
#include <brotli/types.h>
#include "../types.h"
#include "./port.h"
#if defined(__cplusplus) || defined(c_plusplus)

View File

@@ -9,7 +9,7 @@
#ifndef BROTLI_ENC_STATIC_DICT_LUT_H_
#define BROTLI_ENC_STATIC_DICT_LUT_H_
#include <brotli/types.h>
#include "../types.h"
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {

View File

@@ -9,7 +9,7 @@
#ifndef BROTLI_ENC_UTF8_UTIL_H_
#define BROTLI_ENC_UTF8_UTIL_H_
#include <brotli/types.h>
#include "../types.h"
#include "./port.h"
#if defined(__cplusplus) || defined(c_plusplus)

View File

@@ -12,7 +12,7 @@
#include <assert.h>
#include <stdio.h> /* printf */
#include <brotli/types.h>
#include "../types.h"
#include "./port.h"
#if defined(__cplusplus) || defined(c_plusplus)

View File

@@ -12,8 +12,8 @@
#ifndef BROTLI_ENC_ENCODE_H_
#define BROTLI_ENC_ENCODE_H_
#include <brotli/port.h>
#include <brotli/types.h>
#include "port.h"
#include "types.h"
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
@@ -36,11 +36,6 @@ extern "C" {
/** Maximal value for ::BROTLI_PARAM_QUALITY parameter. */
#define BROTLI_MAX_QUALITY 11
BROTLI_DEPRECATED static const int kBrotliMinWindowBits =
BROTLI_MIN_WINDOW_BITS;
BROTLI_DEPRECATED static const int kBrotliMaxWindowBits =
BROTLI_MAX_WINDOW_BITS;
/** Options for ::BROTLI_PARAM_MODE parameter. */
typedef enum BrotliEncoderMode {
/**
@@ -228,20 +223,6 @@ BROTLI_ENC_API BrotliEncoderState* BrotliEncoderCreateInstance(
*/
BROTLI_ENC_API void BrotliEncoderDestroyInstance(BrotliEncoderState* state);
/* Calculates maximum input size that can be processed at once. */
BROTLI_DEPRECATED BROTLI_ENC_API size_t BrotliEncoderInputBlockSize(
BrotliEncoderState* state);
/* Copies the given input data to the internal ring buffer. */
BROTLI_DEPRECATED BROTLI_ENC_API void BrotliEncoderCopyInputToRingBuffer(
BrotliEncoderState* state, const size_t input_size,
const uint8_t* input_buffer);
/* Processes the accumulated input. */
BROTLI_DEPRECATED BROTLI_ENC_API BROTLI_BOOL BrotliEncoderWriteData(
BrotliEncoderState* state, const BROTLI_BOOL is_last,
const BROTLI_BOOL force_flush, size_t* out_size, uint8_t** output);
/**
* Prepends imaginary LZ77 dictionary.
*

View File

@@ -117,6 +117,10 @@ OR:
#define BROTLI_INLINE
#endif
#else /* _MSC_VER */
# pragma warning(disable : 4100)
# pragma warning(disable : 4127)
# pragma warning(disable : 4389)
# pragma warning(disable : 4701)
#define BROTLI_INLINE __forceinline
#endif /* _MSC_VER */