robot-piglet b48cb40b16 Intermediate changes 4 месяцев назад
..
float_huffman_bench b48cb40b16 Intermediate changes 4 месяцев назад
greedy_dict b48cb40b16 Intermediate changes 4 месяцев назад
ut bf0f13dd39 add ymake export to ydb 1 год назад
README.md 1d2e8a8e99 Restoring authorship annotation for <cobat@yandex-team.ru>. Commit 2 of 2. 2 лет назад
codecs.cpp e601ca03f8 Y_VERIFY->Y_ABORT_UNLESS at ^l 1 год назад
codecs.h b50730a77e Restoring authorship annotation for Alexey Bykov <alexei4203@yandex.ru>. Commit 2 of 2. 2 лет назад
codecs_registry.cpp e601ca03f8 Y_VERIFY->Y_ABORT_UNLESS at ^l 1 год назад
codecs_registry.h 9123176b34 Restoring authorship annotation for Ruslan Kovalev <ruslan.a.kovalev@gmail.com>. Commit 2 of 2. 2 лет назад
comptable_codec.cpp 9abfb1a53b Restoring authorship annotation for <yazevnul@yandex-team.ru>. Commit 2 of 2. 2 лет назад
comptable_codec.h 9123176b34 Restoring authorship annotation for Ruslan Kovalev <ruslan.a.kovalev@gmail.com>. Commit 2 of 2. 2 лет назад
delta_codec.cpp 9123176b34 Restoring authorship annotation for Ruslan Kovalev <ruslan.a.kovalev@gmail.com>. Commit 2 of 2. 2 лет назад
delta_codec.h 9123176b34 Restoring authorship annotation for Ruslan Kovalev <ruslan.a.kovalev@gmail.com>. Commit 2 of 2. 2 лет назад
float_huffman.cpp edee5b99e1 Restoring authorship annotation for <ironpeter@yandex-team.ru>. Commit 2 of 2. 2 лет назад
float_huffman.h edee5b99e1 Restoring authorship annotation for <ironpeter@yandex-team.ru>. Commit 2 of 2. 2 лет назад
huffman_codec.cpp 35262078d3 remove unused includes 2 лет назад
huffman_codec.h 042dfdfd13 Restoring authorship annotation for <aprudaev@yandex-team.ru>. Commit 2 of 2. 2 лет назад
pfor_codec.cpp 9123176b34 Restoring authorship annotation for Ruslan Kovalev <ruslan.a.kovalev@gmail.com>. Commit 2 of 2. 2 лет назад
pfor_codec.h 9123176b34 Restoring authorship annotation for Ruslan Kovalev <ruslan.a.kovalev@gmail.com>. Commit 2 of 2. 2 лет назад
sample.h 9123176b34 Restoring authorship annotation for Ruslan Kovalev <ruslan.a.kovalev@gmail.com>. Commit 2 of 2. 2 лет назад
solar_codec.cpp 6b780718b1 Restrict max length of learned prefixes and fix solar codec 1 год назад
solar_codec.h a6f6b22bda Restoring authorship annotation for <udovichenko-r@yandex-team.ru>. Commit 2 of 2. 2 лет назад
tls_cache.cpp 9123176b34 Restoring authorship annotation for Ruslan Kovalev <ruslan.a.kovalev@gmail.com>. Commit 2 of 2. 2 лет назад
tls_cache.h 9123176b34 Restoring authorship annotation for Ruslan Kovalev <ruslan.a.kovalev@gmail.com>. Commit 2 of 2. 2 лет назад
ya.make bf0f13dd39 add ymake export to ydb 1 год назад
zstd_dict_codec.cpp 77b841e1db BIGRT: Optimize memory consumption [nodiff:caesar] 4 месяцев назад
zstd_dict_codec.h b50730a77e Restoring authorship annotation for Alexey Bykov <alexei4203@yandex.ru>. Commit 2 of 2. 2 лет назад

README.md

This is a library of compression algorithms with a unified interface and serialization. See also library/cpp/codecs/static, where a support for statically compiled dictionaries is implemented.

All algorithms have a common ICodec interface (described in codecs.h).

The ICodec interface has the following methods:\     virtual ui8 ICodec::Encode (TMemoryRegion, TBuffer&) const;\             - Input - memory region. Output - filled buffer and the rest of the last byte, if it was not filled to the end.\     virtual void ICodec::Decode (TMemoryRegion, TBuffer&) const;\             - Input - memory region. Output - filled buffer.\     virtual void Save (TOutputStream*) const;\             - Serialization.\     virtual void Load (TInputStream*);\             - Deserialization.\     virtual bool NeedsTraining() const;\             - Returns if it is necessary or not to teach this codec.\     virtual bool PaddingBit() const;\             - Returns which values should fill the free bits of the last byte.\     virtual size_t ApproximateSizeOnEncode(size_t sz) const;\             - Returns an approximate estimate of the size of the result after encoding.\                     For example could be used for a more accurate preallocation of a buffer.\     virtual size_t ApproximateSizeOnDecode(size_t sz) const;\             - Returns an approximate estimate of the size of the result after decoding.\                     For example could be used for a more accurate preallocation of a buffer.\     virtual TString GetName() const;\             - The name of the codec. It is required for registration of the codec in the system of serialization/deserialization.\                     For example, it allows you to save information about which combination of codecs was in use (see below).\     virtual void Learn(ISequenceReader*);\             - The interface for teaching codecs that use information about the distribution of data.

In addition, the library has a number of utilities that allow a more flexible use of it.

In the ICodec class the following methods are available:\     static TCodecPtr GetInstance(const TString& name);\             - Creation of a codec instance by a symbolic name\                     (See GetName() above)\     static void Store(TOutputStream*, TCodecPtr p);\             - Serialization of the codec along with its name\                     Allows you to save information about which particular combination of codecs was used for encoding,\                     and then reassemble the same combination for decoding\     static TCodecPtr Restore(TInputStream* in);\             - Serialization of the codec along with its name\     static TCodecPtr RestoreFromString(TStringBuf data);\             - Loads the codec instance from the string\     static TVector<TString> GetCodecsList();\             - The list of registered codecs