data_compression.h 894 B

1234567891011121314151617181920212223
  1. // Copyright 2019 yuzu Emulator Project
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #pragma once
  5. #include <vector>
  6. #include "common/common_types.h"
  7. namespace Compression {
  8. // Compresses a source memory region with LZ4 and returns the compressed data in an vector. If
  9. // use_LZ4_high_compression is true, the LZ4 subalgortihmn LZ4HC is used with the highst possible
  10. // compression level. This results in a smaller compressed size, but requires more CPU time for
  11. // compression. Data compressed with LZ4HC can also be decompressed with the default LZ4
  12. // decompression function.
  13. std::vector<u8> CompressDataLZ4(const u8* source, std::size_t source_size,
  14. bool use_LZ4_high_compression);
  15. std::vector<u8> DecompressDataLZ4(const std::vector<u8>& compressed, std::size_t uncompressed_size);
  16. } // namespace Compression