LLVM API Documentation

compress.c File Reference

#include "bzlib_private.h"

Include dependency graph for compress.c:

Go to the source code of this file.

Defines

#define bsNEEDW(nz)
#define BZ_LESSER_ICOST   0
#define BZ_GREATER_ICOST   15
#define BZ_ITER(nn)
#define BZ_ITUR(nn)   s->rfreq[bt][ mtfv[gs+(nn)] ]++
#define BZ_ITAH(nn)

Functions

void BZ2_bsInitWrite (EState *s)
static void bsFinishWrite (EState *s)
static __inline__ void bsW (EState *s, Int32 n, UInt32 v)
static void bsPutUInt32 (EState *s, UInt32 u)
static void bsPutUChar (EState *s, UChar c)
static void makeMaps_e (EState *s)
static void generateMTFValues (EState *s)
static void sendMTFValues (EState *s)
void BZ2_compressBlock (EState *s, Bool is_last_block)


Define Documentation

#define bsNEEDW ( nz   ) 

Value:

{                                             \
   while (s->bsLive >= 8) {                   \
      s->zbits[s->numZ]                       \
         = (UChar)(s->bsBuff >> 24);          \
      s->numZ++;                              \
      s->bsBuff <<= 8;                        \
      s->bsLive -= 8;                         \
   }                                          \
}

Definition at line 102 of file compress.c.

Referenced by bsW().

#define BZ_GREATER_ICOST   15

Definition at line 280 of file compress.c.

Referenced by sendMTFValues().

#define BZ_ITAH ( nn   ) 

Value:

mtfv_i = mtfv[gs+(nn)];              \
               bsW ( s,                             \
                     s_len_sel_selCtr[mtfv_i],      \
                     s_code_sel_selCtr[mtfv_i] )

#define BZ_ITER ( nn   ) 

Value:

icv = mtfv[gs+(nn)];           \
               cost01 += s->len_pack[icv][0]; \
               cost23 += s->len_pack[icv][1]; \
               cost45 += s->len_pack[icv][2]; \

#define BZ_ITUR ( nn   )     s->rfreq[bt][ mtfv[gs+(nn)] ]++

#define BZ_LESSER_ICOST   0

Definition at line 279 of file compress.c.

Referenced by sendMTFValues().


Function Documentation

static void bsFinishWrite ( EState s  )  [static]

Definition at line 90 of file compress.c.

References EState::bsBuff, EState::bsLive, EState::numZ, and EState::zbits.

Referenced by BZ2_compressBlock().

static void bsPutUChar ( EState s,
UChar  c 
) [static]

Definition at line 138 of file compress.c.

References bsW().

Referenced by BZ2_compressBlock().

static void bsPutUInt32 ( EState s,
UInt32  u 
) [static]

Definition at line 127 of file compress.c.

References bsW().

Referenced by BZ2_compressBlock().

static __inline__ void bsW ( EState s,
Int32  n,
UInt32  v 
) [static]

Definition at line 117 of file compress.c.

References EState::bsBuff, EState::bsLive, and bsNEEDW.

Referenced by bsPutUChar(), bsPutUInt32(), and BZ2_compressBlock().

void BZ2_bsInitWrite ( EState s  ) 

Definition at line 81 of file compress.c.

References EState::bsBuff, and EState::bsLive.

Referenced by BZ2_compressBlock().

void BZ2_compressBlock ( EState s,
Bool  is_last_block 
)

Definition at line 644 of file compress.c.

References EState::arr2, EState::blockCRC, EState::blockNo, EState::blockSize100k, bsFinishWrite(), bsPutUChar(), bsPutUInt32(), bsW(), BZ2_blockSort(), BZ2_bsInitWrite(), BZ_FINALISE_CRC, BZ_HDR_0, BZ_HDR_B, BZ_HDR_h, BZ_HDR_Z, EState::combinedCRC, generateMTFValues(), EState::nblock, EState::numZ, EState::origPtr, sendMTFValues(), EState::verbosity, VPrintf1, VPrintf4, and EState::zbits.

Referenced by handle_compress().

static void generateMTFValues ( EState s  )  [static]

Definition at line 164 of file compress.c.

References AssertD, EState::block, BZ_RUNA, BZ_RUNB, makeMaps_e(), EState::mtfFreq, EState::mtfv, EState::nblock, EState::nInUse, EState::nMTF, EState::ptr, True, and EState::unseqToSeq.

Referenced by BZ2_compressBlock().

static void makeMaps_e ( EState s  )  [static]

Definition at line 150 of file compress.c.

References EState::inUse, EState::nInUse, and EState::unseqToSeq.

Referenced by generateMTFValues().

static void sendMTFValues ( EState s  )  [static]

Definition at line 283 of file compress.c.

References AssertH, BZ_GREATER_ICOST, BZ_LESSER_ICOST, BZ_N_GROUPS, EState::len, EState::mtfFreq, EState::mtfv, EState::nblock, EState::nInUse, EState::nMTF, EState::verbosity, VPrintf3, and VPrintf5.

Referenced by BZ2_compressBlock().