| Index: third_party/lzma_sdk/LzmaLib.cc
|
| ===================================================================
|
| --- third_party/lzma_sdk/LzmaLib.cc (revision 0)
|
| +++ third_party/lzma_sdk/LzmaLib.cc (revision 0)
|
| @@ -0,0 +1,52 @@
|
| +/* LzmaLib.c -- LZMA library wrapper
|
| +2008-08-05
|
| +Igor Pavlov
|
| +Public domain */
|
| +
|
| +#include "LzmaEnc.h"
|
| +#include "LzmaDec.h"
|
| +#include "Alloc.h"
|
| +#include "LzmaLib.h"
|
| +
|
| +namespace ots {
|
| +namespace lzma {
|
| +
|
| +static void *SzAlloc(void *p, size_t size) { p = p; return MyAlloc(size); }
|
| +static void SzFree(void *p, void *address) { p = p; MyFree(address); }
|
| +static ISzAlloc g_Alloc = { SzAlloc, SzFree };
|
| +
|
| +MY_STDAPI LzmaCompress(unsigned char *dest, size_t *destLen, const unsigned char *src, size_t srcLen,
|
| + unsigned char *outProps, size_t *outPropsSize,
|
| + int level, /* 0 <= level <= 9, default = 5 */
|
| + unsigned dictSize, /* use (1 << N) or (3 << N). 4 KB < dictSize <= 128 MB */
|
| + int lc, /* 0 <= lc <= 8, default = 3 */
|
| + int lp, /* 0 <= lp <= 4, default = 0 */
|
| + int pb, /* 0 <= pb <= 4, default = 2 */
|
| + int fb, /* 5 <= fb <= 273, default = 32 */
|
| + int numThreads /* 1 or 2, default = 2 */
|
| +)
|
| +{
|
| + CLzmaEncProps props;
|
| + LzmaEncProps_Init(&props);
|
| + props.level = level;
|
| + props.dictSize = dictSize;
|
| + props.lc = lc;
|
| + props.lp = lp;
|
| + props.pb = pb;
|
| + props.fb = fb;
|
| + props.numThreads = numThreads;
|
| +
|
| + return LzmaEncode(dest, destLen, src, srcLen, &props, outProps, outPropsSize, 0,
|
| + NULL, &g_Alloc, &g_Alloc);
|
| +}
|
| +
|
| +
|
| +MY_STDAPI LzmaUncompress(unsigned char *dest, size_t *destLen, const unsigned char *src, size_t *srcLen,
|
| + const unsigned char *props, size_t propsSize)
|
| +{
|
| + ELzmaStatus status;
|
| + return LzmaDecode(dest, destLen, src, srcLen, props, (unsigned)propsSize, LZMA_FINISH_ANY, &status, &g_Alloc);
|
| +}
|
| +
|
| +} // namespace lzma
|
| +} // namespace ots
|
|
|
| Property changes on: third_party/lzma_sdk/LzmaLib.cc
|
| ___________________________________________________________________
|
| Added: svn:eol-style
|
| + LF
|
|
|
|
|