Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

create 7-Zip plugin #413

Closed
StephanBusch opened this issue Aug 19, 2016 · 5 comments
Closed

create 7-Zip plugin #413

StephanBusch opened this issue Aug 19, 2016 · 5 comments

Comments

@StephanBusch
Copy link

please create a plugin for 7-Zip so that this open and free archiver can also compress images using FLIF.
This would also help making Brotli more famous in the world.

there are already plugins that work with 7-Zip (including descriptions and sources):

ZSTD

https://github.com/mcmilk/7-Zip-Zstd

LZHAM
http://richg42.blogspot.de/search?updated-max=2015-12-03T16:22:00-08:00&max-results=7&start=21&by-date=false
https://github.com/richgel999/lzham_codec_devel

@eustas
Copy link
Collaborator

eustas commented Aug 24, 2016

Creating plugin is a nice initiative, but... then it will be a painful experience for users: they expect that everything works out of the box. Perhaps, it will be more efficient to negotiate with Igor Pavlov (7-Zip author), to make Brotli the part of official distribution.

@eustas
Copy link
Collaborator

eustas commented Aug 25, 2016

Meanwhile, to play with different compressors one can use Squash - Compression Abstraction Library. It already has 31 compressor plugin (including Brotli) and has bindings for Vala and Rust.

@ghost
Copy link

ghost commented May 19, 2017

I am creating an 7-Zip plugin for brotli. Currently there seems to be no special magic for testing of brotli's presence in some data.

I found some first definitions of a frame format v3 in the brotli repository of @madler ... but that's it.

For my 7-Zip extension, the stream with the container will be defined like this:

  • 12 bytes skippable frame
    • 4 bytes magic id 0x184D2A50U
    • 4 bytes length of the skippable frame (always 4)
    • 4 bytes with the length of the following compressed data, CLEN (including 4 bytes magic)
  • 4 bytes magic id in the beginning of compressed data: "BROT"
  • CLEN bytes compressed data stream to be decoded

But I could also support "normal" brotli streams, if I can recognize them.

AFAIK, Igor will not add new codecs to Standard 7-Zip currently.

Edit: Oh, I just found #462 ...

@ghost
Copy link

ghost commented Jun 5, 2017

I think this issue can be closed now, cause you have an 7-Zip plugin for brotli now ;-)

@eustas
Copy link
Collaborator

eustas commented Jun 9, 2017

Cool! 👍

@eustas eustas closed this as completed Aug 4, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants