Parolin 0.7.9 6796
Console (soon DLLs) to do a tar like job
Loading...
Searching...
No Matches
brotli_bit_stream.c File Reference
#include "brotli_bit_stream.h"
#include <string.h>
#include <brotli/types.h>
#include "../common/constants.h"
#include "../common/context.h"
#include "../common/platform.h"
#include "entropy_encode.h"
#include "entropy_encode_static.h"
#include "fast_log.h"
#include "histogram.h"
#include "memory.h"
#include "write_bits.h"
#include "block_encoder_inc.h"

Data Structures

struct  BlockTypeCodeCalculator
 
struct  BlockSplitCode
 
struct  EncodeContextMapArena
 
struct  BlockEncoder
 
struct  StoreMetablockArena
 
struct  MetablockArena
 

Macros

#define MAX_HUFFMAN_TREE_SIZE   (2 * BROTLI_NUM_COMMAND_SYMBOLS + 1)
 
#define MAX_SIMPLE_DISTANCE_ALPHABET_SIZE    BROTLI_DISTANCE_ALPHABET_SIZE(0, 0, BROTLI_LARGE_MAX_DISTANCE_BITS)
 
#define SYMBOL_BITS   9
 
#define FN(X)
 
#define FN(X)
 
#define FN(X)
 

Typedefs

typedef struct BlockTypeCodeCalculator BlockTypeCodeCalculator
 
typedef struct BlockSplitCode BlockSplitCode
 
typedef struct EncodeContextMapArena EncodeContextMapArena
 
typedef struct BlockEncoder BlockEncoder
 
typedef struct StoreMetablockArena StoreMetablockArena
 
typedef struct MetablockArena MetablockArena
 

Functions

void BrotliStoreHuffmanTree (const uint8_t *depths, size_t num, HuffmanTree *tree, size_t *storage_ix, uint8_t *storage)
 
void BrotliBuildAndStoreHuffmanTreeFast (HuffmanTree *tree, const uint32_t *histogram, const size_t histogram_total, const size_t max_bits, uint8_t *depth, uint16_t *bits, size_t *storage_ix, uint8_t *storage)
 
void BrotliStoreMetaBlock (MemoryManager *m, const uint8_t *input, size_t start_pos, size_t length, size_t mask, uint8_t prev_byte, uint8_t prev_byte2, BROTLI_BOOL is_last, const BrotliEncoderParams *params, ContextType literal_context_mode, const Command *commands, size_t n_commands, const MetaBlockSplit *mb, size_t *storage_ix, uint8_t *storage)
 
void BrotliStoreMetaBlockTrivial (MemoryManager *m, const uint8_t *input, size_t start_pos, size_t length, size_t mask, BROTLI_BOOL is_last, const BrotliEncoderParams *params, const Command *commands, size_t n_commands, size_t *storage_ix, uint8_t *storage)
 
void BrotliStoreMetaBlockFast (MemoryManager *m, const uint8_t *input, size_t start_pos, size_t length, size_t mask, BROTLI_BOOL is_last, const BrotliEncoderParams *params, const Command *commands, size_t n_commands, size_t *storage_ix, uint8_t *storage)
 
void BrotliStoreUncompressedMetaBlock (BROTLI_BOOL is_final_block, const uint8_t *BROTLI_RESTRICT input, size_t position, size_t mask, size_t len, size_t *BROTLI_RESTRICT storage_ix, uint8_t *BROTLI_RESTRICT storage)
 

Macro Definition Documentation

◆ FN [1/3]

#define FN ( X)
Value:
#define Literal
Definition LzmaDec.c:150
#define X(name, r, bit)
Definition cpu.h:110

◆ FN [2/3]

#define FN ( X)
Value:
Definition command.h:107

◆ FN [3/3]

#define FN ( X)
Value:
X ## Distance

◆ MAX_HUFFMAN_TREE_SIZE

#define MAX_HUFFMAN_TREE_SIZE   (2 * BROTLI_NUM_COMMAND_SYMBOLS + 1)

◆ MAX_SIMPLE_DISTANCE_ALPHABET_SIZE

#define MAX_SIMPLE_DISTANCE_ALPHABET_SIZE    BROTLI_DISTANCE_ALPHABET_SIZE(0, 0, BROTLI_LARGE_MAX_DISTANCE_BITS)

◆ SYMBOL_BITS

#define SYMBOL_BITS   9

Typedef Documentation

◆ BlockEncoder

typedef struct BlockEncoder BlockEncoder

◆ BlockSplitCode

typedef struct BlockSplitCode BlockSplitCode

◆ BlockTypeCodeCalculator

typedef struct BlockTypeCodeCalculator BlockTypeCodeCalculator

◆ EncodeContextMapArena

typedef struct EncodeContextMapArena EncodeContextMapArena

◆ MetablockArena

typedef struct MetablockArena MetablockArena

◆ StoreMetablockArena

typedef struct StoreMetablockArena StoreMetablockArena

Function Documentation

◆ BrotliBuildAndStoreHuffmanTreeFast()

void BrotliBuildAndStoreHuffmanTreeFast ( HuffmanTree * tree,
const uint32_t * histogram,
const size_t histogram_total,
const size_t max_bits,
uint8_t * depth,
uint16_t * bits,
size_t * storage_ix,
uint8_t * storage )

◆ BrotliStoreHuffmanTree()

void BrotliStoreHuffmanTree ( const uint8_t * depths,
size_t num,
HuffmanTree * tree,
size_t * storage_ix,
uint8_t * storage )

◆ BrotliStoreMetaBlock()

void BrotliStoreMetaBlock ( MemoryManager * m,
const uint8_t * input,
size_t start_pos,
size_t length,
size_t mask,
uint8_t prev_byte,
uint8_t prev_byte2,
BROTLI_BOOL is_last,
const BrotliEncoderParams * params,
ContextType literal_context_mode,
const Command * commands,
size_t n_commands,
const MetaBlockSplit * mb,
size_t * storage_ix,
uint8_t * storage )

◆ BrotliStoreMetaBlockFast()

void BrotliStoreMetaBlockFast ( MemoryManager * m,
const uint8_t * input,
size_t start_pos,
size_t length,
size_t mask,
BROTLI_BOOL is_last,
const BrotliEncoderParams * params,
const Command * commands,
size_t n_commands,
size_t * storage_ix,
uint8_t * storage )

◆ BrotliStoreMetaBlockTrivial()

void BrotliStoreMetaBlockTrivial ( MemoryManager * m,
const uint8_t * input,
size_t start_pos,
size_t length,
size_t mask,
BROTLI_BOOL is_last,
const BrotliEncoderParams * params,
const Command * commands,
size_t n_commands,
size_t * storage_ix,
uint8_t * storage )

◆ BrotliStoreUncompressedMetaBlock()

void BrotliStoreUncompressedMetaBlock ( BROTLI_BOOL is_final_block,
const uint8_t *BROTLI_RESTRICT input,
size_t position,
size_t mask,
size_t len,
size_t *BROTLI_RESTRICT storage_ix,
uint8_t *BROTLI_RESTRICT storage )