PAQ8/Paq8.hpp
//----------------------------------------------------------------------------------
// SrcStrm may be an archive with a separate files
// DataSize is size of COMPRESSED data (Includes all file blocks)
SrcStrm may be an archive with a separate files
DataSize is size of COMPRESSED data (Includes all file blocks)
SrcStrm may be an archive with a separate files DataSize is size of COMPRESSED data ( Includes all file blocks )
static inline int strm_decompress(int Lvl, unsigned long DataSize, STRM& SrcStrm, STRM& DstStrm)     
{
 if(Lvl < 0 || Lvl > 9)return -1;
 Encoder* en = new Encoder(Lvl, DECOMPRESS, &SrcStrm); 
 int res = strm_decompress(DstStrm, en, DataSize);
 delete(en);
 return res;
}
static inline int strm_decompress ( int Lvl , unsigned long DataSize , STRM & SrcStrm , STRM & DstStrm ) { if ( Lvl < 0 || Lvl > 9 ) return -1 ; Encoder * en = new Encoder ( Lvl , DECOMPRESS , & SrcStrm ) ; int res = strm_decompress ( DstStrm , en , DataSize ) ; delete ( en ) ; return res ; }
SrcStrm may be an archive with a separate files
DataSize is size of COMPRESSED data (Includes all file blocks)
SrcStrm may be an archive with a separate files DataSize is size of COMPRESSED data ( Includes all file blocks )
// DataSize is known size of a single(all of its blocks) file in SrcStrm // if(!DataSize)DataSize = SrcStrm.fsize() - SrcStrm.ftell();   // Assume that all block until end of src stream belong to a same file