Commit graph

  • 8099e065f3 wip main ZettaScript 2022-12-16 22:12:43 +0100
  • e97077e527
    Merge pull request #4 from aldanor/feature/pub-bytes Ivan Smirnov 2022-10-17 00:52:10 +0100
  • fe83d1b3ee Version bump to v0.4.1 Ivan Smirnov 2022-10-17 00:51:38 +0100
  • 0e799be72d Bump MSRV to 1.60, set edition to 2021 Ivan Smirnov 2022-10-17 00:42:55 +0100
  • e30c034738 Bump bytemuck dependency Ivan Smirnov 2022-10-17 00:42:28 +0100
  • bd00948952 Various clippy fixes Ivan Smirnov 2022-10-17 00:34:11 +0100
  • 9fdca30f9e Make Bytes pub Ivan Smirnov 2022-10-17 00:31:27 +0100
  • 53ecac38a9 Rename qoi-fast -> qoi (qoi-rust) + update repo Ivan Smirnov 2022-01-06 03:59:32 +0300
  • 3cc5a260fb Update benchmarks in the lib.rs as well Ivan Smirnov 2022-01-06 03:46:10 +0300
  • 437d9b6280 tests: make them 1.51-compatible, fix tiny gen bug Ivan Smirnov 2022-01-06 03:39:35 +0300
  • fa2a675ecb Improve tests in the generated test suite Ivan Smirnov 2022-01-06 03:26:58 +0300
  • 49b4b5b69c Fix chunk tests to match encoder run logic fixes Ivan Smirnov 2022-01-06 03:15:40 +0300
  • a75e7fe445 Update benchmarks info in the readme Ivan Smirnov 2022-01-06 03:12:32 +0300
  • 7ac43c442c qoi-bench: report MB/s, improve totals formatting Ivan Smirnov 2022-01-06 03:08:38 +0300
  • 7cadd4c03e Encoder fix - always disallow first-run shortcut Ivan Smirnov 2022-01-06 02:50:21 +0300
  • 5a899bbf25 Index bugfix: force decoder index to be 4-channel Ivan Smirnov 2022-01-05 22:52:19 +0300
  • fcbec6cf76 Pull in upstream qoi submodule in CI Ivan Smirnov 2022-01-05 17:26:05 +0300
  • c2d23f8dec tests: add generated image tests Ivan Smirnov 2022-01-05 17:17:42 +0300
  • 8c7b78a97f tests: move common stuff into a common mod Ivan Smirnov 2022-01-05 17:17:10 +0300
  • 432f9d3af6 qoi-bench: minor formatting and cosmetic fixes Ivan Smirnov 2022-01-05 17:16:41 +0300
  • 112fd637e6 qoi-bench: use C bindings from libqoi Ivan Smirnov 2022-01-05 17:13:15 +0300
  • 497d188f9a qoi-bench: rework png decoding, convert grayscale Ivan Smirnov 2022-01-05 17:10:42 +0300
  • 81bd8abdbe Add libqoi helper crate that wraps qoi.h Ivan Smirnov 2022-01-05 17:07:30 +0300
  • 50d268cd14 Add extensive tests for specific chunk types Ivan Smirnov 2022-01-05 02:28:39 +0300
  • d5cfc60013 Fix an edge case bug with non-reference encoding Ivan Smirnov 2022-01-04 16:53:28 +0300
  • 2999dc5a50 Add a paragraph to readme/lib.rs re: MSRV Ivan Smirnov 2022-01-04 14:52:45 +0300
  • 72c9128c61 (Minor clippy fixes) Ivan Smirnov 2022-01-04 03:13:53 +0300
  • 6884969222 Update readme and crate root doc Ivan Smirnov 2022-01-04 03:10:55 +0300
  • f3120d5df3 Tons of docstrings + some renames Ivan Smirnov 2022-01-04 02:57:42 +0300
  • 86d5462958 Update Header docstring Ivan Smirnov 2022-01-04 01:59:58 +0300
  • bbbdb86ef1 Readme update re: benches Ivan Smirnov 2022-01-04 01:58:27 +0300
  • d21dd97c10 Update readme with a simple example Ivan Smirnov 2022-01-04 01:52:42 +0300
  • caee8701f5 Update benchmarks with all the latest changes Ivan Smirnov 2022-01-04 01:47:01 +0300
  • c062c6b79b Improve hashing algorithm slightly (see credits) Ivan Smirnov 2022-01-04 01:46:13 +0300
  • 52cc56381e Compute hash on 4-byte (extended) pixels always Ivan Smirnov 2022-01-04 01:30:45 +0300
  • 88a020b851 Merge StreamDecoder into Decoder Ivan Smirnov 2022-01-04 00:25:05 +0300
  • 5371c75a59 (Rearrange code in utils mod a bit) Ivan Smirnov 2022-01-04 00:24:11 +0300
  • b0dca7ba02 Add docstrings for Error variants Ivan Smirnov 2022-01-03 22:10:03 +0300
  • d9bf3db32c Add no_std section to readme Ivan Smirnov 2022-01-03 21:57:54 +0300
  • 0736dfa4b4 (Add fuzz coverage to .gitignore) Ivan Smirnov 2022-01-03 21:57:41 +0300
  • 328cfac40d Big batch of renames: strip qoi prefix everywhere Ivan Smirnov 2022-01-03 21:40:24 +0300
  • cb10dd3629 Error types cleanup + clippy fixes Ivan Smirnov 2022-01-03 21:12:06 +0300
  • 82f07a3e8d Update readme + update bench timings Ivan Smirnov 2022-01-03 20:57:25 +0300
  • 718e09e303 Minor tweaks to Pixel::read() Ivan Smirnov 2022-01-03 20:44:05 +0300
  • 4633be5c52 Add docstrings for Channels / ColorSpace Ivan Smirnov 2022-01-03 20:43:55 +0300
  • b95022f3fd Update bench timings in the readme Ivan Smirnov 2022-01-03 19:08:38 +0300
  • f9f5acb73a Slight improvement to BytesMut Ivan Smirnov 2022-01-03 18:31:06 +0300
  • 4f0bce5fca qoi-bench: only abort on r/t fail if it's qoi-fast Ivan Smirnov 2022-01-03 17:43:28 +0300
  • a9b369e585 In tests, always check for encoded length match Ivan Smirnov 2022-01-03 17:14:30 +0300
  • 5952a88e8c Minor fixups to Pixel struct Ivan Smirnov 2022-01-03 17:14:13 +0300
  • 5469530c64 Initial attempt at no_std Ivan Smirnov 2022-01-03 17:14:01 +0300
  • e39bec8725 Bug-fix with non-reference encoding Ivan Smirnov 2022-01-03 17:11:39 +0300
  • f3947a2a01 qoi-bench: fail immediately if roundtrip fails Ivan Smirnov 2021-12-30 13:22:36 +0300
  • 217d11287d (Update .gitignore) Ivan Smirnov 2022-01-03 16:45:15 +0300
  • df48b77f23 Update CI config (reference enabled) Ivan Smirnov 2022-01-03 15:59:24 +0300
  • c59f6ac686 Update the tests (with reference feature on/off) Ivan Smirnov 2022-01-03 15:56:17 +0300
  • 465a5b86a1 Encode runs of 1 as index (+ "reference" feature) Ivan Smirnov 2022-01-03 15:56:03 +0300
  • ab92cf64b6 Disable doctests for the main crate Ivan Smirnov 2022-01-03 15:54:41 +0300
  • 7b0044a824 qoi-bench: only report totals if more than one png Ivan Smirnov 2022-01-03 15:18:50 +0300
  • feaac28244 Run tests in opt-level=3 mode Ivan Smirnov 2022-01-03 15:13:04 +0300
  • 55977b8981 Minor updates to crate manifests and readme Ivan Smirnov 2022-01-03 14:51:39 +0300
  • 5036518108 Change crate edition to "2018" Ivan Smirnov 2022-01-03 14:41:53 +0300
  • 45bed0445d Fix a few clippy warnings Ivan Smirnov 2022-01-03 14:30:37 +0300
  • 12147521f2 Update the readme with the benchmark timings Ivan Smirnov 2022-01-03 14:25:25 +0300
  • c52ff2bb9b Clean up header struct/mod, add docstrings Ivan Smirnov 2022-01-03 14:19:11 +0300
  • e3184aed01 Derive PartialOrd/Ord for Channels and ColorSpace Ivan Smirnov 2022-01-03 13:41:54 +0300
  • fb8a43fd13 Fix potential decoder panic when checking padding Ivan Smirnov 2022-01-03 13:04:22 +0300
  • e6e156f974 Update fuzz targets Ivan Smirnov 2022-01-03 12:02:27 +0300
  • 4e43c8ba01 Add ColorSpace::as_u8() Ivan Smirnov 2022-01-03 12:00:18 +0300
  • bfd947f573 Add a basic README Ivan Smirnov 2022-01-03 01:40:25 +0300
  • 74fa9aaef2 Add license files Ivan Smirnov 2022-01-03 01:21:40 +0300
  • b1eb637112 Add GitHub Actions CI config Ivan Smirnov 2022-01-03 01:18:33 +0300
  • 71e787f648 Update Cargo.toml Ivan Smirnov 2022-01-03 01:15:57 +0300
  • 8cdb46f896 Add qoi format specification pdf to the repo Ivan Smirnov 2022-01-03 01:13:29 +0300
  • ae6d410374 Implement efficient encoding to generic streams Ivan Smirnov 2022-01-03 01:11:01 +0300
  • 9d036bc64e Update tests and benches to the new encoder API Ivan Smirnov 2022-01-03 00:47:23 +0300
  • b461af81ac Introduce Channels and finish encoder refactor Ivan Smirnov 2022-01-03 00:47:13 +0300
  • 0b76352b22 Use u32::{from_be_bytes,to_be_bytes} builtins Ivan Smirnov 2022-01-02 23:30:28 +0300
  • d763e1d62c Remove magic field from Header Ivan Smirnov 2022-01-02 22:54:56 +0300
  • 9289fdd59b Encoding - start the big refactor Ivan Smirnov 2022-01-02 20:16:05 +0300
  • 268953033b Decoder - cleanup, move some logic back into Pixel Ivan Smirnov 2022-01-02 19:14:12 +0300
  • 6c7dad1e2c Decoder: remove decode_to_stream(), use output buf Ivan Smirnov 2022-01-02 18:59:25 +0300
  • b8fe879b22 In qoi-bench, report and skip invalid png files Ivan Smirnov 2022-01-02 18:58:54 +0300
  • 59e67b455a Encoder minor fixups Ivan Smirnov 2022-01-02 14:02:44 +0300
  • 21b06f37e0 Re-export all decoding funcs/structs at crate root Ivan Smirnov 2022-01-02 00:03:58 +0300
  • 074fc72b22 Add generic streaming decoder Ivan Smirnov 2022-01-02 00:03:47 +0300
  • 4a8c20e0d3 QoiDecoder - minor cleanups Ivan Smirnov 2022-01-02 00:02:55 +0300
  • 0eb8a7ade7 Add QoiDecoder, handle padding properly + refactor Ivan Smirnov 2022-01-02 00:02:08 +0300
  • acdd29060c Further decoder reworks + add qoi_decode_to_buf() Ivan Smirnov 2022-01-01 21:58:18 +0300
  • 343f11bccf Sort the files when running benches Ivan Smirnov 2022-01-01 21:55:51 +0300
  • 2a764a1132 Further encoder improvements Ivan Smirnov 2021-12-31 14:36:20 +0300
  • 637ac22a99 (Clippy fixes across the board) Ivan Smirnov 2021-12-31 13:37:56 +0300
  • b315ea20a7 Mark consts mod as doc(hidden) Ivan Smirnov 2021-12-31 13:35:32 +0300
  • 2dcbdd19c2 Rework ColorSpace to match the latest spec (0 | 1) Ivan Smirnov 2021-12-31 13:34:27 +0300
  • c39844fb98 Implement From<!> for Error Ivan Smirnov 2021-12-31 13:33:45 +0300
  • 6019791c3b In the bench suite, check for 3/4 channels Ivan Smirnov 2021-12-31 10:20:26 +0300
  • 5b0d420200 Specialize the decoder by source channels as well Ivan Smirnov 2021-12-31 02:00:53 +0300
  • 9e7c508a34 Add forbid(unsafe_code) at crate root Ivan Smirnov 2021-12-31 01:54:37 +0300
  • a9a01c6fbd Rework the decoder so it's safe, add bytemuck dep Ivan Smirnov 2021-12-31 01:44:59 +0300
  • 6ce544950d Rework the encoder, replace all unsafe code Ivan Smirnov 2021-12-30 18:01:16 +0300