11 namespace SWC {
namespace Core {
40 int level,
size_t a_pre_alloc,
size_t a_commit_size)
42 cstream(ZSTD_createCStream()),
43 has_data(false), plain_size(0),
44 tmp_buff(), out_buff() {
46 ZSTD_initCStream(
cstream, level ? level : ZSTD_CLEVEL_DEFAULT)))
49 ZSTD_CCtx_setParameter(
cstream, ZSTD_c_checksumFlag, 1)))
76 ZSTD_inBuffer inBuff = { ptr, len, 0 };
86 if(ZSTD_isError(remain)) {
106 if(ZSTD_isError(remain)) {
124 int level,
size_t a_pre_alloc,
size_t a_commit_size)
126 cstream(ZSTD_createCStream()) {
128 ZSTD_initCStream(
cstream, level ? level : ZSTD_CLEVEL_DEFAULT)))
130 else if(ZSTD_isError(
131 ZSTD_CCtx_setParameter(
cstream, ZSTD_c_checksumFlag, 1)))
133 else if(ZSTD_isError(
134 ZSTD_CCtx_setParameter(
cstream, ZSTD_c_contentSizeFlag, 1)))
146 ZSTD_outBuffer out_buff = {tmp_buff.
base, tmp_buff.
size, 0};
148 size_t remain = ZSTD_compressStream2(
149 cstream, &out_buff, &input, ZSTD_e_end);
150 if(remain || ZSTD_isError(remain)) {
154 tmp_buff.
ptr += out_buff.pos;
156 output.
set(tmp_buff);
162 Encoder::Type a_encoder,
size_t a_pre_alloc,
size_t a_commit_size)
178 output.
set(tmp_buff);
217 : dstream(ZSTD_createDStream()),
219 offset(0), frame_complete(true),
221 if(ZSTD_isError(ZSTD_initDStream(
dstream)))
255 if(remain == ZSTD_CONTENTSIZE_ERROR || remain == ZSTD_CONTENTSIZE_UNKNOWN)
266 remain = ZSTD_decompressStream(
dstream, &out_buff, &in_buff);
267 if(!out_buff.pos || ZSTD_isError(remain))
276 if(in_buff.size > in_buff.pos) {