1 /* XzEnc.h -- Xz Encode
2 2017-06-27 : Igor Pavlov : Public domain */
14 #define XZ_PROPS__BLOCK_SIZE__AUTO LZMA2_ENC_PROPS__BLOCK_SIZE__AUTO
15 #define XZ_PROPS__BLOCK_SIZE__SOLID LZMA2_ENC_PROPS__BLOCK_SIZE__SOLID
26 void XzFilterProps_Init(CXzFilterProps
*p
);
31 CLzma2EncProps lzma2Props
;
32 CXzFilterProps filterProps
;
35 int numBlockThreads_Reduced
;
36 int numBlockThreads_Max
;
38 int forceWriteSizesInHeader
;
42 void XzProps_Init(CXzProps
*p
);
45 typedef void * CXzEncHandle
;
47 CXzEncHandle
XzEnc_Create(ISzAllocPtr alloc
, ISzAllocPtr allocBig
);
48 void XzEnc_Destroy(CXzEncHandle p
);
49 SRes
XzEnc_SetProps(CXzEncHandle p
, const CXzProps
*props
);
50 void XzEnc_SetDataSize(CXzEncHandle p
, UInt64 expectedDataSiize
);
51 SRes
XzEnc_Encode(CXzEncHandle p
, ISeqOutStream
*outStream
, ISeqInStream
*inStream
, ICompressProgress
*progress
);
53 SRes
Xz_Encode(ISeqOutStream
*outStream
, ISeqInStream
*inStream
,
54 const CXzProps
*props
, ICompressProgress
*progress
);
56 SRes
Xz_EncodeEmpty(ISeqOutStream
*outStream
);