Skip to content

Latest commit

 

History

History
81 lines (61 loc) · 4.17 KB

File metadata and controls

81 lines (61 loc) · 4.17 KB

TODO

JPEG

  • Support optional stripping of EXIF/ICC metadata.
  • Benchmark compression ratio vs. jpegtran.
  • Integrate multiple JPEG optimizers (jpegtran, jpegoptim, jpeg-recompress, guetzli, cjpegli) and select the best result.

WebP

  • Support removal of non-essential chunks (XMP, ICC).

PDF

Ogg / Vorbis

  • Vendor a lightweight Vorbis decoder (e.g. stb_vorbis) to give OggProcessor::raw_equal() a real PCM-based verification for Vorbis streams, same approach as the minimp3 integration for MpegProcessor. Currently raw_equal() just trusts OptiVorbis's documented losslessness guarantee without independently verifying it.

JSON

  • Vendor yyjson as its own proper submodule/dependency instead of reusing the copy bundled inside third_party/mseedout/third_party/libmseed via a shared include path -- JsonProcessor currently only builds because that path happens to be on libchisel's include directories for MseedProcessor's sake.

Archives

  • Add support for 7Z recompression using 7zip SDK.

Zstd

  • ZstdProcessor::get_supported_extensions() only declares .zst, but the README's "Supported formats" table also lists .tzst/.tar.zst (a tar archive compressed as a whole with zstd, not a raw zstd stream). Registering those extensions directly on ZstdProcessor would be wrong as-is: naively decompressing one produces a raw uncompressed .tar, which nothing then re-optimizes or re-wraps back into .tar.zst -- same class of problem ArchiveProcessor already solves for .tgz (gzip-wrapped tar). Needs either dedicated .tzst/.tar.zst handling in ArchiveProcessor (mirroring the .tgz path) or a decision to drop those two extensions from the README instead.

MKV / Matroska

  • Investigate extracting and re-optimizing embedded audio tracks (not just attachments/cover art, already handled) and reinserting them correctly.

CFBF

  • .mdt/.mpd are still listed in get_supported_extensions() but likely belong to the same Jet/ACE database engine family as .mdb (already removed after confirming via magic bytes that .mdb is never actual CFBF -- "Standard ACE DB" signature instead of D0CF11E0). No real .mdt file and no genuine MS-Project .mpd were available on this machine to verify the same way -- needs a real sample before removing them too.

New MIME types / Codecs