Lasse Collin | d3ba302 | 2008-04-25 13:41:29 +0300 | [diff] [blame] | 1 | /////////////////////////////////////////////////////////////////////////////// |
| 2 | // |
| 3 | /// \file memusage.c |
| 4 | /// \brief Calculates memory usage using lzma_memory_usage() |
Lasse Collin | d3ba302 | 2008-04-25 13:41:29 +0300 | [diff] [blame] | 5 | // |
Lasse Collin | 02ddf09 | 2009-04-13 11:27:40 +0300 | [diff] [blame] | 6 | // Author: Lasse Collin |
Lasse Collin | d3ba302 | 2008-04-25 13:41:29 +0300 | [diff] [blame] | 7 | // |
Lasse Collin | 02ddf09 | 2009-04-13 11:27:40 +0300 | [diff] [blame] | 8 | // This file has been put into the public domain. |
| 9 | // You can do whatever you want with this file. |
Lasse Collin | d3ba302 | 2008-04-25 13:41:29 +0300 | [diff] [blame] | 10 | // |
| 11 | /////////////////////////////////////////////////////////////////////////////// |
| 12 | |
| 13 | #include "sysdefs.h" |
Lasse Collin | 9756fce | 2009-08-27 17:00:22 +0300 | [diff] [blame] | 14 | #include "lzma.h" |
Lasse Collin | d3ba302 | 2008-04-25 13:41:29 +0300 | [diff] [blame] | 15 | #include <stdio.h> |
| 16 | |
| 17 | int |
| 18 | main(void) |
| 19 | { |
Lasse Collin | d3ba302 | 2008-04-25 13:41:29 +0300 | [diff] [blame] | 20 | lzma_options_lzma lzma = { |
Lasse Collin | e114502 | 2008-11-19 20:46:52 +0200 | [diff] [blame] | 21 | .dict_size = (1U << 30) + (1U << 29), |
Lasse Collin | 1dcecfb | 2008-09-27 19:09:21 +0300 | [diff] [blame] | 22 | .lc = 3, |
| 23 | .lp = 0, |
| 24 | .pb = 2, |
| 25 | .preset_dict = NULL, |
| 26 | .preset_dict_size = 0, |
Lasse Collin | 3b34851 | 2008-08-28 22:53:15 +0300 | [diff] [blame] | 27 | .mode = LZMA_MODE_NORMAL, |
Lasse Collin | 1dcecfb | 2008-09-27 19:09:21 +0300 | [diff] [blame] | 28 | .nice_len = 48, |
| 29 | .mf = LZMA_MF_BT4, |
| 30 | .depth = 0, |
Lasse Collin | d3ba302 | 2008-04-25 13:41:29 +0300 | [diff] [blame] | 31 | }; |
| 32 | |
| 33 | /* |
| 34 | lzma_options_filter filters[] = { |
Lasse Collin | 1dcecfb | 2008-09-27 19:09:21 +0300 | [diff] [blame] | 35 | { LZMA_FILTER_LZMA1, |
Lasse Collin | d3ba302 | 2008-04-25 13:41:29 +0300 | [diff] [blame] | 36 | (lzma_options_lzma *)&lzma_preset_lzma[6 - 1] }, |
| 37 | { UINT64_MAX, NULL } |
| 38 | }; |
| 39 | */ |
Lasse Collin | 3b34851 | 2008-08-28 22:53:15 +0300 | [diff] [blame] | 40 | lzma_filter filters[] = { |
Lasse Collin | 1dcecfb | 2008-09-27 19:09:21 +0300 | [diff] [blame] | 41 | { LZMA_FILTER_LZMA1, &lzma }, |
Lasse Collin | d3ba302 | 2008-04-25 13:41:29 +0300 | [diff] [blame] | 42 | { UINT64_MAX, NULL } |
| 43 | }; |
| 44 | |
Lasse Collin | 2291346 | 2009-11-14 19:45:39 +0200 | [diff] [blame] | 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)); |
Lasse Collin | d3ba302 | 2008-04-25 13:41:29 +0300 | [diff] [blame] | 49 | |
| 50 | return 0; |
| 51 | } |