5#include "Containers/Map.h"
6#include "Containers/UnrealString.h"
8#include "HAL/CriticalSection.h"
9#include "Misc/CompressionFlags.h"
10#include "Templates/Atomic.h"
11#include "UObject/NameTypes.h"
14template <
typename T>
class TAtomic;
18#define COMPRESS_Default COMPRESS_ZLIB
21
22
23
24#define LOADING_COMPRESSION_CHUNK_SIZE_PRE_369 32768
25#define LOADING_COMPRESSION_CHUNK_SIZE 131072
39
40
41
42
43
47
48
49
50
51
52
53
54
55
56
60
61
62
63
64
65
66
67
68
72
73
74
75
76
77
78
79
80
81
82
83
84
85
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
107
108
109
110
111
112
113
114
115
116
117
118
123
124
125
126
127
132
133
134
138
139
140
148
149
#define LOADING_COMPRESSION_CHUNK_SIZE
FWindowsCriticalSection FCriticalSection
static bool UncompressMemoryStream(FName FormatName, void *UncompressedBuffer, int32 UncompressedSize, IMemoryReadStream *Stream, int64 StreamOffset, int32 CompressedSize, ECompressionFlags Flags=COMPRESS_NoFlags, int32 CompressionData=0)
static FName GetCompressionFormatFromDeprecatedFlags(ECompressionFlags DeprecatedFlags)
static struct ICompressionFormat * GetCompressionFormat(FName Method, bool bErrorOnFailure=true)
static int32 GetMaximumCompressedSize(FName FormatName, int32 UncompressedSize, ECompressionFlags Flags=COMPRESS_NoFlags, int32 CompressionData=0)
static int32 CompressMemoryBound(FName FormatName, int32 UncompressedSize, ECompressionFlags Flags=COMPRESS_NoFlags, int32 CompressionData=0)
static bool VerifyCompressionFlagsValid(int32 InCompressionFlags)
static TAtomic< uint64 > CompressorDstBytes
static FString GetCompressorDDCSuffix(FName FormatName)
static bool UncompressMemory(FName FormatName, void *UncompressedBuffer, int32 UncompressedSize, const void *CompressedBuffer, int32 CompressedSize, ECompressionFlags Flags=COMPRESS_NoFlags, int32 CompressionData=0)
static FCriticalSection CompressionFormatsCriticalSection
static bool IsFormatValid(FName FormatName)
static TAtomic< uint64 > CompressorTimeCycles
static bool CompressMemoryIfWorthDecompressing(FName FormatName, int32 MinBytesSaved, int32 MinPercentSaved, void *CompressedBuffer, int32 &CompressedSize, const void *UncompressedBuffer, int32 UncompressedSize, ECompressionFlags Flags=COMPRESS_NoFlags, int32 CompressionData=0)
static TAtomic< uint64 > CompressorSrcBytes
static uint32 GetCompressorVersion(FName FormatName)
static TMap< FName, struct ICompressionFormat * > CompressionFormats
static bool CompressMemory(FName FormatName, void *CompressedBuffer, int32 &CompressedSize, const void *UncompressedBuffer, int32 UncompressedSize, ECompressionFlags Flags=COMPRESS_NoFlags, int32 CompressionData=0)