Moinak Ghosh
1db822d866
Add Dispack file-level filter in the libarchive chain.
...
Add new file type for Win32-PE executables (Dispack).
Reset file type flag after filter processing for better compression.
Fix array index handling for file type list.
2014-12-20 11:24:09 +05:30
Moinak Ghosh
9a5361f010
Misclleanous cleanups.
...
Fix some formatting.
Increase metadata chunk size slightly.
2014-12-19 19:15:39 +05:30
Moinak Ghosh
2cd41ec257
Revamp Filter handling code.
...
1) Really avoid adding filter xattr for non-processed files.
2) Clean up filter error handling.
3) Avoid libarchive data writes in filter callbacks.
4) Have libarchive data writes in a single place.
5) Properly handle skipping filter processing for a file.
6) Fix temporary file pathname handling.
2014-12-14 23:37:40 +05:30
Moinak Ghosh
753360e479
Tweak some data type settings.
2014-11-19 20:19:16 +05:30
Moinak Ghosh
3259c7ced0
Fix sub-type count.
2014-10-27 21:23:03 +05:30
Moinak Ghosh
b7804a0caa
Improve file sorting algorithm.
...
Add more file extension names.
Fix data type mask size.
2014-10-27 19:23:03 +05:30
Moinak Ghosh
4fedebc607
Dict filter work in progress.
2014-09-18 22:51:25 +05:30
Moinak Ghosh
af39994a59
Working Wavpack filter for compressing WAV filies.
...
Improved error handling of filter routines.
Improved verbose logging.
2014-09-17 20:34:38 +05:30
Moinak Ghosh
fd087a8949
Step 0 of adding WavPack filter - does not work yet.
...
WAV file detection.
Rename libarchive dir to be generic.
2014-09-14 23:56:38 +05:30
Moinak Ghosh
3e9a46a602
Add tagging of filter-processed entries with custom XATTR.
...
Add magic number based detection of JPEG and PNM formats.
2014-09-11 20:29:53 +05:30
Moinak Ghosh
9ecbbbafd0
Pull in private copy of libarchive to add pcmpress-specific functionality.
...
First step to add packPNM support.
2014-09-11 18:34:43 +05:30
Moinak Ghosh
0433452b37
Miscellaneous refactoring.
...
Add some headers for OSX.
2014-05-24 23:52:30 +05:30
Moinak Ghosh
63bef473cc
Working MAC OS X port.
...
Compatibility layer for semaphore handling.
2014-05-04 21:11:31 +05:30
Moinak Ghosh
4b037f0ed7
More portability tweaks.
2014-05-04 11:54:33 +05:30
Moinak Ghosh
6fba8aa8ac
More OSX compatibility code.
...
Fix new warnings with Gcc 4.8.
2014-04-28 00:12:51 +05:30
Moinak Ghosh
683c3e48b5
Detect some DICOM formats and use BSC for DICOM data.
2014-01-01 19:44:58 +05:30
Moinak Ghosh
ea345a902a
Overhaul documentation part #1
...
Detect and handle uncompressed PDF files using libbsc.
Force binary/text data detection for tar archives.
Get rid of unnecessary CLI option.
Add full pipeline mode check when archiving.
2013-12-30 23:24:37 +05:30
Moinak Ghosh
5521955a94
Detect AR archives and set the type.
...
Re-use a less common type code for AR.
Use Dispack generically for all executables and AR archives.
2013-12-18 23:00:39 +05:30
Moinak Ghosh
5e484f0694
Use libbsc for AVI and MP4 files.
2013-12-04 20:07:52 +05:30
Moinak Ghosh
3f62cdf7d5
Use Libbsc for MP4 and FLAC files.
...
Change some rare file type codes to indicate some common types.
2013-12-03 21:56:07 +05:30
Moinak Ghosh
dfeea8c19b
Avoid Delta2,LZP for TIFF files. Negatively impacts compression.
2013-11-29 19:47:57 +05:30
Moinak Ghosh
306f145f22
Use libbsc/ppmd for BMP files.
...
Fix extension based hashing.
Do not append .pz extension to filenames already having it.
Some code formatting changes.
2013-11-28 22:42:51 +05:30
Moinak Ghosh
0192790c02
Add Dispack filter with auto-detection of x86 executables in archive mode.
...
More elaborate magic header based detection of 32-bit and 64-bit x86 binaries.
Always use fast-mode LZ4 in Adaptive modes.
2013-11-24 19:45:58 +05:30
Moinak Ghosh
1e2c3e479a
Optimize preprocessed compression and avoid a bunch of memory copies.
...
Fix a crash.
Add a few more file types.
More comments.
2013-11-22 20:44:26 +05:30
Moinak Ghosh
11584cab52
Add fast handling of totally incompressible data (like Jpegs) in adaptive modes.
...
Add function to indicate totally incompressible data when archiving.
Reformat if statements in some places to reduce branching.
2013-11-15 21:06:23 +05:30
Moinak Ghosh
e90c52e516
Work in progress changes for packJPG encoding and decoding.
...
Enhance custom LibArchive filter functionlity.
2013-11-13 23:28:01 +05:30
Moinak Ghosh
6aacd903ff
Structured handling of file types.
...
Handling of already compressed data based on compression algorithm.
Add a few more extension types.
2013-11-09 16:46:19 +05:30
Moinak Ghosh
cae9de9b2e
Leverage file type detection(archiver) to improve compression performance.
...
Use detected file/data type(archiver) for Adaptive compression modes.
Update type flags and add more extensions.
2013-11-08 23:50:28 +05:30
Moinak Ghosh
991482403b
Add extension based file type detection and setting segment data type.
...
Use Bob Jenkins Minimal Perfect Hash to check for known extensions.
Use semaphore signaling and direct buffer copy for extraction.
Miscellaneous fixes.
2013-11-07 21:48:54 +05:30
Moinak Ghosh
7ed532133e
Avoid using pipe during archive creation. Use semaphores and direct memory copy.
2013-11-02 23:43:59 +05:30
Moinak Ghosh
8e4b774c8c
More changes for archiving.
...
Allow multiple filenames on command line when archiving.
Remove unneded small block writes with libarchive.
2013-10-27 20:36:48 +05:30
Moinak Ghosh
7f81869874
Archiving support using Libarchive: Work in progress changes.
...
Change all perror() calls to use logger.
Make the config script a little verbose.
2013-10-20 23:54:27 +05:30
Moinak Ghosh
8c1f4ebe61
Add a simple log facility.
...
Refactor all printfs to use log facility.
2013-10-02 20:45:33 +05:30
Moinak Ghosh
fa78621cbf
Cleanup pointer casting in code to use macros.
2013-09-22 20:11:15 +05:30
Moinak Ghosh
38c0869f5c
Update Changelog and tweak free memory detection for 2.4 release.
...
Add identifiers to error messages for clarity.
Fix init of dedupe block size.
Tweak free memory detection to include swap and shared memory consideration.
2013-09-05 21:12:37 +05:30
Moinak Ghosh
7743792018
Make default symbol visibility to hidden with explicit public visibility specified.
...
Add missing static scope to a few more places.
2013-06-03 20:51:00 +05:30
Moinak Ghosh
c859cf35d5
Make Pcompress functionality into a library - initial changes.
2013-06-02 20:54:33 +05:30
Moinak Ghosh
c6da2325e3
Allow SKEIN to be used as a Global Dedupe chunk lookup hash.
2013-05-04 15:59:29 +05:30
Moinak Ghosh
6e4d45b644
Fix crash with some older GCC versions. Reported in issue #7 .
2013-05-01 19:27:43 +05:30
Moinak Ghosh
d29f125ca7
Clean up temp cache dir handling.
...
Allow temp dir setting via specific env variable to point to fast devices like ramdisk,ssd.
2013-04-22 22:57:31 +05:30
Moinak Ghosh
c0b4aa0116
Many optimizations and changes to Segmented Global Dedupe.
...
Use chunk hash based similarity matching rather than content based.
Use sorting to order hash buffer rather than min-heap for better accuracy.
Use fast CRC64 for similarity hash for speed and lower memory requirements.
2013-04-21 18:11:16 +05:30
Moinak Ghosh
50251107de
Work in progress changes for Segmented Global Deduplication.
2013-04-09 22:23:51 +05:30
Moinak Ghosh
876796be5c
Work in progress changes for global dedupe.
2013-03-21 22:00:38 +05:30
Moinak Ghosh
b7fdeb08bc
Work in progress global dedupe changes.
2013-03-20 22:47:03 +05:30
Moinak Ghosh
f8f23e5200
Major License text cleanup.
2013-03-07 20:26:48 +05:30
Moinak Ghosh
cf053c0257
Fix increment of XSalsa20 192-bit nonce value.
...
Handle nonce bytes in endian neutral way.
2013-03-04 23:48:12 +05:30
Moinak Ghosh
6badbcaea7
Make global dedupe bits buildable and fix errors.
...
Rename Adaptive compression type constants to avoid conflict with global constants.
2013-02-17 21:05:40 +05:30
Moinak Ghosh
1eae57c8a2
Starting changes for single-file global dedupe.
2013-02-12 21:53:04 +05:30
Moinak Ghosh
d08b5ea399
Add optimized BLAKE2 implementations with runtime detection of CPU capability (SSE/AVX).
...
Minor cleanups.
2013-01-26 15:39:10 +05:30
Moinak Ghosh
26bb137257
Changes for generalized runtime SSE/AVX/XOP detection.
...
Multi instruction set XXhash build with runtime selection.
Extend CPUID code to detect more instruction sets.
Add options for BLAKE2 hash.
Move GCC builtins into utils header.
Bump file format version number due to extended digest flags.
Add descriptions to digest list.
2013-01-25 00:10:12 +05:30