LLVM API Documentation
#include "bzlib_private.h"
Include dependency graph for decompress.c:
Go to the source code of this file.
Defines | |
#define | RETURN(rrr) { retVal = rrr; goto save_state_and_return; }; |
#define | GET_BITS(lll, vvv, nnn) |
#define | GET_UCHAR(lll, uuu) GET_BITS(lll,uuu,8) |
#define | GET_BIT(lll, uuu) GET_BITS(lll,uuu,1) |
#define | GET_MTF_VAL(label1, label2, lval) |
Functions | |
static void | makeMaps_d (DState *s) |
Int32 | BZ2_decompress (DState *s) |
#define GET_BIT | ( | lll, | |||
uuu | ) | GET_BITS(lll,uuu,1) |
#define GET_BITS | ( | lll, | |||
vvv, | |||||
nnn | ) |
Value:
case lll: s->state = lll; \ while (True) { \ if (s->bsLive >= nnn) { \ UInt32 v; \ v = (s->bsBuff >> \ (s->bsLive-nnn)) & ((1 << nnn)-1); \ s->bsLive -= nnn; \ vvv = v; \ break; \ } \ if (s->strm->avail_in == 0) RETURN(BZ_OK); \ s->bsBuff \ = (s->bsBuff << 8) | \ ((UInt32) \ (*((UChar*)(s->strm->next_in)))); \ s->bsLive += 8; \ s->strm->next_in++; \ s->strm->avail_in--; \ s->strm->total_in_lo32++; \ if (s->strm->total_in_lo32 == 0) \ s->strm->total_in_hi32++; \ }
Definition at line 83 of file decompress.c.
Referenced by BZ2_decompress().
#define GET_MTF_VAL | ( | label1, | |||
label2, | |||||
lval | ) |
Value:
{ \ if (groupPos == 0) { \ groupNo++; \ if (groupNo >= nSelectors) \ RETURN(BZ_DATA_ERROR); \ groupPos = BZ_G_SIZE; \ gSel = s->selector[groupNo]; \ gMinlen = s->minLens[gSel]; \ gLimit = &(s->limit[gSel][0]); \ gPerm = &(s->perm[gSel][0]); \ gBase = &(s->base[gSel][0]); \ } \ groupPos--; \ zn = gMinlen; \ GET_BITS(label1, zvec, zn); \ while (1) { \ if (zn > 20 /* the longest code */) \ RETURN(BZ_DATA_ERROR); \ if (zvec <= gLimit[zn]) break; \ zn++; \ GET_BIT(label2, zj); \ zvec = (zvec << 1) | zj; \ }; \ if (zvec - gBase[zn] < 0 \ || zvec - gBase[zn] >= BZ_MAX_ALPHA_SIZE) \ RETURN(BZ_DATA_ERROR); \ lval = gPerm[zvec - gBase[zn]]; \ }
Definition at line 114 of file decompress.c.
Referenced by BZ2_decompress().
#define GET_UCHAR | ( | lll, | |||
uuu | ) | GET_BITS(lll,uuu,8) |
#define RETURN | ( | rrr | ) | { retVal = rrr; goto save_state_and_return; }; |
Definition at line 146 of file decompress.c.
References DState::blockRandomised, DState::blockSize100k, BZ2_hbCreateDecodeTables(), BZ_DATA_ERROR, BZ_DATA_ERROR_MAGIC, BZ_GET_SMALL, BZ_HDR_0, BZ_HDR_B, BZ_HDR_h, BZ_HDR_Z, BZ_INITIALISE_CRC, BZ_MEM_ERROR, BZ_N_GROUPS, BZ_OK, BZ_RAND_INIT_MASK, BZ_RAND_MASK, BZ_RAND_UPD_MASK, BZ_RUNA, BZ_RUNB, BZ_X_BCRC_1, BZ_X_BCRC_2, BZ_X_BCRC_3, BZ_X_BCRC_4, BZ_X_BLKHDR_1, BZ_X_BLKHDR_2, BZ_X_BLKHDR_3, BZ_X_BLKHDR_4, BZ_X_BLKHDR_5, BZ_X_BLKHDR_6, BZ_X_CODING_1, BZ_X_CODING_2, BZ_X_CODING_3, BZ_X_MAGIC_1, BZ_X_MAGIC_2, BZ_X_MAGIC_3, BZ_X_MAGIC_4, BZ_X_MAPPING_1, BZ_X_MAPPING_2, BZ_X_MTF_1, BZ_X_MTF_2, BZ_X_MTF_3, BZ_X_MTF_4, BZ_X_MTF_5, BZ_X_MTF_6, BZ_X_ORIGPTR_1, BZ_X_ORIGPTR_2, BZ_X_ORIGPTR_3, BZ_X_OUTPUT, BZ_X_RANDBIT, BZ_X_SELECTOR_1, BZ_X_SELECTOR_2, BZ_X_SELECTOR_3, BZALLOC, DState::calculatedBlockCRC, DState::cftab, DState::cftabCopy, DState::currBlockNo, False, GET_BIT, GET_BITS, GET_LL, GET_MTF_VAL, GET_UCHAR, DState::inUse, DState::inUse16, DState::k0, DState::ll16, DState::ll4, makeMaps_d(), DState::mtfa, MTFA_SIZE, DState::mtfbase, MTFL_SIZE, DState::nblock_used, DState::origPtr, RETURN, DState::save_alphaSize, DState::save_curr, DState::save_EOB, DState::save_es, DState::save_gBase, DState::save_gLimit, DState::save_gMinlen, DState::save_gPerm, DState::save_groupNo, DState::save_groupPos, DState::save_gSel, DState::save_i, DState::save_j, DState::save_N, DState::save_nblock, DState::save_nblockMAX, DState::save_nextSym, DState::save_nGroups, DState::save_nSelectors, DState::save_t, DState::save_zj, DState::save_zn, DState::save_zt, DState::save_zvec, DState::seqToUnseq, SET_LL, DState::smallDecompress, DState::state, DState::state_out_ch, DState::state_out_len, DState::storedBlockCRC, DState::strm, DState::tPos, True, DState::tt, DState::unzftab, DState::verbosity, VPrintf0, and VPrintf1.
Referenced by BZ2_bzDecompress().
static void makeMaps_d | ( | DState * | s | ) | [static] |
Definition at line 67 of file decompress.c.
References DState::inUse, DState::nInUse, and DState::seqToUnseq.
Referenced by BZ2_decompress().