Commit Graph

31 Commits

Author SHA1 Message Date
kageru 8ef0654595
No longer use LUT for 32bit input
That means you’ll finally get full 32bit precision, not just 8bit.
This comes at a cost (~20% lower FPS), but it’s a lot more accurate,
and there’s potentially room for optimization in the future because we
actually do math now instead of just hacky lookups in a 256-element
vector.
2020-05-26 18:12:39 +02:00
kageru d762821b88
Add benchmarks 2020-05-24 20:46:23 +02:00
kageru d9b960c6c1
Remove unneeded test import
Now this builds on stable again. I’ll put future benchmarks under
benches/ to be sure.
2020-05-17 00:22:53 +02:00
kageru 9d6482204d
Fix test 2020-05-15 20:28:50 +02:00
kageru 4831298a9b
Optimize LUT generation
Directly calling f32::mul_add is actually more accurate and faster here
because rustc seems to be unable to rearrange the original instructions
in a way that can utilize `fma`.
When directly comparing the two implementations, mul_add was about 10%
faster on my machine (Ryzen 1700 with native target in rustflags).
Relevant Godbolt: https://godbolt.org/z/DDRZ4-
2020-05-13 23:26:23 +02:00
kageru 7b2a14deaf
add script to build release binaries 2020-04-13 13:10:23 +02:00
kageru 8529163d68
No longer error on out of range float input 2020-04-13 13:09:00 +02:00
kageru cde9f6656b
Update dependencies 2020-04-03 22:28:47 +02:00
kageru 70e782612d
Add error message for invalid float input
A few people encountered these. Looks like a few other filters don’t
clip their limited range output properly.
2020-03-25 11:11:07 +01:00
kageru 3307943585
Link AUR package in README 2020-02-26 23:09:43 +01:00
kageru 6ef53a04f0
Correct error in README 2020-02-26 23:04:05 +01:00
kageru cf9280aa79
Add Cargo.lock 2020-02-26 22:35:19 +01:00
kageru 1051a6a9ff
remove test files 2020-02-26 22:21:31 +01:00
kageru 6db1f7f7c7
update readme (again) 2020-02-26 22:16:18 +01:00
kageru 1bd8e2f816
update readme 2020-02-26 22:15:27 +01:00
kageru fa9d9e69cc
Add readme 2020-02-26 22:13:17 +01:00
kageru 38650845e7
Release 0.2.0 2020-02-19 20:53:45 +01:00
kageru d9bc767c26
make white output more likely in float mask 2020-02-19 20:24:08 +01:00
kageru ecab0b5028
Remove unneeded dependency, replace helper with macro 2020-02-19 20:20:45 +01:00
kageru a687dd90c4
Use macro for different bitdepths 2020-02-19 20:17:16 +01:00
kageru 13ac41ed97
Remove experiments 2019-08-12 15:01:07 +02:00
kageru c67dda5371
no longer drop uninitialized memory (fixes #1) 2019-06-04 20:33:07 +02:00
kageru 4b46eefa51
Switched to range syntax for bitdepth matching 2019-06-03 08:30:17 +02:00
kageru cacc762810
Support all common formats 2019-06-02 23:06:24 +02:00
kageru 9236534dab
rustfmt 2019-06-02 15:31:27 +02:00
kageru b4eb5d8399
only enable mask filter and properly check the input format 2019-06-02 14:43:53 +02:00
kageru a18a2ec6e2
adg.Mask actually works and seems to be faster than the old version 2019-06-02 10:14:58 +02:00
kageru e571f400d1
does this even build? I have no idea; the wifi is too bad 2019-06-01 15:07:49 +02:00
kageru c36233859c
added test.py and example image for manual testing 2019-06-01 09:46:28 +02:00
kageru 783d36bbd2
working implementation with lut 2019-06-01 08:55:47 +02:00
kageru cf9c084cba
initial commit 2019-05-30 11:06:53 +00:00