Commit Graph

20 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 8529163d68
No longer error on out of range float input 2020-04-13 13:09:00 +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 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 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