Ppmd7.h (p7zip_15.14.1_src_all) | : | Ppmd7.h (p7zip_16.02_src_all) | ||
---|---|---|---|---|
/* Ppmd7.h -- PPMdH compression codec | /* Ppmd7.h -- PPMdH compression codec | |||
2010-03-12 : Igor Pavlov : Public domain | 2016-05-21 : Igor Pavlov : Public domain | |||
This code is based on PPMd var.H (2001): Dmitry Shkarin : Public domain */ | This code is based on PPMd var.H (2001): Dmitry Shkarin : Public domain */ | |||
/* This code supports virtual RangeDecoder and includes the implementation | /* This code supports virtual RangeDecoder and includes the implementation | |||
of RangeCoder from 7z, instead of RangeCoder from original PPMd var.H. | of RangeCoder from 7z, instead of RangeCoder from original PPMd var.H. | |||
If you need the compatibility with original PPMd var.H, you can use external Ran geDecoder */ | If you need the compatibility with original PPMd var.H, you can use external Ran geDecoder */ | |||
#ifndef __PPMD7_H | #ifndef __PPMD7_H | |||
#define __PPMD7_H | #define __PPMD7_H | |||
#include "Ppmd.h" | #include "Ppmd.h" | |||
skipping to change at line 88 | skipping to change at line 88 | |||
#define Ppmd7_GetContext(p, offs) ((CPpmd7_Context *)Ppmd7_GetPtr((p), (offs)) ) | #define Ppmd7_GetContext(p, offs) ((CPpmd7_Context *)Ppmd7_GetPtr((p), (offs)) ) | |||
#define Ppmd7_GetStats(p, ctx) ((CPpmd_State *)Ppmd7_GetPtr((p), ((ctx)->Stats ))) | #define Ppmd7_GetStats(p, ctx) ((CPpmd_State *)Ppmd7_GetPtr((p), ((ctx)->Stats ))) | |||
#endif | #endif | |||
void Ppmd7_Update1(CPpmd7 *p); | void Ppmd7_Update1(CPpmd7 *p); | |||
void Ppmd7_Update1_0(CPpmd7 *p); | void Ppmd7_Update1_0(CPpmd7 *p); | |||
void Ppmd7_Update2(CPpmd7 *p); | void Ppmd7_Update2(CPpmd7 *p); | |||
void Ppmd7_UpdateBin(CPpmd7 *p); | void Ppmd7_UpdateBin(CPpmd7 *p); | |||
#define Ppmd7_GetBinSumm(p) \ | #define Ppmd7_GetBinSumm(p) \ | |||
&p->BinSumm[Ppmd7Context_OneState(p->MinContext)->Freq - 1][p->PrevSuccess + \ | &p->BinSumm[(unsigned)Ppmd7Context_OneState(p->MinContext)->Freq - 1][p->Pre vSuccess + \ | |||
p->NS2BSIndx[Ppmd7_GetContext(p, p->MinContext->Suffix)->NumStats - 1] + \ | p->NS2BSIndx[Ppmd7_GetContext(p, p->MinContext->Suffix)->NumStats - 1] + \ | |||
(p->HiBitsFlag = p->HB2Flag[p->FoundState->Symbol]) + \ | (p->HiBitsFlag = p->HB2Flag[p->FoundState->Symbol]) + \ | |||
2 * p->HB2Flag[Ppmd7Context_OneState(p->MinContext)->Symbol] + \ | 2 * p->HB2Flag[(unsigned)Ppmd7Context_OneState(p->MinContext)->Symbol] + \ | |||
((p->RunLength >> 26) & 0x20)] | ((p->RunLength >> 26) & 0x20)] | |||
CPpmd_See *Ppmd7_MakeEscFreq(CPpmd7 *p, unsigned numMasked, UInt32 *scale); | CPpmd_See *Ppmd7_MakeEscFreq(CPpmd7 *p, unsigned numMasked, UInt32 *scale); | |||
/* ---------- Decode ---------- */ | /* ---------- Decode ---------- */ | |||
typedef struct | typedef struct | |||
{ | { | |||
UInt32 (*GetThreshold)(void *p, UInt32 total); | UInt32 (*GetThreshold)(void *p, UInt32 total); | |||
void (*Decode)(void *p, UInt32 start, UInt32 size); | void (*Decode)(void *p, UInt32 start, UInt32 size); | |||
End of changes. 3 change blocks. | ||||
3 lines changed or deleted | 3 lines changed or added |