Classes | Defines | Typedefs | Enumerations | Functions | Variables
lz4.c File Reference
#include "lz4.h"
#include <stdlib.h>
#include <string.h>
Include dependency graph for lz4.c:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  LZ4_stream_t_internal
struct  LZ4_streamDecode_t_internal

Defines

#define ACCELERATION_DEFAULT   1
#define ALLOCATOR(n, s)   calloc(n,s)
#define COPYLENGTH   8
#define expect(expr, value)   (expr)
#define FORCE_INLINE   static
#define FREEMEM   free
#define GB   *(1U<<30)
#define HASH_SIZE_U32   (1 << LZ4_HASHLOG) /* required as macro for static allocation */
#define HASH_UNIT   sizeof(size_t)
#define HASHTABLESIZE   (1 << LZ4_MEMORY_USAGE)
#define HEAPMODE   0
#define KB   *(1 <<10)
#define LASTLITERALS   5
#define likely(expr)   expect((expr) != 0, 1)
#define LZ4_HASHLOG   (LZ4_MEMORY_USAGE-2)
#define LZ4_STATIC_ASSERT(c)   { enum { LZ4_static_assert = 1/(int)(!!(c)) }; } /* use only *after* variable declarations */
#define MAX_DISTANCE   ((1 << MAXD_LOG) - 1)
#define MAXD_LOG   16
#define MB   *(1 <<20)
#define MEM_INIT   memset
#define MFLIMIT   (COPYLENGTH+MINMATCH)
#define MINMATCH   4
#define ML_BITS   4
#define ML_MASK   ((1U<<ML_BITS)-1)
#define RUN_BITS   (8-ML_BITS)
#define RUN_MASK   ((1U<<RUN_BITS)-1)
#define STEPSIZE   sizeof(size_t)
#define unlikely(expr)   expect((expr) != 0, 0)

Typedefs

typedef unsigned char BYTE
typedef signed int S32
typedef unsigned short U16
typedef unsigned int U32
typedef unsigned long long U64

Enumerations

enum  dict_directive { noDict = 0, withPrefix64k, usingExtDict }
enum  dictIssue_directive { noDictIssue = 0, dictSmall }
enum  earlyEnd_directive { full = 0, partial = 1 }
enum  endCondition_directive { endOnOutputSize = 0, endOnInputSize = 1 }
enum  limitedOutput_directive { notLimited = 0, limitedOutput = 1, noLimit = 0, limitedOutput = 1 }
enum  tableType_t { byPtr, byU32, byU16 }

Functions

static unsigned LZ4_64bits (void)
int LZ4_compress (const char *source, char *dest, int inputSize)
int LZ4_compress_continue (LZ4_stream_t *LZ4_stream, const char *source, char *dest, int inputSize)
int LZ4_compress_default (const char *source, char *dest, int inputSize, int maxOutputSize)
int LZ4_compress_destSize (const char *src, char *dst, int *srcSizePtr, int targetDstSize)
static int LZ4_compress_destSize_extState (void *state, const char *src, char *dst, int *srcSizePtr, int targetDstSize)
static int LZ4_compress_destSize_generic (void *const ctx, const char *const src, char *const dst, int *const srcSizePtr, const int targetDstSize, const tableType_t tableType)
int LZ4_compress_fast (const char *source, char *dest, int inputSize, int maxOutputSize, int acceleration)
int LZ4_compress_fast_continue (LZ4_stream_t *LZ4_stream, const char *source, char *dest, int inputSize, int maxOutputSize, int acceleration)
int LZ4_compress_fast_extState (void *state, const char *source, char *dest, int inputSize, int maxOutputSize, int acceleration)
int LZ4_compress_fast_force (const char *source, char *dest, int inputSize, int maxOutputSize, int acceleration)
int LZ4_compress_forceExtDict (LZ4_stream_t *LZ4_dict, const char *source, char *dest, int inputSize)
FORCE_INLINE int LZ4_compress_generic (void *const ctx, const char *const source, char *const dest, const int inputSize, const int maxOutputSize, const limitedOutput_directive outputLimited, const tableType_t tableType, const dict_directive dict, const dictIssue_directive dictIssue, const U32 acceleration)
int LZ4_compress_limitedOutput (const char *source, char *dest, int inputSize, int maxOutputSize)
int LZ4_compress_limitedOutput_continue (LZ4_stream_t *LZ4_stream, const char *src, char *dst, int srcSize, int maxDstSize)
int LZ4_compress_limitedOutput_withState (void *state, const char *src, char *dst, int srcSize, int dstSize)
int LZ4_compress_withState (void *state, const char *src, char *dst, int srcSize)
int LZ4_compressBound (int isize)
static void LZ4_copy4 (void *dstPtr, const void *srcPtr)
static void LZ4_copy8 (void *dstPtr, const void *srcPtr)
static unsigned LZ4_count (const BYTE *pIn, const BYTE *pMatch, const BYTE *pInLimit)
void * LZ4_create (char *inputBuffer)
LZ4_stream_tLZ4_createStream (void)
LZ4_streamDecode_tLZ4_createStreamDecode (void)
int LZ4_decompress_fast (const char *source, char *dest, int originalSize)
int LZ4_decompress_fast_continue (LZ4_streamDecode_t *LZ4_streamDecode, const char *source, char *dest, int originalSize)
int LZ4_decompress_fast_usingDict (const char *source, char *dest, int originalSize, const char *dictStart, int dictSize)
int LZ4_decompress_fast_withPrefix64k (const char *source, char *dest, int originalSize)
FORCE_INLINE int LZ4_decompress_generic (const char *const source, char *const dest, int inputSize, int outputSize, int endOnInput, int partialDecoding, int targetOutputSize, int dict, const BYTE *const lowPrefix, const BYTE *const dictStart, const size_t dictSize)
int LZ4_decompress_safe (const char *source, char *dest, int compressedSize, int maxDecompressedSize)
int LZ4_decompress_safe_continue (LZ4_streamDecode_t *LZ4_streamDecode, const char *source, char *dest, int compressedSize, int maxOutputSize)
int LZ4_decompress_safe_forceExtDict (const char *source, char *dest, int compressedSize, int maxOutputSize, const char *dictStart, int dictSize)
int LZ4_decompress_safe_partial (const char *source, char *dest, int compressedSize, int targetOutputSize, int maxDecompressedSize)
int LZ4_decompress_safe_usingDict (const char *source, char *dest, int compressedSize, int maxOutputSize, const char *dictStart, int dictSize)
int LZ4_decompress_safe_withPrefix64k (const char *source, char *dest, int compressedSize, int maxOutputSize)
FORCE_INLINE int LZ4_decompress_usingDict_generic (const char *source, char *dest, int compressedSize, int maxOutputSize, int safe, const char *dictStart, int dictSize)
int LZ4_freeStream (LZ4_stream_t *LZ4_stream)
int LZ4_freeStreamDecode (LZ4_streamDecode_t *LZ4_stream)
static const BYTELZ4_getPosition (const BYTE *p, void *tableBase, tableType_t tableType, const BYTE *srcBase)
static const BYTELZ4_getPositionOnHash (U32 h, void *tableBase, tableType_t tableType, const BYTE *srcBase)
static U32 LZ4_hashPosition (const void *p, tableType_t tableType)
static U32 LZ4_hashSequence (U32 sequence, tableType_t const tableType)
static U32 LZ4_hashSequence64 (size_t sequence, tableType_t const tableType)
static U32 LZ4_hashSequenceT (size_t sequence, tableType_t const tableType)
static void LZ4_init (LZ4_stream_t_internal *lz4ds, BYTE *base)
static unsigned LZ4_isLittleEndian (void)
int LZ4_loadDict (LZ4_stream_t *LZ4_dict, const char *dictionary, int dictSize)
static unsigned LZ4_NbCommonBytes (register size_t val)
static void LZ4_putPosition (const BYTE *p, void *tableBase, tableType_t tableType, const BYTE *srcBase)
static void LZ4_putPositionOnHash (const BYTE *p, U32 h, void *tableBase, tableType_t const tableType, const BYTE *srcBase)
static U16 LZ4_read16 (const void *memPtr)
static U32 LZ4_read32 (const void *memPtr)
static U64 LZ4_read64 (const void *memPtr)
static size_t LZ4_read_ARCH (const void *p)
static U16 LZ4_readLE16 (const void *memPtr)
static void LZ4_renormDictT (LZ4_stream_t_internal *LZ4_dict, const BYTE *src)
void LZ4_resetStream (LZ4_stream_t *LZ4_stream)
int LZ4_resetStreamState (void *state, char *inputBuffer)
int LZ4_saveDict (LZ4_stream_t *LZ4_dict, char *safeBuffer, int dictSize)
int LZ4_setStreamDecode (LZ4_streamDecode_t *LZ4_streamDecode, const char *dictionary, int dictSize)
int LZ4_sizeofState ()
int LZ4_sizeofStreamState ()
char * LZ4_slideInputBuffer (void *LZ4_Data)
int LZ4_uncompress (const char *source, char *dest, int outputSize)
int LZ4_uncompress_unknownOutputSize (const char *source, char *dest, int isize, int maxOutputSize)
int LZ4_versionNumber (void)
static void LZ4_wildCopy (void *dstPtr, const void *srcPtr, void *dstEnd)
static void LZ4_writeLE16 (void *memPtr, U16 value)

Variables

static const int LZ4_64Klimit = ((64 KB) + (MFLIMIT-1))
static const int LZ4_minLength = (MFLIMIT+1)
static const U32 LZ4_skipTrigger = 6
static const U64 prime5bytes = 889523592379ULL

Define Documentation

#define ACCELERATION_DEFAULT   1

Definition at line 50 of file lz4.c.

#define ALLOCATOR (   n,
 
)    calloc(n,s)

Definition at line 106 of file lz4.c.

#define COPYLENGTH   8

Definition at line 221 of file lz4.c.

#define expect (   expr,
  value 
)    (expr)

Definition at line 95 of file lz4.c.

#define FORCE_INLINE   static

Definition at line 87 of file lz4.c.

#define FREEMEM   free

Definition at line 107 of file lz4.c.

#define GB   *(1U<<30)

Definition at line 228 of file lz4.c.

#define HASH_SIZE_U32   (1 << LZ4_HASHLOG) /* required as macro for static allocation */

Definition at line 340 of file lz4.c.

#define HASH_UNIT   sizeof(size_t)

Definition at line 955 of file lz4.c.

#define HASHTABLESIZE   (1 << LZ4_MEMORY_USAGE)

Definition at line 339 of file lz4.c.

#define HEAPMODE   0

Definition at line 44 of file lz4.c.

#define KB   *(1 <<10)

Definition at line 226 of file lz4.c.

#define LASTLITERALS   5

Definition at line 222 of file lz4.c.

#define likely (   expr)    expect((expr) != 0, 1)

Definition at line 98 of file lz4.c.

#define LZ4_HASHLOG   (LZ4_MEMORY_USAGE-2)

Definition at line 338 of file lz4.c.

#define LZ4_STATIC_ASSERT (   c)    { enum { LZ4_static_assert = 1/(int)(!!(c)) }; } /* use only *after* variable declarations */

Definition at line 242 of file lz4.c.

#define MAX_DISTANCE   ((1 << MAXD_LOG) - 1)

Definition at line 231 of file lz4.c.

#define MAXD_LOG   16

Definition at line 230 of file lz4.c.

#define MB   *(1 <<20)

Definition at line 227 of file lz4.c.

#define MEM_INIT   memset

Definition at line 109 of file lz4.c.

#define MFLIMIT   (COPYLENGTH+MINMATCH)

Definition at line 223 of file lz4.c.

#define MINMATCH   4

Definition at line 219 of file lz4.c.

#define ML_BITS   4

Definition at line 233 of file lz4.c.

#define ML_MASK   ((1U<<ML_BITS)-1)

Definition at line 234 of file lz4.c.

#define RUN_BITS   (8-ML_BITS)

Definition at line 235 of file lz4.c.

#define RUN_MASK   ((1U<<RUN_BITS)-1)

Definition at line 236 of file lz4.c.

#define STEPSIZE   sizeof(size_t)

Definition at line 134 of file lz4.c.

#define unlikely (   expr)    expect((expr) != 0, 0)

Definition at line 99 of file lz4.c.


Typedef Documentation

typedef unsigned char BYTE

Definition at line 123 of file lz4.c.

typedef signed int S32

Definition at line 126 of file lz4.c.

typedef unsigned short U16

Definition at line 124 of file lz4.c.

typedef unsigned int U32

Definition at line 125 of file lz4.c.

typedef unsigned long long U64

Definition at line 127 of file lz4.c.


Enumeration Type Documentation

Enumerator:
noDict 
withPrefix64k 
usingExtDict 

Definition at line 361 of file lz4.c.

Enumerator:
noDictIssue 
dictSmall 

Definition at line 362 of file lz4.c.

Enumerator:
full 
partial 

Definition at line 365 of file lz4.c.

Enumerator:
endOnOutputSize 
endOnInputSize 

Definition at line 364 of file lz4.c.

Enumerator:
notLimited 
limitedOutput 
noLimit 
limitedOutput 

Definition at line 358 of file lz4.c.

Enumerator:
byPtr 
byU32 
byU16 

Definition at line 359 of file lz4.c.


Function Documentation

static unsigned LZ4_64bits ( void  ) [static]

Definition at line 136 of file lz4.c.

int LZ4_compress ( const char *  source,
char *  dest,
int  inputSize 
)

Definition at line 1456 of file lz4.c.

int LZ4_compress_continue ( LZ4_stream_t LZ4_stream,
const char *  source,
char *  dest,
int  inputSize 
)

Definition at line 1460 of file lz4.c.

int LZ4_compress_default ( const char *  source,
char *  dest,
int  inputSize,
int  maxOutputSize 
)

Definition at line 697 of file lz4.c.

int LZ4_compress_destSize ( const char *  src,
char *  dst,
int *  srcSizePtr,
int  targetDstSize 
)

Definition at line 912 of file lz4.c.

static int LZ4_compress_destSize_extState ( void *  state,
const char *  src,
char *  dst,
int *  srcSizePtr,
int  targetDstSize 
) [static]

Definition at line 894 of file lz4.c.

static int LZ4_compress_destSize_generic ( void *const  ctx,
const char *const  src,
char *const  dst,
int *const  srcSizePtr,
const int  targetDstSize,
const tableType_t  tableType 
) [static]

Definition at line 722 of file lz4.c.

int LZ4_compress_fast ( const char *  source,
char *  dest,
int  inputSize,
int  maxOutputSize,
int  acceleration 
)

Definition at line 679 of file lz4.c.

int LZ4_compress_fast_continue ( LZ4_stream_t LZ4_stream,
const char *  source,
char *  dest,
int  inputSize,
int  maxOutputSize,
int  acceleration 
)

Definition at line 1011 of file lz4.c.

int LZ4_compress_fast_extState ( void *  state,
const char *  source,
char *  dest,
int  inputSize,
int  maxOutputSize,
int  acceleration 
)

Definition at line 657 of file lz4.c.

int LZ4_compress_fast_force ( const char *  source,
char *  dest,
int  inputSize,
int  maxOutputSize,
int  acceleration 
)

Definition at line 705 of file lz4.c.

int LZ4_compress_forceExtDict ( LZ4_stream_t LZ4_dict,
const char *  source,
char *  dest,
int  inputSize 
)

Definition at line 1063 of file lz4.c.

FORCE_INLINE int LZ4_compress_generic ( void *const  ctx,
const char *const  source,
char *const  dest,
const int  inputSize,
const int  maxOutputSize,
const limitedOutput_directive  outputLimited,
const tableType_t  tableType,
const dict_directive  dict,
const dictIssue_directive  dictIssue,
const U32  acceleration 
)

Definition at line 435 of file lz4.c.

int LZ4_compress_limitedOutput ( const char *  source,
char *  dest,
int  inputSize,
int  maxOutputSize 
)

Definition at line 1455 of file lz4.c.

int LZ4_compress_limitedOutput_continue ( LZ4_stream_t LZ4_stream,
const char *  src,
char *  dst,
int  srcSize,
int  maxDstSize 
)

Definition at line 1459 of file lz4.c.

int LZ4_compress_limitedOutput_withState ( void *  state,
const char *  src,
char *  dst,
int  srcSize,
int  dstSize 
)

Definition at line 1457 of file lz4.c.

int LZ4_compress_withState ( void *  state,
const char *  src,
char *  dst,
int  srcSize 
)

Definition at line 1458 of file lz4.c.

int LZ4_compressBound ( int  isize)

Definition at line 372 of file lz4.c.

static void LZ4_copy4 ( void *  dstPtr,
const void *  srcPtr 
) [static]

Definition at line 202 of file lz4.c.

static void LZ4_copy8 ( void *  dstPtr,
const void *  srcPtr 
) [static]

Definition at line 204 of file lz4.c.

static unsigned LZ4_count ( const BYTE pIn,
const BYTE pMatch,
const BYTE pInLimit 
) [static]

Definition at line 315 of file lz4.c.

void* LZ4_create ( char *  inputBuffer)

Definition at line 1489 of file lz4.c.

Definition at line 935 of file lz4.c.

Definition at line 1319 of file lz4.c.

int LZ4_decompress_fast ( const char *  source,
char *  dest,
int  originalSize 
)

Definition at line 1298 of file lz4.c.

int LZ4_decompress_fast_continue ( LZ4_streamDecode_t LZ4_streamDecode,
const char *  source,
char *  dest,
int  originalSize 
)

Definition at line 1384 of file lz4.c.

int LZ4_decompress_fast_usingDict ( const char *  source,
char *  dest,
int  originalSize,
const char *  dictStart,
int  dictSize 
)

Definition at line 1439 of file lz4.c.

int LZ4_decompress_fast_withPrefix64k ( const char *  source,
char *  dest,
int  originalSize 
)

Definition at line 1510 of file lz4.c.

FORCE_INLINE int LZ4_decompress_generic ( const char *const  source,
char *const  dest,
int  inputSize,
int  outputSize,
int  endOnInput,
int  partialDecoding,
int  targetOutputSize,
int  dict,
const BYTE *const  lowPrefix,
const BYTE *const  dictStart,
const size_t  dictSize 
)

Definition at line 1110 of file lz4.c.

int LZ4_decompress_safe ( const char *  source,
char *  dest,
int  compressedSize,
int  maxDecompressedSize 
)

Definition at line 1288 of file lz4.c.

int LZ4_decompress_safe_continue ( LZ4_streamDecode_t LZ4_streamDecode,
const char *  source,
char *  dest,
int  compressedSize,
int  maxOutputSize 
)

Definition at line 1355 of file lz4.c.

int LZ4_decompress_safe_forceExtDict ( const char *  source,
char *  dest,
int  compressedSize,
int  maxOutputSize,
const char *  dictStart,
int  dictSize 
)

Definition at line 1445 of file lz4.c.

int LZ4_decompress_safe_partial ( const char *  source,
char *  dest,
int  compressedSize,
int  targetOutputSize,
int  maxDecompressedSize 
)

Definition at line 1293 of file lz4.c.

int LZ4_decompress_safe_usingDict ( const char *  source,
char *  dest,
int  compressedSize,
int  maxOutputSize,
const char *  dictStart,
int  dictSize 
)

Definition at line 1434 of file lz4.c.

int LZ4_decompress_safe_withPrefix64k ( const char *  source,
char *  dest,
int  compressedSize,
int  maxOutputSize 
)

Definition at line 1505 of file lz4.c.

FORCE_INLINE int LZ4_decompress_usingDict_generic ( const char *  source,
char *  dest,
int  compressedSize,
int  maxOutputSize,
int  safe,
const char *  dictStart,
int  dictSize 
)

Definition at line 1421 of file lz4.c.

int LZ4_freeStream ( LZ4_stream_t LZ4_stream)

Definition at line 948 of file lz4.c.

Definition at line 1325 of file lz4.c.

static const BYTE* LZ4_getPosition ( const BYTE p,
void *  tableBase,
tableType_t  tableType,
const BYTE srcBase 
) [static]

Definition at line 429 of file lz4.c.

static const BYTE* LZ4_getPositionOnHash ( U32  h,
void *  tableBase,
tableType_t  tableType,
const BYTE srcBase 
) [static]

Definition at line 422 of file lz4.c.

static U32 LZ4_hashPosition ( const void *  p,
tableType_t  tableType 
) [static]

Definition at line 404 of file lz4.c.

static U32 LZ4_hashSequence ( U32  sequence,
tableType_t const  tableType 
) [static]

Definition at line 381 of file lz4.c.

static U32 LZ4_hashSequence64 ( size_t  sequence,
tableType_t const  tableType 
) [static]

Definition at line 390 of file lz4.c.

static U32 LZ4_hashSequenceT ( size_t  sequence,
tableType_t const  tableType 
) [static]

Definition at line 397 of file lz4.c.

static void LZ4_init ( LZ4_stream_t_internal lz4ds,
BYTE base 
) [static]

Definition at line 1476 of file lz4.c.

static unsigned LZ4_isLittleEndian ( void  ) [static]

Definition at line 138 of file lz4.c.

int LZ4_loadDict ( LZ4_stream_t LZ4_dict,
const char *  dictionary,
int  dictSize 
)

Definition at line 956 of file lz4.c.

static unsigned LZ4_NbCommonBytes ( register size_t  val) [static]

Definition at line 248 of file lz4.c.

static void LZ4_putPosition ( const BYTE p,
void *  tableBase,
tableType_t  tableType,
const BYTE srcBase 
) [static]

Definition at line 416 of file lz4.c.

static void LZ4_putPositionOnHash ( const BYTE p,
U32  h,
void *  tableBase,
tableType_t const  tableType,
const BYTE srcBase 
) [static]

Definition at line 406 of file lz4.c.

static U16 LZ4_read16 ( const void *  memPtr) [static]

Definition at line 145 of file lz4.c.

static U32 LZ4_read32 ( const void *  memPtr) [static]

Definition at line 179 of file lz4.c.

static U64 LZ4_read64 ( const void *  memPtr) [static]

Definition at line 186 of file lz4.c.

static size_t LZ4_read_ARCH ( const void *  p) [static]

Definition at line 193 of file lz4.c.

static U16 LZ4_readLE16 ( const void *  memPtr) [static]

Definition at line 152 of file lz4.c.

static void LZ4_renormDictT ( LZ4_stream_t_internal LZ4_dict,
const BYTE src 
) [static]

Definition at line 990 of file lz4.c.

void LZ4_resetStream ( LZ4_stream_t LZ4_stream)

Definition at line 943 of file lz4.c.

int LZ4_resetStreamState ( void *  state,
char *  inputBuffer 
)

Definition at line 1482 of file lz4.c.

int LZ4_saveDict ( LZ4_stream_t LZ4_dict,
char *  safeBuffer,
int  dictSize 
)

Definition at line 1083 of file lz4.c.

int LZ4_setStreamDecode ( LZ4_streamDecode_t LZ4_streamDecode,
const char *  dictionary,
int  dictSize 
)

Definition at line 1338 of file lz4.c.

int LZ4_sizeofState ( void  )

Definition at line 373 of file lz4.c.

Definition at line 1474 of file lz4.c.

char* LZ4_slideInputBuffer ( void *  LZ4_Data)

Definition at line 1496 of file lz4.c.

int LZ4_uncompress ( const char *  source,
char *  dest,
int  outputSize 
)

Definition at line 1468 of file lz4.c.

int LZ4_uncompress_unknownOutputSize ( const char *  source,
char *  dest,
int  isize,
int  maxOutputSize 
)

Definition at line 1469 of file lz4.c.

int LZ4_versionNumber ( void  )

Definition at line 371 of file lz4.c.

static void LZ4_wildCopy ( void *  dstPtr,
const void *  srcPtr,
void *  dstEnd 
) [static]

Definition at line 207 of file lz4.c.

static void LZ4_writeLE16 ( void *  memPtr,
U16  value 
) [static]

Definition at line 165 of file lz4.c.


Variable Documentation

const int LZ4_64Klimit = ((64 KB) + (MFLIMIT-1)) [static]

Definition at line 342 of file lz4.c.

const int LZ4_minLength = (MFLIMIT+1) [static]

Definition at line 224 of file lz4.c.

const U32 LZ4_skipTrigger = 6 [static]

Definition at line 343 of file lz4.c.

const U64 prime5bytes = 889523592379ULL [static]

Definition at line 389 of file lz4.c.



rtabmap
Author(s): Mathieu Labbe
autogenerated on Thu Jun 6 2019 21:59:34