Commit Graph

10 Commits

Author SHA1 Message Date
6d6904a615 FLuv32: increase dynamic range, and decrease precision.
This still exceeds the precision of LogLuv, but lets us match its
dynamic range.
2020-09-22 11:06:40 +09:00
9cf5ebdf91 Cleaning up the code in fluv32 a bit. 2020-09-21 11:54:14 +09:00
066105b20a Fluv32: slightly tweak the u/v scaling constants.
This allows perfect representation of E (equal energy spectrum).
It's not important from a perceptual standpoint, but it provides
a simple way for Psychopath to represent E when needed for other
purposes.
2020-09-21 09:45:47 +09:00
05f9621ac5 Added a FloatLuv decode function to decode to Yuv instead of XYZ.
This is useful because it's super fast, and chromaticity lookups
are typical for spectral upsampling anyway, so this will likely
enable cutting out a bunch of unecessary intermediate calculations.
2020-09-20 15:16:20 +09:00
3eff608493 More FloatLuv32 optimizations, and general code cleanup.
This gives another little speed boost to decoding, but gives a
massive (over 3x) speed boost to encoding.
2020-09-20 10:07:02 +09:00
f4ef11f9f3 Fix some names in fluv32 error messages. 2020-09-20 03:02:56 +09:00
8dee53d1fc Additional optimization to fluv32 decoding.
Tiny change but with a nice speed bump.
2020-09-20 02:35:37 +09:00
f20567247d Go all in with the fluv32 naming. 2020-09-20 02:02:35 +09:00
cda9156af8 Optimize FloatLuv decoding.
Speed ups of over 20%.
2020-09-20 01:43:36 +09:00
03bedcb594 Cleanup, tweaks, and better documentation for the 32-bit Luv format. 2020-09-19 23:57:59 +09:00