OLD | NEW |
(Empty) | |
| 1 /////////////////////////////////////////////////////////////////////////////// |
| 2 // |
| 3 /// \file filter_common.c |
| 4 /// \brief Filter-specific stuff common for both encoder and decoder |
| 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 #ifndef LZMA_FILTER_COMMON_H |
| 14 #define LZMA_FILTER_COMMON_H |
| 15 |
| 16 #include "common.h" |
| 17 |
| 18 |
| 19 /// Both lzma_filter_encoder and lzma_filter_decoder begin with these members. |
| 20 typedef struct { |
| 21 /// Filter ID |
| 22 lzma_vli id; |
| 23 |
| 24 /// Initializes the filter encoder and calls lzma_next_filter_init() |
| 25 /// for filters + 1. |
| 26 lzma_init_function init; |
| 27 |
| 28 /// Calculates memory usage of the encoder. If the options are |
| 29 /// invalid, UINT64_MAX is returned. |
| 30 uint64_t (*memusage)(const void *options); |
| 31 |
| 32 } lzma_filter_coder; |
| 33 |
| 34 |
| 35 typedef const lzma_filter_coder *(*lzma_filter_find)(lzma_vli id); |
| 36 |
| 37 |
| 38 extern lzma_ret lzma_raw_coder_init( |
| 39 lzma_next_coder *next, lzma_allocator *allocator, |
| 40 const lzma_filter *filters, |
| 41 lzma_filter_find coder_find, bool is_encoder); |
| 42 |
| 43 |
| 44 extern uint64_t lzma_raw_coder_memusage(lzma_filter_find coder_find, |
| 45 const lzma_filter *filters); |
| 46 |
| 47 |
| 48 #endif |
OLD | NEW |