aboutsummaryrefslogtreecommitdiff
path: root/src/liblzma/rangecoder/range_decoder.h (follow)
AgeCommit message (Collapse)AuthorFilesLines
2024-02-14liblzma: Silence warnings in --enable-small build.Lasse Collin1-0/+1
2024-02-14liblzma: Silence a warning.Lasse Collin1-1/+1
2024-02-14liblzma: Add comments.Lasse Collin1-2/+9
2024-02-14liblzma: Choose the range decoder variants using a bitmask macro.Lasse Collin1-11/+53
2024-02-14liblzma: Range decoder: Add x86-64 inline assembly.Lasse Collin1-0/+491
It's compatible with GCC and Clang.
2024-02-14liblzma: Range decoder: Add branchless C code.Lasse Collin1-0/+76
It's used only for basic bittrees and fixed-size reverse bittree because those showed a clear benefit on x86-64 with GCC and Clang. The other methods were more mixed and thus are commented out but they should be tested on other archs.
2024-02-14liblzma: LZMA decoder: Optimize loop comparison.Lasse Collin1-1/+9
But now it needs one more local variable.
2024-02-14liblzma: LZMA decoder improvements.Lasse Collin1-14/+128
This adds macros for bittree decoding which prepares the code for alternative C versions and inline assembly.
2024-02-14liblzma: Creates separate "safe" range decoder mode.Jia Tan1-20/+57
The new "safe" range decoder mode is the same as old range decoder, but now the default behavior of the range decoder will not check if there is enough input or output to complete the operation. When the buffers are close to fully consumed, the "safe" operations must be used instead. This will improve speed because it will reduce the number of branches needed for most of the range decoder operations.
2024-02-14Add SPDX license identifier into 0BSD source code files.Lasse Collin1-0/+2
2024-02-14Change most public domain parts to 0BSD.Lasse Collin1-3/+0
Translations and doc/xz-file-format.txt and doc/lzma-file-format.txt were not touched. COPYING.0BSD was added.
2023-09-24liblzma: Change quoting style from `...' to '...'.Jia Tan1-1/+1
This was done for both internal and API headers.
2012-06-28liblzma: Check that the first byte of range encoded data is 0x00.Lasse Collin1-3/+9
It is just to be more pedantic and thus perhaps catch broken files slightly earlier.
2009-04-13Put the interesting parts of XZ Utils into the public domain.Lasse Collin1-12/+5
Some minor documentation cleanups were made at the same time.
2008-08-28Sort of garbage collection commit. :-| Many things are stillLasse Collin1-123/+86
broken. API has changed a lot and it will still change a little more here and there. The command line tool doesn't have all the required changes to reflect the API changes, so it's easy to get "internal error" or trigger assertions.
2008-03-24Replaced the range decoder optimization that used arithmeticLasse Collin1-37/+16
right shift with as fast version that doesn't need arithmetic right shift. Removed the related check from configure.ac.
2008-03-22Take advantage of arithmetic right shift in range decoder.Lasse Collin1-15/+37
2008-01-04Moved range decoder initialization (reading the firstLasse Collin1-27/+60
five input bytes) from LZMA decoder to range decoder header. Did the same for decoding of direct bits.
2007-12-09Imported to git.Lasse Collin1-0/+189