lzma2_encoder.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. ///////////////////////////////////////////////////////////////////////////////
  2. //
  3. /// \file lzma2_encoder.h
  4. /// \brief LZMA2 encoder
  5. ///
  6. // Authors: Igor Pavlov
  7. // Lasse Collin
  8. //
  9. // This file has been put into the public domain.
  10. // You can do whatever you want with this file.
  11. //
  12. ///////////////////////////////////////////////////////////////////////////////
  13. #ifndef LZMA_LZMA2_ENCODER_H
  14. #define LZMA_LZMA2_ENCODER_H
  15. #include "common.h"
  16. /// Maximum number of bytes of actual data per chunk (no headers)
  17. #define LZMA2_CHUNK_MAX (UINT32_C(1) << 16)
  18. /// Maximum uncompressed size of LZMA chunk (no headers)
  19. #define LZMA2_UNCOMPRESSED_MAX (UINT32_C(1) << 21)
  20. /// Maximum size of LZMA2 headers
  21. #define LZMA2_HEADER_MAX 6
  22. /// Size of a header for uncompressed chunk
  23. #define LZMA2_HEADER_UNCOMPRESSED 3
  24. extern lzma_ret lzma_lzma2_encoder_init(
  25. lzma_next_coder *next, const lzma_allocator *allocator,
  26. const lzma_filter_info *filters);
  27. extern uint64_t lzma_lzma2_encoder_memusage(const void *options);
  28. extern lzma_ret lzma_lzma2_props_encode(const void *options, uint8_t *out);
  29. extern uint64_t lzma_lzma2_block_size(const void *options);
  30. #endif