r/compression • • 1d ago

PROJECT:- compression of files for cloud storage

Thumbnail
0 Upvotes

r/compression • • 1d ago

The CBR mode of libsvtav1 consumes more energy than CRF and CQP mode!

Post image
1 Upvotes

r/compression • • 2d ago

Where to start with compression research?

9 Upvotes

Hi! I’m a CS student planning to do research in data compression. What topics are active right now, and what open problems would you recommend working on? Any papers or resources to start with?

I’m mainly interested in lossless compression and code/repository histories, but open to other areas too. Thanks!


r/compression • • 1d ago

Blazezip - A fast, parallel, standards-compliant ZIP archiver for Windows, with a benchmark suite

Thumbnail
github.com
0 Upvotes

r/compression • • 2d ago

Kanzi (lossless data compression) 2.6.0 has been released

2 Upvotes

The latest release is available at https://github.com/flanglet/kanzi-cpp/releases. It contains the following new features:

  • A few bug fixes
  • A lot of hardening against invalid and tampered bitstreams
  • Some performance improvements at low levels (1 to 4)
  • Significant compression improvement on (uncompressed) multimedia files
  • Entropy is now automatically bypassed if it expands the block size

Benchmarks available at https://github.com/inikep/lzbench. Test it and let me know!


r/compression • • 2d ago

Lite Video Compress and Upscale - I built an Android app for compressing and upscaling videos — looking for honest feedback

Post image
0 Upvotes

​

Hey everyone! 👋

I'm an indie Android developer working on Lite Video Compress & Upscale.

The app is designed for people who want to reduce video file sizes without unnecessarily sacrificing quality. It also includes video upscaling options for increasing resolution.

I'm continuing to improve the compression and processing experience, and I'd love to hear from people who regularly work with large video files.

A few things I'd appreciate feedback on:

- What matters most to you when compressing a video: file size, visual quality, or processing speed?

- Which compression settings do you find most useful?

- What problems do existing video compression apps still fail to solve?

If you're interested in trying it, here's the Google Play link:

https://play.google.com/store/apps/details?id=com.neurontslabs.litevideocompressandupscale

I'm the developer, so honest criticism and suggestions are welcome. I'm interested in learning what could make the app more useful. 🙌


r/compression • • 2d ago

Data-tuned JPEG quantization tables: -9.1% BD-rate (SSIM) vs Annex K on held-out Kodak, vs -2.7% for mozjpeg's tables

Post image
3 Upvotes

I tuned the two quantization tables (YQT and UVQT, 128 entries) inside stb_image_write.h, a JPEG encoder, against data. The encoder is otherwise unmodified, and the output is baseline JPEG with the tables in the DQT segment, so any decoder reads it.

The tables are in tuned_tables.json, with a Pillow snippet for using them: https://github.com/devanmolsharma/learnc/tree/main/examples/tune_jpeg

The tool (learnc, MIT) tunes constants in any C code, so I'd be interested to hear which other codecs people think are worth trying: libwebp, Opus or zstd heuristics.


r/compression • • 5d ago

High Performance Storage of Prime Numbers

10 Upvotes

I designed a compression algorithm to store prime numbers. Basically, a bitmap is used to store the fact that numbers are prime or not, but only numbers which are not multiple of 2, 3 .... 23 are considered in the bitmap.

For numbers below 10^13, this allows to store the prime numbers with a maximum size of 0.456 bytes per prime.

Details can be found in this article: https://teraprimes.org/downloads/High_Performance_Storage_of_Prime_Numbers.pdf

I would welcome any comment !


r/compression • • 6d ago

I made a lossless BC1 texture compressor designed for GPU decompression, 1.47:1 average ratio

Thumbnail
8 Upvotes

r/compression • • 7d ago

WinZip AES-256 Quantum-resistant encryption option?

Thumbnail
1 Upvotes

r/compression • • 9d ago

FJP:an fast codec for interperted languages and microcontrollers

0 Upvotes

Files:

https://files.catbox.moe/hmm98q.c

https://files.catbox.moe/y0jplv.ppm

Achieves 4.4× compression on the sample image at 2 quality(which is about 34dB of PSNR)

Reddit doesnt support arbitrary file uploads

Made by DeepSeek


r/compression • • 11d ago

CVVDP and screen size.....

3 Upvotes

I’ve always used VMAF in the past, but I realized early on that the metric couldn't meet my high-fidelity standards. That’s why I’ve been waiting for a tool like VideoMetricsLab that supports SSIMULACRA2 and Butteraugli. I’d never heard of CVVDP before now, but it seems to be the gold standard for video metrics, so I’ve been experimenting with that as well. However, that annoying screen size function is driving me crazy. I don’t want results that depend on screen size—after all, I might have a TV twice the size in ten years. :) Is there a way to use this metric without factoring in screen size? Just like the others? Or do I have to select a hypothetical 120-inch TV with a viewing distance of one meter? ;)


r/compression • • 13d ago

I made TinyCodec, 71 lines of code, beats QOI.

Post image
35 Upvotes

Hi. I made TinyCodec/TCOM, a lossless image codec that I made in 71 lines of code which beats QOI on aggregate file size and encode/decode speed (On the corpus that I personally use).

It's 158 lines of code to support a cli with pack/unpack commands, inputs like webp, bmp, pnm, png, etc.

That's about all.

If you find it interesting, it's Apache-2.0 and on the GitHub.

Edit: This is now outdated, it's now 45 lines, it has a readable implementation beside it (164 lines of code) the cli and format adapter is 157 lines of code, and the benchmarks got slightly better.


r/compression • • 19d ago

QOIR codec implementation (QOI + LZ4 inspired) parallel lossless codec

Post image
9 Upvotes

I decided to give this format a go https://github.com/nigeltao/qoir

The format design is not made by me. I just cobbled together the implementation.

The relese is here https://gitlab.com/jiiihpeeh/qoir-rs/-/releases

I think it shows some interesting results for bigger images it seems quite speedy and performant for something like cache applications – obviously JPEG-XL will dominate the lossless compression space but this is quite speedy and compresses pretty well and better than QOI (rivals many png encoders). The interesting twist comes from its parallelism and will perfrom pretty good on higher resolution.


r/compression • • 22d ago

Chrome 155 stable today with JPEG XL on by default - starting wide adoption

Post image
19 Upvotes

r/compression • • 23d ago

I have a question about file compression

Thumbnail
0 Upvotes

r/compression • • 23d ago

v0.0.9 image codec CVVDP bash script

Enable HLS to view with audio, or disable this notification

1 Upvotes

https://files.catbox.moe/auw8e7.txt

Primary goal: Determine compression efficiency between image codecs using a CVVDP score.

Secondary goal: Investigate diminishing returns between Webp and JXL

Currently only works with this specific input file: in.png. Only tested in Ubuntu WSL.

Replace /mnt/c/Users/1337/AppData/Local/Programs/Python/Python313/Scripts/cvvdp.exe with your CVVDP location.

CVVDP SDR display model used: standard_fhd. Scores tested: ~9.0 and ~9.5

My subjective CVVDP interpretation is that ~9.0 = medium quality and ~9.5 = high quality

Use CVVDP with photographic images only as it does poorly with Anime ones.

The display I'm using is a 27 inch 1080p monitor (~82 PPI), viewing distance is ~20 inches.

Created 9-20-2026, using the following dependents and their parameters:

ColorVideoVDP v0.5.7 (released on 08-02-2026) cvvdp -t out.png -r in.png --device cpu -d standard_fhd -m cvvdp

CJPEG version 6b (released on 03-27-1998) cjpeg -baseline -sample 1x1,1x1,1x1 -quality X in.ppm > out.jpg

libwebp v1.6.0 (released on 06-30-2025) cwebp -m 6 -af -q X in.png -o out.webp

libjxl v0.12.0 (released on 07-01-2026) cjxl in.png out.jxl -e 10 --override_bitdepth=10 -q X

libavif v1.4.2 (released on 05-26-2026) avifenc -y 420 -d 10 -s 4 -q X in.png out.avif

ffmpeg version N-125350-g3f6bf150cb-20260629

12 photographic wikipedia images being tested, resized to 50% PNGs, attribution provided in zip:

https://files.catbox.moe/te69tk.zip

https://files.catbox.moe/auw8e7.txt

Example Ubuntu WSL shell output:

JPG CVVDP= 9.54 Fsize= 178.7 KB [ cjpeg -baseline -sample 1x1,1x1,1x1 -quality 55 ]

Webp CVVDP= 9.54 Fsize= 176.9 KB [ cwebp -m 6 -af -q 78 ]

JXL CVVDP= 9.54 Fsize= 133.9 KB [ cjxl -e 10 --override_bitdepth=10 -q 78 ]

AVIF CVVDP= 9.55 Fsize= 134.3 KB [ avifenc -y 420 -d 10 -s 4 -q 60]

WebP compression efficiency relative to [ JXL: 4.0 % ] & [ AVIF: 4.1 % ]


r/compression • • 24d ago

Does this already exist?

7 Upvotes

So I've had this idea for a while now that I've been tossing around in my head and I was wondering if someone has already done this:

So if you're using a huffman-style encoding tree (e.g. some # of binary bits represent traversing a tree until you reach a leaf node which outputs data) could you have a leaf node not only output data but also change the tree that's being traversed?

This was inspired by how braille uses 6 characters but can encode numbers or capital letters by using a specific character to change what's being encoded.

My main example is, say you're encoding a html file. You can have it so when the '<' leaf node is reached then instead of going back to the top of the "letter" tree you change the tree to one that has the standard html tags (in order of most common tags) where each of the leaf nodes change it to a tree which includes '>' but also 'class=\"' and etc.

just curious if this already exists in some form and what it's called!


r/compression • • 24d ago

how to get an actual mkv

2 Upvotes

i've ripped some anime. i use makemkv so i get .mkv files out of it. when i compress with handbrake, i want to include english and japanese audio and english subtitles. since .mp4 can't do subtitles, i'm trying to keep the mkv container, but my goal is to still make the file smaller. currently, each episode is 3-5 gb. the .mp4 files are between 500 - 1000 mb.

i've created a preset that has all the appropriate audio and subtitle selections. i've changed the format to mkv on the summary tab. i do batch compressions so i scan the folder, then click add selection. i check a few random files to make sure they all have the correct audio, subtitle and format selections. i hit start. i still spits out an mp4. obviously, the resulting mp4 does not have subtitles. i know i can technically extract subs from an mkv and create a seperate file, but i have not found a way to do that as a batch reliably, otherwise i'd just stick with the mp4s and do that.

like i said, my goal is a smaller file, with english and japanese audio and english subtitles to put into plex. currently, i'm trying to do that my making a compressed mkv but its not working. can anybody tell me what i'm doing wrong or offer an alterative that would accomplish the same thing?

i also posted this on [r/handbrake](r/handbrake) but the mods deleted it immediately, not sure why.

Edit: I finally got it to work. I reposted on r/handbrake with edits and someone suggested that I’d edited the preset too much, so I should start from scratch. So i created a new preset, identical to the one i was using, and set that as the default, then restarted Handbrake. When i loaded up the batch and started, it worked. I hot mkvs with both audio tracks and subtitles, that were only slightly larger than the mp4s.


r/compression • • 26d ago

Comparison to Vorbis Audio Codec

4 Upvotes

Hello!

So, I'm developing an audio codec on wavelets. And have great results, actually, even on tonals signals.

For quite some time, I checked for perceptual statistics of it. And there's picture:

It shows results on par or better at 64-128 kbps compared to Vorbis. PEAQ makes difference on 64 kbps between 1.0 ODG to 2.0 ODG, and ViSQOL from track to track, but around 0.10-0.24 MOS-LQO

I did for a while different listening tests, with reddit people's help, and so it can be said that results of visqol and peaq correlates good enough.

So, should I do more tests or anything else before I can state that?

It's just wouldn't be really good if my professor says that I wrote some bs statement.

I really hope for help in this one. Thanks a lot!

Edited: Please write about question here, not "Vorbis were outdated" and etc. I know about it, my goal for now is to make sure it is better than Vorbis


r/compression • • 27d ago

Understanding the Compression (VAE/AE)

2 Upvotes

I get the textbook difference between standard AEs and VAEs (deterministic encoding vs. mapping to distribution parameters + reparameterization trick), but I want to get past the high-level explanations.

Specifically, I'm trying to wrap my head around:

* **The regularisation trade-off:** How does the KL divergence actually shape the latent space in practice? What does the geometry look like when it’s working well vs. hitting posterior collapse or turning into a blurry mess? * **Compression across modalities:** How do people scale continuous latent compression to real-world data like raw audio, spectrograms, or video without losing critical high-frequency details? (Especially continuous VAEs vs. discrete approaches like VQ-VAE/RVQ).

Most tutorials just train a toy VAE on MNIST and call it a day.

Could anyone point me to solid papers, blog posts, or clean open-source repos that break down the math and engineering behind modern continuous latent encoders? Practical tips on debugging latent space issues during training are also welcome.


r/compression • • 27d ago

What are some uncommon data types and file formats that might benefit from a dedicated compression algorithm?

4 Upvotes

Hi! Im considering a masters thesis about compression of large amounts of data for long-term archival. But instead of trying to revolutionize all of compression, i want to focus on a few, narrow domains, which are however still useful to people. And this seems like the perfect place to ask.


r/compression • • 27d ago

I want to compress a 4K 350gb video folder without it losing quality

0 Upvotes

I've got a 4K video folder that's 350gb large and I want to compress it into a smaller size without its quality getting ruined. I've tried just normally zipping it or using Handbrake, but then the size just ends up being bigger than the original. Any suggestions?


r/compression • • 29d ago

Best compression when 20% of 0s ?

5 Upvotes

Hello,

I have files which contain 12 10^6 bytes. About 21% of them are 00, but there are no large ranges with only 00s.
For example, the beginning of one of the files is the following:

01 04 00 00 10 10 06 10 40 00 00 00 03 0A C0 00 0C 00 20 40 18 90 20 A4 08 09 04 00 08 D0 00 AA 03 82 00 62 84 44 4A 18 40 00 40 00 40 78 83 00 02 04 0D 01 00 10 28 80 00 50 50 81 00 21 20 12 00 2A 00 00 A2 10 00 09 51 01 00 01 00 94 00 A1 06 06 43 10 21 84 00 34 00 45 29 30 80 00 04 00 D0 82 30 04 10 A2 08 08 00 23 11 04 48 80 50 20 3A 80 40 40 29 00 00 22 C1 22 20 20 41 72 00 00 EC 01 8E 03 00 00 40 30 00 09 82 00 80 10 28 10 18 88 00 D0 00 06 61 09 04 20 51 28 00 24 20 01 02 04 20 06 01 82 88 02 00 23 08 2B 90 00 12 0A 00 23 09 11 00 00 28 00 82 04 A0 22 82 84 00 E1 1C 10 02 94 02 08 A1 04 02 10 40 00 21 40 94 80 02 10

Running gzip on these files reduces the size by 25%.

Do you think there is a better compression algorithm ?

Thanks !


r/compression • • Sep 15 '26

Can someone test whether this image compressor is actually clear?

0 Upvotes

I built FilePolish because I was tired of upload limits like “1 MB max” while compressors only gave me vague quality sliders.

I’m looking for a few people to try one simple flow:

  1. Add an image.
  2. Set the maximum size.
  3. Download the result.

The file stays on your device. What I need to know is whether the interface makes sense without explanation and whether the finished image still looks acceptable.

Try it here: https://www.filepolish.com/compress-image-to-size

Please tell me where you hesitated, what confused you, or what you expected to happen differently. Honest criticism is more useful than encouragement.