10.1. JPEG decode¶
10.1.1. Overview¶
JPEG decoding example project demonstrates how to decode a JPG file using either JPEG module or software jpeg library
10.1.2. Board Setting¶
Connect the USB disk to the development board
usb0
, or insert the SD memory card into the development boardSD card
Connect LCD screen to development board
10.1.3. Configuration¶
File CMakelists.txt.
set (JPEG_USE_SDCARD 1)
to read jpeg file (.jpg) from SD card orset (JPEG_USE_UDISK 1)
to read jpeg file (.jpg) from u-disk. These options are exclusive.set (JPEG_HW_MODE 1)
to decode jpeg file with JPEG module;set (JPEG_HW_MODE 0)
to decode with software library
10.1.4. Supported picture formats¶
Supports standard JPEG images: JPEG picture format components:SOI(File header)+APP0(Image identification information)+ DQT(Define quantification table)+ SOF0(Basic image information)+ DHT(Define Huffman table) + DRI(Define restart interval)+ SOS(Scan line start)+ EOI(End of document),the SOI is composed of two hexadecimal bytes (ffd8)。
The sampling factor supported by the JPEG picture is:YUV420、YUV422H、YUV422V、YUV444、YUV400,Such as a JPG image in 800 * 400 YUV420 format,Through the worm EXIF viewerGraphic insect EXIF viewer official websiteavailable: FileType JPEG FileTypeExtension jpg MIMEType image/jpeg ImageWidth 800 ImageHeight 480 EncodingProcess Baseline DCT, Huffman coding BitsPerSample 8 ColorComponents 3 YCbCrSubSampling YCbCr4:2:0 (2 2)
10.1.5. Image size and resolution supported by this routine¶
jpeg file size is expected to be less than 500KB, image resolution is expected to be less than 1024 * 768, defined in common/inc/file_op.h
10.1.6. Running the example¶
Configure storage in CMakeLists.txt
Put jpeg files (with .jpg) into target storage
Connect LCD pannel and storage to board
Power on the board
Download built elf into development board and run the demo
If everything goes well, jpeg files stored in the target storage will be show on LCD pannel one by one.