Ich verwende die LZ4-Bibliothek und wenn ich Daten mit
int LZ4_decompress_safe (const char* source, char* dest, int compressedSize, int maxDecompressedSize);
dekomprimiere, möchte ich die maximale Größe der dekomprimierten Daten schätzen. Aber ich kann keine Umkehrfunktion von
int LZ4_compressBound(int isize);
finden, mit der ich die obere Grenze für die dekomprimierten Daten bestimmen kann, die ich als letzten Parameter maxDecompressedSize
an die Dekomprimierungsfunktion übergeben soll.
Andere Kompressionsbibliotheken wie snappy bieten beispielsweise eine solche Funktion.
bool GetUncompressedLength(Source* source, uint32* result);
Was kann ich tun, wenn ich nicht in der Lage bin, die ursprüngliche Datengröße (vor der Kompression) zu speichern und wenn ich nicht übermäßig pessimistisch für die Größe des Puffers sein möchte, den ich zuweisen muss?