1 ///////////////////////////////////////////////////////////////////////////////
2 //
3 /// \file memusage.c
4 /// \brief Calculates memory usage using lzma_memory_usage()
5 //
6 // Author: Lasse Collin
7 //
8 // This file has been put into the public domain.
9 // You can do whatever you want with this file.
10 //
11 ///////////////////////////////////////////////////////////////////////////////
12
13 #include "sysdefs.h"
14 #include "lzma.h"
15 #include <stdio.h>
16
17 int
18 main(void)
19 {
20 lzma_options_lzma lzma = {
21 .dict_size = (1U << 30) + (1U << 29),
22 .lc = 3,
23 .lp = 0,
24 .pb = 2,
25 .preset_dict = NULL,
26 .preset_dict_size = 0,
27 .mode = LZMA_MODE_NORMAL,
28 .nice_len = 48,
29 .mf = LZMA_MF_BT4,
30 .depth = 0,
31 };
32
33 /*
34 lzma_options_filter filters[] = {
35 { LZMA_FILTER_LZMA1,
36 (lzma_options_lzma *)&lzma_preset_lzma[6 - 1] },
37 { UINT64_MAX, NULL }
38 };
39 */
40 lzma_filter filters[] = {
41 { LZMA_FILTER_LZMA1, &lzma },
42 { UINT64_MAX, NULL }
43 };
44
45 printf("Encoder: %10" PRIu64 " B\n",
46 lzma_raw_encoder_memusage(filters));
47 printf("Decoder: %10" PRIu64 " B\n",
48 lzma_raw_decoder_memusage(filters));
49
50 return 0;
51 }