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
|
d9bf3db32c
|
Add no_std section to readme
|
2022-01-03 21:57:54 +03:00 |
|
Ivan Smirnov
|
0736dfa4b4
|
(Add fuzz coverage to .gitignore)
|
2022-01-03 21:57:41 +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
|
82f07a3e8d
|
Update readme + update bench timings
|
2022-01-03 20:57:25 +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
|
b95022f3fd
|
Update bench timings in the readme
|
2022-01-03 19:08:38 +03:00 |
|
Ivan Smirnov
|
f9f5acb73a
|
Slight improvement to BytesMut
|
2022-01-03 18:31:06 +03:00 |
|
Ivan Smirnov
|
4f0bce5fca
|
qoi-bench: only abort on r/t fail if it's qoi-fast
|
2022-01-03 17:43:28 +03:00 |
|
Ivan Smirnov
|
a9b369e585
|
In tests, always check for encoded length match
|
2022-01-03 17:15:18 +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
|
f3947a2a01
|
qoi-bench: fail immediately if roundtrip fails
|
2022-01-03 17:15:18 +03:00 |
|
Ivan Smirnov
|
217d11287d
|
(Update .gitignore)
|
2022-01-03 17:15:18 +03:00 |
|
Ivan Smirnov
|
df48b77f23
|
Update CI config (reference enabled)
|
2022-01-03 17:15:18 +03:00 |
|
Ivan Smirnov
|
c59f6ac686
|
Update the tests (with reference feature on/off)
|
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
|
ab92cf64b6
|
Disable doctests for the main crate
|
2022-01-03 17:15:18 +03:00 |
|
Ivan Smirnov
|
7b0044a824
|
qoi-bench: only report totals if more than one png
|
2022-01-03 17:15:18 +03:00 |
|
Ivan Smirnov
|
feaac28244
|
Run tests in opt-level=3 mode
|
2022-01-03 15:13:56 +03:00 |
|
Ivan Smirnov
|
55977b8981
|
Minor updates to crate manifests and readme
|
2022-01-03 15:13:56 +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
|
12147521f2
|
Update the readme with the benchmark timings
|
2022-01-03 14:25:40 +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
|
e6e156f974
|
Update fuzz targets
|
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
|
bfd947f573
|
Add a basic README
|
2022-01-03 14:25:40 +03:00 |
|
Ivan Smirnov
|
74fa9aaef2
|
Add license files
|
2022-01-03 14:25:40 +03:00 |
|
Ivan Smirnov
|
b1eb637112
|
Add GitHub Actions CI config
|
2022-01-03 14:25:40 +03:00 |
|
Ivan Smirnov
|
71e787f648
|
Update Cargo.toml
|
2022-01-03 14:25:40 +03:00 |
|
Ivan Smirnov
|
8cdb46f896
|
Add qoi format specification pdf to the repo
|
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
|
9d036bc64e
|
Update tests and benches to the new encoder API
|
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
|
b8fe879b22
|
In qoi-bench, report and skip invalid png files
|
2022-01-03 01:11:16 +03:00 |
|