{"id":21042920,"url":"https://github.com/aldanor/qoi-rust","last_synced_at":"2025-04-11T23:18:05.036Z","repository":{"id":54114284,"uuid":"432763146","full_name":"aldanor/qoi-rust","owner":"aldanor","description":"VERY fast encoder/decoder for QOI image format in pure and safe Rust","archived":false,"fork":false,"pushed_at":"2025-03-10T02:15:01.000Z","size":5722,"stargazers_count":97,"open_issues_count":2,"forks_count":6,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-11T23:18:00.682Z","etag":null,"topics":["converter","images","qoi","rust"],"latest_commit_sha":null,"homepage":"https://docs.rs/qoi","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aldanor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-28T16:21:53.000Z","updated_at":"2025-04-10T19:36:29.000Z","dependencies_parsed_at":"2023-10-11T13:41:30.751Z","dependency_job_id":"6518edf0-def2-4de1-9689-4d84dcee85de","html_url":"https://github.com/aldanor/qoi-rust","commit_stats":{"total_commits":152,"total_committers":1,"mean_commits":152.0,"dds":0.0,"last_synced_commit":"e97077e527618a07413f7895a3792a6859afac59"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aldanor%2Fqoi-rust","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aldanor%2Fqoi-rust/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aldanor%2Fqoi-rust/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aldanor%2Fqoi-rust/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aldanor","download_url":"https://codeload.github.com/aldanor/qoi-rust/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248492885,"owners_count":21113163,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["converter","images","qoi","rust"],"created_at":"2024-11-19T14:09:32.327Z","updated_at":"2025-04-11T23:18:05.020Z","avatar_url":"https://github.com/aldanor.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [qoi](https://crates.io/crates/qoi)\n\n[![Build](https://github.com/aldanor/qoi-rust/workflows/CI/badge.svg)](https://github.com/aldanor/qoi-rust/actions?query=branch%3Amaster)\n[![Latest Version](https://img.shields.io/crates/v/qoi.svg)](https://crates.io/crates/qoi)\n[![Documentation](https://img.shields.io/docsrs/qoi)](https://docs.rs/qoi)\n[![Apache 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n[![unsafe forbidden](https://img.shields.io/badge/unsafe-forbidden-success.svg)](https://github.com/rust-secure-code/safety-dance)\n\nFast encoder/decoder for [QOI image format](https://qoiformat.org/), implemented in pure and safe Rust.\n\n- One of the [fastest](#benchmarks) QOI encoders/decoders out there.\n- Compliant with the [latest](https://qoiformat.org/qoi-specification.pdf) QOI format specification.\n- Zero unsafe code.\n- Supports decoding from / encoding to `std::io` streams directly.\n- `no_std` support.\n- Roundtrip-tested vs the reference C implementation; fuzz-tested.\n\n### Examples\n\n```rust\nuse qoi::{encode_to_vec, decode_to_vec};\n\nlet encoded = encode_to_vec(\u0026pixels, width, height)?;\nlet (header, decoded) = decode_to_vec(\u0026encoded)?;\n\nassert_eq!(header.width, width);\nassert_eq!(header.height, height);\nassert_eq!(decoded, pixels);\n```\n\n### Benchmarks\n\n```\n             decode:Mp/s  encode:Mp/s  decode:MB/s  encode:MB/s\nqoi.h              282.9        225.3        978.3        778.9\nqoi-rust           427.4        290.0       1477.7       1002.9\n```\n\n- Reference C implementation:\n  [phoboslab/qoi@8d35d93](https://github.com/phoboslab/qoi/commit/8d35d93).\n- Benchmark timings were collected on an Apple M1 laptop.\n- 2846 images from the suite provided upstream\n  ([tarball](https://phoboslab.org/files/qoibench/qoi_benchmark_suite.tar)):\n  all pngs except two with broken checksums.\n- 1.32 GPixels in total with 4.46 GB of raw pixel data.\n\nBenchmarks have also been run for all of the other Rust implementations\nof QOI for comparison purposes and, at the time of writing this document,\nthis library proved to be the fastest one by a noticeable margin.\n\n### Rust version\n\nThe minimum required Rust version for the latest crate version is 1.62.0.\n\n### `no_std`\n\nThis crate supports `no_std` mode. By default, std is enabled via the `std`\nfeature. You can deactivate the `default-features` to target core instead.\nIn that case anything related to `std::io`, `std::error::Error` and heap\nallocations is disabled. There is an additional `alloc` feature that can\nbe activated to bring back the support for heap allocations.\n\n### License\n\nThis project is dual-licensed under MIT and Apache 2.0.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faldanor%2Fqoi-rust","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faldanor%2Fqoi-rust","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faldanor%2Fqoi-rust/lists"}