Commit Graph

34 Commits

Author SHA1 Message Date
kageru 79596bc4bd
Clamp input values for float if necessary 2020-06-22 13:01:18 +02:00
kageru 9fa8270564
Update release build script
Default binaries are now compiled for haswell or higher
because using FMA instructions results in a noticeable performance gain.
2020-05-26 18:18:21 +02:00
kageru 1f3957f449
Update dependencies 2020-05-26 18:12:58 +02:00
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