Commit graph

95 commits

Author SHA1 Message Date
ZettaScript 8099e065f3 wip 2022-12-16 22:12:43 +01:00
Ivan Smirnov bd00948952 Various clippy fixes 2022-10-17 00:34:11 +01:00
Ivan Smirnov 9fdca30f9e Make Bytes pub 2022-10-17 00:31:27 +01:00
Ivan Smirnov 53ecac38a9 Rename qoi-fast -> qoi (qoi-rust) + update repo 2022-01-06 03:59:32 +03:00
Ivan Smirnov 3cc5a260fb Update benchmarks in the lib.rs as well 2022-01-06 03:46:10 +03:00
Ivan Smirnov 7cadd4c03e Encoder fix - always disallow first-run shortcut 2022-01-06 02:50:21 +03:00
Ivan Smirnov 5a899bbf25 Index bugfix: force decoder index to be 4-channel 2022-01-06 02:49:15 +03:00
Ivan Smirnov d5cfc60013 Fix an edge case bug with non-reference encoding 2022-01-05 02:27:08 +03:00
Ivan Smirnov 2999dc5a50 Add a paragraph to readme/lib.rs re: MSRV 2022-01-04 14:52:45 +03:00
Ivan Smirnov 72c9128c61 (Minor clippy fixes) 2022-01-04 03:13:53 +03:00
Ivan Smirnov 6884969222 Update readme and crate root doc 2022-01-04 03:10:55 +03:00
Ivan Smirnov f3120d5df3 Tons of docstrings + some renames 2022-01-04 02:59:32 +03:00
Ivan Smirnov 86d5462958 Update Header docstring 2022-01-04 01:59:58 +03:00
Ivan Smirnov c062c6b79b Improve hashing algorithm slightly (see credits) 2022-01-04 01:46:13 +03:00
Ivan Smirnov 52cc56381e Compute hash on 4-byte (extended) pixels always 2022-01-04 01:30:45 +03:00
Ivan Smirnov 88a020b851 Merge StreamDecoder into Decoder 2022-01-04 00:25:05 +03:00
Ivan Smirnov 5371c75a59 (Rearrange code in utils mod a bit) 2022-01-04 00:24:11 +03:00
Ivan Smirnov b0dca7ba02 Add docstrings for Error variants 2022-01-03 22:10:03 +03:00
Ivan Smirnov 328cfac40d Big batch of renames: strip qoi prefix everywhere 2022-01-03 21:40:24 +03:00
Ivan Smirnov cb10dd3629 Error types cleanup + clippy fixes 2022-01-03 21:18:38 +03:00
Ivan Smirnov 718e09e303 Minor tweaks to Pixel::read() 2022-01-03 20:44:05 +03:00
Ivan Smirnov 4633be5c52 Add docstrings for Channels / ColorSpace 2022-01-03 20:43:55 +03:00
Ivan Smirnov f9f5acb73a Slight improvement to BytesMut 2022-01-03 18:31:06 +03:00
Ivan Smirnov 5952a88e8c Minor fixups to Pixel struct 2022-01-03 17:15:18 +03:00
Ivan Smirnov 5469530c64 Initial attempt at no_std 2022-01-03 17:15:18 +03:00
Ivan Smirnov e39bec8725 Bug-fix with non-reference encoding 2022-01-03 17:15:18 +03:00
Ivan Smirnov 465a5b86a1 Encode runs of 1 as index (+ "reference" feature) 2022-01-03 17:15:18 +03:00
Ivan Smirnov 5036518108 Change crate edition to "2018" 2022-01-03 15:13:56 +03:00
Ivan Smirnov 45bed0445d Fix a few clippy warnings 2022-01-03 15:13:56 +03:00
Ivan Smirnov c52ff2bb9b Clean up header struct/mod, add docstrings 2022-01-03 14:25:40 +03:00
Ivan Smirnov e3184aed01 Derive PartialOrd/Ord for Channels and ColorSpace 2022-01-03 14:25:40 +03:00
Ivan Smirnov fb8a43fd13 Fix potential decoder panic when checking padding 2022-01-03 14:25:40 +03:00
Ivan Smirnov 4e43c8ba01 Add ColorSpace::as_u8() 2022-01-03 14:25:40 +03:00
Ivan Smirnov ae6d410374 Implement efficient encoding to generic streams 2022-01-03 01:11:16 +03:00
Ivan Smirnov b461af81ac Introduce Channels and finish encoder refactor 2022-01-03 01:11:16 +03:00
Ivan Smirnov 0b76352b22 Use u32::{from_be_bytes,to_be_bytes} builtins 2022-01-03 01:11:16 +03:00
Ivan Smirnov d763e1d62c Remove magic field from Header 2022-01-03 01:11:16 +03:00
Ivan Smirnov 9289fdd59b Encoding - start the big refactor 2022-01-03 01:11:16 +03:00
Ivan Smirnov 268953033b Decoder - cleanup, move some logic back into Pixel 2022-01-03 01:11:16 +03:00
Ivan Smirnov 6c7dad1e2c Decoder: remove decode_to_stream(), use output buf 2022-01-03 01:11:16 +03:00
Ivan Smirnov 59e67b455a Encoder minor fixups 2022-01-02 17:43:19 +03:00
Ivan Smirnov 21b06f37e0 Re-export all decoding funcs/structs at crate root 2022-01-02 00:04:09 +03:00
Ivan Smirnov 074fc72b22 Add generic streaming decoder 2022-01-02 00:04:09 +03:00
Ivan Smirnov 4a8c20e0d3 QoiDecoder - minor cleanups 2022-01-02 00:04:09 +03:00
Ivan Smirnov 0eb8a7ade7 Add QoiDecoder, handle padding properly + refactor 2022-01-02 00:04:09 +03:00
Ivan Smirnov acdd29060c Further decoder reworks + add qoi_decode_to_buf() 2022-01-02 00:04:09 +03:00
Ivan Smirnov 2a764a1132 Further encoder improvements 2021-12-31 14:37:42 +03:00
Ivan Smirnov 637ac22a99 (Clippy fixes across the board) 2021-12-31 14:37:42 +03:00
Ivan Smirnov b315ea20a7 Mark consts mod as doc(hidden) 2021-12-31 13:38:19 +03:00
Ivan Smirnov 2dcbdd19c2 Rework ColorSpace to match the latest spec (0 | 1) 2021-12-31 13:38:19 +03:00