11#define BCJ2_NUM_STREAMS 4
40#define BCJ2_IS_32BIT_STREAM(s) ((unsigned)((unsigned)(s) - (unsigned)BCJ2_STREAM_CALL) < 2)
141#define Bcj2Dec_IsMaybeFinished_state_MAIN(_p_) ((_p_)->state == BCJ2_STREAM_MAIN)
147#define Bcj2Dec_IsMaybeFinished_code(_p_) ((_p_)->code == 0)
154#define Bcj2Dec_IsMaybeFinished(_p_) ( \
155 Bcj2Dec_IsMaybeFinished_state_MAIN(_p_) && \
156 Bcj2Dec_IsMaybeFinished_code(_p_))
239#define BCJ2_ENC_FileSize_MAX ((CBcj2Enc_ip_unsigned)0 - 2)
243#define BCJ2_ENC_FileSizeField_UNLIMITED ((CBcj2Enc_ip_unsigned)0 - 1)
246#define BCJ2_ENC_GET_FileSizeField_VAL_FROM_FileSize(fileSize) \
247 ((CBcj2Enc_ip_unsigned)(fileSize) - 1)
250#define Bcj2Enc_SET_FileSize(p, fileSize) \
251 (p)->fileSize64_minus1 = BCJ2_ENC_GET_FileSizeField_VAL_FROM_FileSize(fileSize);
316#define Bcj2Enc_Get_AvailInputSize_in_Temp(p) ((p)->tempPos)
318#define Bcj2Enc_IsFinished(p) ((p)->flushRem == 0)
326#define BCJ2_ENC_RELAT_LIMIT_DEFAULT ((UInt32)0x0f << 24)
327#define BCJ2_ENC_RELAT_LIMIT_MAX ((UInt32)1 << 31)
unsigned int UInt32
Definition 7zTypes.h:180
#define EXTERN_C_BEGIN
Definition 7zTypes.h:20
unsigned long long int UInt64
Definition 7zTypes.h:234
int SRes
Definition 7zTypes.h:45
unsigned short UInt16
Definition 7zTypes.h:173
#define EXTERN_C_END
Definition 7zTypes.h:21
long long int Int64
Definition 7zTypes.h:233
unsigned char Byte
Definition 7zTypes.h:171
SRes Bcj2Dec_Decode(CBcj2Dec *p)
@ BCJ2_ENC_STATE_FINISHED
Definition Bcj2.h:35
@ BCJ2_ENC_STATE_ORIG
Definition Bcj2.h:34
Int64 CBcj2Enc_ip_signed
Definition Bcj2.h:236
@ BCJ2_DEC_STATE_ORIG_2
Definition Bcj2.h:25
@ BCJ2_DEC_STATE_ORIG_3
Definition Bcj2.h:26
@ BCJ2_DEC_STATE_ORIG
Definition Bcj2.h:28
@ BCJ2_DEC_STATE_ERROR
Definition Bcj2.h:29
@ BCJ2_DEC_STATE_ORIG_0
Definition Bcj2.h:23
@ BCJ2_DEC_STATE_ORIG_1
Definition Bcj2.h:24
EBcj2Enc_FinishMode
Definition Bcj2.h:163
@ BCJ2_ENC_FINISH_MODE_END_BLOCK
Definition Bcj2.h:165
@ BCJ2_ENC_FINISH_MODE_CONTINUE
Definition Bcj2.h:164
@ BCJ2_ENC_FINISH_MODE_END_STREAM
Definition Bcj2.h:166
void Bcj2Enc_Init(CBcj2Enc *p)
void Bcj2Enc_Encode(CBcj2Enc *p)
UInt16 CBcj2Prob
Definition Bcj2.h:52
@ BCJ2_STREAM_MAIN
Definition Bcj2.h:15
@ BCJ2_STREAM_RC
Definition Bcj2.h:18
@ BCJ2_STREAM_JUMP
Definition Bcj2.h:17
@ BCJ2_STREAM_CALL
Definition Bcj2.h:16
UInt64 CBcj2Enc_ip_unsigned
Definition Bcj2.h:235
#define BCJ2_NUM_STREAMS
Definition Bcj2.h:11
void Bcj2Dec_Init(CBcj2Dec *p)
unsigned state
Definition Bcj2.h:100
CBcj2Prob probs[2+256]
Definition Bcj2.h:106
const Byte * bufs[BCJ2_NUM_STREAMS]
Definition Bcj2.h:95
UInt32 ip
Definition Bcj2.h:102
UInt32 range
Definition Bcj2.h:104
UInt32 temp
Definition Bcj2.h:103
UInt32 code
Definition Bcj2.h:105
Byte * dest
Definition Bcj2.h:97
const Byte * destLim
Definition Bcj2.h:98
const Byte * lims[BCJ2_NUM_STREAMS]
Definition Bcj2.h:96
CBcj2Enc_ip_unsigned fileIp64
Definition Bcj2.h:278
CBcj2Prob probs[2+256]
Definition Bcj2.h:288
UInt32 range
Definition Bcj2.h:269
Byte cache
Definition Bcj2.h:268
UInt32 tempTarget
Definition Bcj2.h:283
UInt64 low
Definition Bcj2.h:270
unsigned state
Definition Bcj2.h:261
Byte context
Definition Bcj2.h:264
CBcj2Enc_ip_unsigned fileSize64_minus1
Definition Bcj2.h:279
CBcj2Enc_ip_unsigned ip64
Definition Bcj2.h:277
Byte * bufs[BCJ2_NUM_STREAMS]
Definition Bcj2.h:256
const Byte * src
Definition Bcj2.h:258
unsigned tempPos
Definition Bcj2.h:284
Byte flushRem
Definition Bcj2.h:265
Byte isFlushState
Definition Bcj2.h:266
const Byte * srcLim
Definition Bcj2.h:259
Byte temp[8]
Definition Bcj2.h:287
UInt32 relatLimit
Definition Bcj2.h:280
const Byte * lims[BCJ2_NUM_STREAMS]
Definition Bcj2.h:257
UInt64 cacheSize
Definition Bcj2.h:271
EBcj2Enc_FinishMode finishMode
Definition Bcj2.h:262