-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
🐞 zstd may not be using proper compression levels #112
Comments
See this snippet from clevels.h where the strategy mapping from compression levels are defined. The headers codes WCHSLTL are defined in zstd.h
along with numerous other parameters enumerated in ZSTD_cParameter. Potential
|
Proposed fix in whats-next. Mapping is as follows.
|
Fixed in main and whats-next branches. |
lrzip-next Version
0.10.4
lrzip-next command line
lrzip-next -Z ...
What happened?
I may have misread zstd.h where enumerations for Compression Strategy from 1-9 may have been misinterpreted for Compression Level. Thus, the
lrzip-next
compression level, 1-9, is passed toZSTD_compress
, but zstd permits compression levels from 1-22. Each of those use a compression strategy! These enumerations are selected from a table based on compression level.What was expected behavior?
zstd compression levels would be set correctly between 1-22 or at least 1-19 expanded from
lrzip-next
compression level.Steps to reproduce
See code in
stream.c
where compression strategies are interpreted (possibly) incorrectly.Relevant log output
No response
Please provide system details
OS Distro: Slackware
Kernel Version (uname -a): 6.2.7
System ram (free -h): lots
Additional Context
No response
The text was updated successfully, but these errors were encountered: