Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6711391
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 26, 20262026-05-26T08:08:03+00:00 2026-05-26T08:08:03+00:00

What are good compression-oriented application programming interfaces (APIs)? Do people still use the 1991

  • 0

What are good compression-oriented application programming interfaces (APIs)?

Do people still use the
1991 “data compression interface” draft standard, and the
1991 “Stream transformation algorithm interface” draft standard.
(Both draft standards by Ross Williams)?
Are there any alternatives to those draft standards?

(I’m particularly looking for C APIs, but links to compression-oriented APIs in C++ and other languages would also be appreciated).

I’m experimenting with some data compression algorithms.
Typically the compressed file I’m producing is composed of a series of blocks,
with a block header indicating which compression algorithm needs to be used to decompress the remaining data in that block — Huffman, LZW, LZP, “stored uncompressed”, etc.

The block header also indicates which filter(s) need to be used to convert the intermediate stream or buffer of data from the decompressor into a lossless copy of the original plaintext — Burrows–Wheeler transform, delta encoding, XML end-tag restoration, “copy unchanged”, etc.

Rather than use a huge switch statement that selects based on the “compression type”, which calls the selected decompression algorithm or filter algorithm, each procedure with its own special number and order of parameters,
it simplifies my code if every algorithm has exactly the same API — the same number and order of parameters, etc.

Rather than waiting for the decompressor to run through the entire input stream before handing its output to the first filter,
It would be nice if the API supported decompressed output data coming out the final filter “relatively quickly” (low-latency) after relatively little compressed data has been fed into the initial decompressor.
It would be nice if the API could be used in systems that have only one thread or process.

Currently I’m kludging together my own internal API,
re-using existing compression algorithm implementations by
writing short wrapper functions to convert between my internal API and the special number and order of parameters used by each implementation.

Is there an already-existing API that I could use rather than designing my own from scratch?
Where can I find such an API?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-26T08:08:04+00:00Added an answer on May 26, 2026 at 8:08 am

    I fear such an “API” does not exist.
    Especially, requirement such as “starting stage-2 while stage-1 is ongoing and unfinished” is completely implementation dependant; and cannot be added later by an API layer.

    Btw, Maciej Adamczyk just tried the same as you.
    He made an open source benchmark comparing multiple compression algorithms over a block-compression scenario. The code can be consulted here :
    http://encode.ru/threads/1371-Filesystem-benchmark?p=26630&viewfull=1#post26630

    He has been obliged to “encapsulate” all these different compressor interfaces in order to cope with the difference.
    Now for the good thing : most compressors tend to have relatively similar C interface when it comes to compressing a block of data.
    AS an example, they can be as simple as this one :
    http://code.google.com/p/lz4/source/browse/trunk/lz4.h
    So, in the end, the adaptation layer is not so heavy.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

My application does a good deal of binary serialization and compression of large objects.
Can anybody recommend a good compression programm wich i can use to compress pictures/videos?
Anyone know a PHP scripts that done a good compression for jQuery?
I'm looking for a good audio compression library for .NET. Anything using MP3 is
Good day, We just converted our web application .NET 1.1 to .NET 2.0. We
Good morning, I am the developer of a medium sized PDA application that will
I'm looking for a Java compression library that: is good for XML has a
I'm creating a compression algorithm in Java ; to use my algorithm I require
I've got PVR texture compression working all happy and good in my iPhone game,
Can anybody suggest a good codec for real-time video compression? Here is a list

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.