Parolin 0.7.9 6796
Console (soon DLLs) to do a tar like job
Loading...
Searching...
No Matches
state.h File Reference
#include "../common/constants.h"
#include "../common/dictionary.h"
#include "../common/platform.h"
#include "../common/transform.h"
#include <brotli/types.h>
#include "./bit_reader.h"
#include "./huffman.h"

Go to the source code of this file.

Data Structures

struct  BrotliMetablockHeaderArena
 
struct  BrotliMetablockBodyArena
 
struct  BrotliDecoderStateStruct
 

Macros

#define BrotliDecoderState   BrotliDecoderStateInternal
 
#define BROTLI_DECODER_ALLOC(S, L)
 
#define BROTLI_DECODER_FREE(S, X)
 

Typedefs

typedef struct BrotliMetablockHeaderArena BrotliMetablockHeaderArena
 
typedef struct BrotliMetablockBodyArena BrotliMetablockBodyArena
 
typedef struct BrotliDecoderStateStruct BrotliDecoderStateInternal
 

Enumerations

enum  BrotliRunningState {
  BROTLI_STATE_UNINITED , BROTLI_STATE_LARGE_WINDOW_BITS , BROTLI_STATE_INITIALIZE , BROTLI_STATE_METABLOCK_BEGIN ,
  BROTLI_STATE_METABLOCK_HEADER , BROTLI_STATE_METABLOCK_HEADER_2 , BROTLI_STATE_CONTEXT_MODES , BROTLI_STATE_COMMAND_BEGIN ,
  BROTLI_STATE_COMMAND_INNER , BROTLI_STATE_COMMAND_POST_DECODE_LITERALS , BROTLI_STATE_COMMAND_POST_WRAP_COPY , BROTLI_STATE_UNCOMPRESSED ,
  BROTLI_STATE_METADATA , BROTLI_STATE_COMMAND_INNER_WRITE , BROTLI_STATE_METABLOCK_DONE , BROTLI_STATE_COMMAND_POST_WRITE_1 ,
  BROTLI_STATE_COMMAND_POST_WRITE_2 , BROTLI_STATE_BEFORE_COMPRESSED_METABLOCK_HEADER , BROTLI_STATE_HUFFMAN_CODE_0 , BROTLI_STATE_HUFFMAN_CODE_1 ,
  BROTLI_STATE_HUFFMAN_CODE_2 , BROTLI_STATE_HUFFMAN_CODE_3 , BROTLI_STATE_CONTEXT_MAP_1 , BROTLI_STATE_CONTEXT_MAP_2 ,
  BROTLI_STATE_TREE_GROUP , BROTLI_STATE_BEFORE_COMPRESSED_METABLOCK_BODY , BROTLI_STATE_DONE
}
 
enum  BrotliRunningMetablockHeaderState {
  BROTLI_STATE_METABLOCK_HEADER_NONE , BROTLI_STATE_METABLOCK_HEADER_EMPTY , BROTLI_STATE_METABLOCK_HEADER_NIBBLES , BROTLI_STATE_METABLOCK_HEADER_SIZE ,
  BROTLI_STATE_METABLOCK_HEADER_UNCOMPRESSED , BROTLI_STATE_METABLOCK_HEADER_RESERVED , BROTLI_STATE_METABLOCK_HEADER_BYTES , BROTLI_STATE_METABLOCK_HEADER_METADATA
}
 
enum  BrotliRunningUncompressedState { BROTLI_STATE_UNCOMPRESSED_NONE , BROTLI_STATE_UNCOMPRESSED_WRITE }
 
enum  BrotliRunningTreeGroupState { BROTLI_STATE_TREE_GROUP_NONE , BROTLI_STATE_TREE_GROUP_LOOP }
 
enum  BrotliRunningContextMapState {
  BROTLI_STATE_CONTEXT_MAP_NONE , BROTLI_STATE_CONTEXT_MAP_READ_PREFIX , BROTLI_STATE_CONTEXT_MAP_HUFFMAN , BROTLI_STATE_CONTEXT_MAP_DECODE ,
  BROTLI_STATE_CONTEXT_MAP_TRANSFORM
}
 
enum  BrotliRunningHuffmanState {
  BROTLI_STATE_HUFFMAN_NONE , BROTLI_STATE_HUFFMAN_SIMPLE_SIZE , BROTLI_STATE_HUFFMAN_SIMPLE_READ , BROTLI_STATE_HUFFMAN_SIMPLE_BUILD ,
  BROTLI_STATE_HUFFMAN_COMPLEX , BROTLI_STATE_HUFFMAN_LENGTH_SYMBOLS
}
 
enum  BrotliRunningDecodeUint8State { BROTLI_STATE_DECODE_UINT8_NONE , BROTLI_STATE_DECODE_UINT8_SHORT , BROTLI_STATE_DECODE_UINT8_LONG }
 
enum  BrotliRunningReadBlockLengthState { BROTLI_STATE_READ_BLOCK_LENGTH_NONE , BROTLI_STATE_READ_BLOCK_LENGTH_SUFFIX }
 

Functions

BROTLI_INTERNAL BROTLI_BOOL BrotliDecoderStateInit (BrotliDecoderState *s, brotli_alloc_func alloc_func, brotli_free_func free_func, void *opaque)
 
BROTLI_INTERNAL void BrotliDecoderStateCleanup (BrotliDecoderState *s)
 
BROTLI_INTERNAL void BrotliDecoderStateMetablockBegin (BrotliDecoderState *s)
 
BROTLI_INTERNAL void BrotliDecoderStateCleanupAfterMetablock (BrotliDecoderState *s)
 
BROTLI_INTERNAL BROTLI_BOOL BrotliDecoderHuffmanTreeGroupInit (BrotliDecoderState *s, HuffmanTreeGroup *group, uint32_t alphabet_size_max, uint32_t alphabet_size_limit, uint32_t ntrees)
 

Macro Definition Documentation

◆ BROTLI_DECODER_ALLOC

#define BROTLI_DECODER_ALLOC ( S,
L )
Value:
S->alloc_func(S->memory_manager_opaque, L)
#define S(x, n)

◆ BROTLI_DECODER_FREE

#define BROTLI_DECODER_FREE ( S,
X )
Value:
{ \
S->free_func(S->memory_manager_opaque, X); \
X = NULL; \
}
#define NULL
Definition getopt1.c:37
#define X(name, r, bit)
Definition cpu.h:110

◆ BrotliDecoderState

Opaque structure that holds decoder state.

Allocated and initialized with BrotliDecoderCreateInstance. Cleaned up and deallocated with BrotliDecoderDestroyInstance.

Typedef Documentation

◆ BrotliDecoderStateInternal

◆ BrotliMetablockBodyArena

typedef struct BrotliMetablockBodyArena BrotliMetablockBodyArena

◆ BrotliMetablockHeaderArena

typedef struct BrotliMetablockHeaderArena BrotliMetablockHeaderArena

Enumeration Type Documentation

◆ BrotliRunningContextMapState

Enumerator
BROTLI_STATE_CONTEXT_MAP_NONE 
BROTLI_STATE_CONTEXT_MAP_READ_PREFIX 
BROTLI_STATE_CONTEXT_MAP_HUFFMAN 
BROTLI_STATE_CONTEXT_MAP_DECODE 
BROTLI_STATE_CONTEXT_MAP_TRANSFORM 

◆ BrotliRunningDecodeUint8State

Enumerator
BROTLI_STATE_DECODE_UINT8_NONE 
BROTLI_STATE_DECODE_UINT8_SHORT 
BROTLI_STATE_DECODE_UINT8_LONG 

◆ BrotliRunningHuffmanState

Enumerator
BROTLI_STATE_HUFFMAN_NONE 
BROTLI_STATE_HUFFMAN_SIMPLE_SIZE 
BROTLI_STATE_HUFFMAN_SIMPLE_READ 
BROTLI_STATE_HUFFMAN_SIMPLE_BUILD 
BROTLI_STATE_HUFFMAN_COMPLEX 
BROTLI_STATE_HUFFMAN_LENGTH_SYMBOLS 

◆ BrotliRunningMetablockHeaderState

Enumerator
BROTLI_STATE_METABLOCK_HEADER_NONE 
BROTLI_STATE_METABLOCK_HEADER_EMPTY 
BROTLI_STATE_METABLOCK_HEADER_NIBBLES 
BROTLI_STATE_METABLOCK_HEADER_SIZE 
BROTLI_STATE_METABLOCK_HEADER_UNCOMPRESSED 
BROTLI_STATE_METABLOCK_HEADER_RESERVED 
BROTLI_STATE_METABLOCK_HEADER_BYTES 
BROTLI_STATE_METABLOCK_HEADER_METADATA 

◆ BrotliRunningReadBlockLengthState

Enumerator
BROTLI_STATE_READ_BLOCK_LENGTH_NONE 
BROTLI_STATE_READ_BLOCK_LENGTH_SUFFIX 

◆ BrotliRunningState

Enumerator
BROTLI_STATE_UNINITED 
BROTLI_STATE_LARGE_WINDOW_BITS 
BROTLI_STATE_INITIALIZE 
BROTLI_STATE_METABLOCK_BEGIN 
BROTLI_STATE_METABLOCK_HEADER 
BROTLI_STATE_METABLOCK_HEADER_2 
BROTLI_STATE_CONTEXT_MODES 
BROTLI_STATE_COMMAND_BEGIN 
BROTLI_STATE_COMMAND_INNER 
BROTLI_STATE_COMMAND_POST_DECODE_LITERALS 
BROTLI_STATE_COMMAND_POST_WRAP_COPY 
BROTLI_STATE_UNCOMPRESSED 
BROTLI_STATE_METADATA 
BROTLI_STATE_COMMAND_INNER_WRITE 
BROTLI_STATE_METABLOCK_DONE 
BROTLI_STATE_COMMAND_POST_WRITE_1 
BROTLI_STATE_COMMAND_POST_WRITE_2 
BROTLI_STATE_BEFORE_COMPRESSED_METABLOCK_HEADER 
BROTLI_STATE_HUFFMAN_CODE_0 
BROTLI_STATE_HUFFMAN_CODE_1 
BROTLI_STATE_HUFFMAN_CODE_2 
BROTLI_STATE_HUFFMAN_CODE_3 
BROTLI_STATE_CONTEXT_MAP_1 
BROTLI_STATE_CONTEXT_MAP_2 
BROTLI_STATE_TREE_GROUP 
BROTLI_STATE_BEFORE_COMPRESSED_METABLOCK_BODY 
BROTLI_STATE_DONE 

◆ BrotliRunningTreeGroupState

Enumerator
BROTLI_STATE_TREE_GROUP_NONE 
BROTLI_STATE_TREE_GROUP_LOOP 

◆ BrotliRunningUncompressedState

Enumerator
BROTLI_STATE_UNCOMPRESSED_NONE 
BROTLI_STATE_UNCOMPRESSED_WRITE 

Function Documentation

◆ BrotliDecoderHuffmanTreeGroupInit()

BROTLI_INTERNAL BROTLI_BOOL BrotliDecoderHuffmanTreeGroupInit ( BrotliDecoderState * s,
HuffmanTreeGroup * group,
uint32_t alphabet_size_max,
uint32_t alphabet_size_limit,
uint32_t ntrees )

◆ BrotliDecoderStateCleanup()

BROTLI_INTERNAL void BrotliDecoderStateCleanup ( BrotliDecoderState * s)

◆ BrotliDecoderStateCleanupAfterMetablock()

BROTLI_INTERNAL void BrotliDecoderStateCleanupAfterMetablock ( BrotliDecoderState * s)

◆ BrotliDecoderStateInit()

BROTLI_INTERNAL BROTLI_BOOL BrotliDecoderStateInit ( BrotliDecoderState * s,
brotli_alloc_func alloc_func,
brotli_free_func free_func,
void * opaque )

◆ BrotliDecoderStateMetablockBegin()

BROTLI_INTERNAL void BrotliDecoderStateMetablockBegin ( BrotliDecoderState * s)