This is a simple implementation of JPEG encoder. It will be merged into the CUDAimageProcessor in the future. Work in progress!
Ultimately, the encoder will follow a basic JPEG pipeline:
- Import
- RGB2YCbCr conversion
- Chroma subsampling
- DCT + quantization + zig-zag scan
- Hufmann encoding
- Delta encoding
- Header
- Final export
- Conversion between RGB and YCbCr color spaces
- 4:1:1 chroma subsampling and desampling
- DCT
- Forward Zig-zag scan
- Huffmann + delta encoding
- Header handling (write)
- Exporting actual image
- Importing actual image
- Header handling (read)
- Inverse Huffmann + delta encoding
- Inverse DCT
- Faster DCT algorithm
- 4:2:2 and 4:2:0 subsampling modes
- Parallel implementation