A jpeg decoder originally made to solve a Kattis problem.
The test program prints out the supplied image using spaces colored with ANSI 24-bit color escape codes.
The examples are my own images. Krita was used to scale and remove chroma subsampling from the no_subsampling examples. FFmpeg was used otherwise.
- Baseline DCT
# setup
make
# print image
./bin/test <file>- JPEG Huffman Coding Tutorial [archive] by Calvin Hass (ImpulseAdventure) [archive] [github], 2009
- Understanding and Decoding a JPEG Image using Python [github] by Yasoob Khalid [github], 2020
- Let's Write a Simple JPEG Library, Part-I: The Basics [github] and Part-II: The Decoder [github], by Koushtav Chakrabarty (TheIllusionistMirage) [github], 2017 and 2019 respectively
- THE JPEG COMPRESSION and THE JPG FILE FORMAT by Cristy Cuturicu, 1999
- JPEG and JPEG File Interchange Format by Wikipedia contributors in Wikipedia, The Free Encyclopedia, both 2022
- JPEG File Interchange Format by Eric Hamilton, 1992
- Recommendation ITU-T T.81 | ISO/IEC 10918-1: Information technology - Digital compression and coding of continuous-tone still images - Requirements and guidelines by the International Telecommunication Union (ITU), the International Organization for Standardization (ISO), and the International Electrotechnical Commission (IEC), 1992
- Recommendation ITU-T T.871 | ISO/IEC 10918-5: Information technology – Digital compression and coding of continuous-tone still images: JPEG File Interchange Format (JFIF) by the ITU, the ISO, and the IEC, 2011