-
Notifications
You must be signed in to change notification settings - Fork 633
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
Image Format Feature Request: QOI - Quite Ok Image format support #1641
Comments
Adding: https://github.com/taotao54321/img-qoi Looks complete although using somewhat dubious |
QOI is an exciting format that we should definitely keep an eye on. However, I'm very hesitant to already commit to supporting the format for years to come, when it has only been around for a matter of weeks. |
Given that it has an agreed upon specification that works, isn't the only thing that can change is them making breaking changes to a new version of the specification, which we wouldn't need to support. Alternatively, how about hiding it behind a non-default feature flag that doesn't promise support for future specifications? |
The concern isn't so much about supporting further upstream changes, but rather that we don't yet know whether the format will takeoff and actually get widespread use. I'm afraid we could end up in a situation where we have a mostly abandoned codec as part of our public API with no way to know whether anyone is actually depending on it, and no pathway to getting rid of it. |
My stance on 'fringe' codecs is mainly by weighing the potential maintenance burden. Generally, I'm positive towards them. (See: accepting 'farbfeld' in #1171 for its simplicity). As far as I can understand, the format itself is I don't think there is a particular burden in supporting stable code for a specific and unchanging codecs—almost no matter how recent. Mainly in compile time which can be easily solved a feature that defaults to off, again referring to farbfeld for how it was handled. The number (and state) of dependencies can also be considered when choosing one of the implementations linked above. Given this, my main concern with support is in reducing the risk of building poorly maintained bindings—by which is mean silently buggy. I would expect decently good coverage in tests and, in the best case, utilizing a downstream crate that is also |
Hi all, let me throw in my 2 cents if there's any interest: https://github.com/aldanor/qoi-rust. I've been working on my own Rust implementation too (since the start), and finally got it to a state where it can be published: Some notes on this implementation and also re: some concerns raised above:
|
This is now complete |
Add encode and decode support for QOI format.
The specification for the format can be found here.
More information can be found on this blog post.
There are three implementations of the reference encoder/decoder in rust already -
The text was updated successfully, but these errors were encountered: