Grzegorz Kowal 5efc38b8a1 COMPRESSION, IO: Implement data filters for better compression.
This commit implements two data filters:
1) "shuffle" - reorganizes bytes to group most to less significant parts
   together: |a1|a2|a3|b1|b2|b3| -> |a1|b1|c1|a2|b2|c2|a3|b3|c3|
2) "bytedelta" - additionally stores differences between subsequent
   values: |a1|a2|a3|b1|b2|b3| -> |a1|b1-a1|c1-b1|a2|b2-a2|c2-b2|a3|b3-a3|c3-b3|

For large datasets, in particular in 3D, the compression ratio can be
significantly better after applying these filters.

Inspired by https://aras-p.info/blog/2023/03/01/Float-Compression-7-More-Filtering-Optimization/

Signed-off-by: Grzegorz Kowal <grzegorz@amuncode.org>
2023-07-27 18:35:54 -03:00
..
2023-02-01 18:36:37 -03:00
2023-02-01 18:36:37 -03:00
2023-02-01 18:36:37 -03:00
2023-02-01 18:36:37 -03:00
2023-02-01 18:36:37 -03:00
2023-02-01 18:36:37 -03:00
2023-02-01 18:36:37 -03:00
2023-02-01 18:36:37 -03:00
2023-02-01 18:36:37 -03:00
2023-02-01 18:36:37 -03:00
2023-02-01 18:36:37 -03:00