After speaking with Alex about the JPEG encoding work she's doing, I realized that the 2D DCT really needs to support 16-bit outputs, rather than just 8-bit outputs.
- The current implementation already expands to 16-bits as an intermediate result
- The 16-bit output version should actually be a little faster than the 8-bit-output version
- The 8-bit-output version can be built on top of the 16-bit version
- e.g. the 8-bit one wraps the 16-bit version with a bit-depth reduction at the end.
- This is already written, though not well tested.
- Should be backwards compatible, requiring only a minor version increment.
Alex also pointed out that the JPEG encoding requires that an orthogonal DCT be used, as well. This just means passing an alternate DCT matrix to the functions.
After speaking with Alex about the JPEG encoding work she's doing, I realized that the 2D DCT really needs to support 16-bit outputs, rather than just 8-bit outputs.
Alex also pointed out that the JPEG encoding requires that an orthogonal DCT be used, as well. This just means passing an alternate DCT matrix to the functions.