# JPEG 解码 ## 概述 jpeg 解码示例工程展示了如何使用JPEG模块或者软件库解码JPG图片数据 ## 硬件设置 - **USB盘**连接到开发板``USB0``,或**SD内存卡**插入到开发板``sd card``。 - **LCD屏**连接到开发板 ## 工程配置 - 文件`CMakeLists.txt` : - ``set (JPEG_USE_SDCARD 1)`` 从SD卡中读取jpeg文件(.jpg); ``set (JPEG_USE_UDISK 1)`` 从u盘中读取jpeg文件(.jpg)。这两个为排他选项 - ``set (JPEG_HW_MODE 1)`` 通过JPEG模块解码; ``set (JPEG_HW_MODE 0)``通过软件库解码 ## 支持的图片格式 - 支持标准的JPEG图片: JPEG图片格式组成部分:SOI(文件头)+APP0(图像识别信息)+ DQT(定义量化表)+ SOF0(图像基本信息)+ DHT(定义Huffman表) + DRI(定义重新开始间隔)+ SOS(扫描行开始)+ EOI(文件尾),其中SOI是由两个16进制字节FFD8组成。 - JPEG图片支持的采样因子为:YUV420、YUV422H、YUV422V、YUV444、YUV400,如一张800*400 YUV420格式的JPG图片,通过图虫EXIF查看器[图虫EXIF查看器官网](https://exif.tuchong.com//)可获取: 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)** ##本例程支持的图片大小及分辨率 - jpeg文件不大于500KB - 图像分辨率(宽*高)不大于 1024 * 768 ## 运行现象 - 按需要更改CMakeLists.txt中关于目标存储/解码方式的配置 - 将jpeg文件复制到目标存储中 - 连接LCD屏和存储介质到开发板 - 将开发板上电 - 下载编译后的elf文件到开发板 - 如果一切正常,存储介质中的jpeg文件将被一张张显示在LCD屏上