当前位置:首页 > 单片机 > 单片机
[导读]修复了已知的bug;这个是我实验用的原图,用工具把他变成了数组后直接放在程序里面了.解码后的图片附上代码/*****************************************************************************************************

修复了已知的bug;



这个是我实验用的原图,用工具把他变成了数组后直接放在程序里面了.

解码后的图片




附上代码


/*************************************************************************************************************

*文件名:JpegCodec.c

*功能:S3C6410JPEG解码底层驱动函数

*作者:cp1300@139.com

*创建时间:2012年9月20日20:59

*最后修改时间:2012年12月02日

*详细:JPEG硬解码

*通过S3C6410DATASHEETV1.2版以及官方WINCE的JPEG驱动的分析,得出结论,S3C6410的JPEG解码模块不支持硬件控制自动解码

*只能使用软件控制解码模式

*20121202:修复连续解码BUG,目前有少数jpeg420,jpeg444会解码出错,就像windows也有可能有不支持的jpeg图片一样,少数图片硬解码

*失败可以尝试使用软解码即可。

*20121225:发现JPEG必须16字节(128位)地址对齐,否则可能会出现解码失败问题。

*20130113:增加尺寸非8或16倍数的jpeg图片解码功能

*20130113:将程序外部依赖降低,目前只依赖外部的数据类型定义(高类聚,低耦合),打印调试也依赖外部,不用可以修改宏,JPEG_DBUG=0来取消,方便移植。

*************************************************************************************************************/

#include"JpegCodec.h"

#include"jpeg_tables.h"

//调试宏开关

#defineJPEG_DBUG0

#ifJPEG_DBUG

#include"system.h"

#definejpeg_debug(format,...)uart_printf(format,##__VA_ARGS__)

#else

#definejpeg_debug(format,...)/

/

#endif//JPEG_DBUG

//jpeg编解码模式配置

#defineCOEF1_RGB_2_YUV0x4d971e

#defineCOEF2_RGB_2_YUV0x2c5783

#defineCOEF3_RGB_2_YUV0x836e13

#defineENABLE_MOTION_ENC(0x1<<3)//使能动态编码

#defineDISABLE_MOTION_ENC(0x0<<3)

#defineENABLE_HW_DEC(0x1<<2)

#defineDISABLE_HW_DEC(0x0<<2)

#defineENABLE_MOTION_DEC(0x1<<0)//使能动态解码

#defineDISABLE_MOTION_DEC(0x0<<0)

#defineINCREMENTAL_DEC(0x1<<3)//增量解码模式

#defineNORMAL_DEC(0x0<<3)//正常解码模式

#defineYCBCR_MEMORY(0x1<<5)

#defineENABLE_IRQ(0xf<<3)

//等待超时定义

#defineWaitTimeOut0xffffff//等待超时计数器

//定义最大图像宽高度

#defineMAX_JPG_WIDTH4096

#defineMAX_JPG_HEIGHT4096

//JPEG寄存器结构定义

typedefstruct

{

u32Mode;//模式寄存器

u32Status;//状态寄存器

u32QTblNo;

u32RSTPos;

u32Vertical;//垂直分辨率

u32Horizontal;//水平分辨率

u32DataSize;//压缩数据字节数

u32IRQ;//中断设置寄存器

u32IRQStatus;//中断状态寄存器0x20

u32Reserved0[247];

u32QTBL0[64];//0x400

u32QTBL1[64];

u32QTBL2[64];

u32QTBL3[64];

u32HDCTBL0[16];//0x800

u32HDCTBLG0[12];

u32Reserved1[4];

u32HACTBL0[16];

u32HACTBLG0[162];//0x8c0

u32Reserved2[46];

u32HDCTBL1[16];//0xc00

u32HDCTBLG1[12];

u32Reserved3[4];

u32HACTBL1[16];

u32HACTBLG1[162];//0xcc0

u32Reserved4[46];

u32ImageAddr0;//目的图像地址1

u32ImageAddr1;//目的图像地址2

u32JpegAddr0;//源JPEG图像地址1

u32JpegAddr1;//源JPEG图像地址2

u32Start;//JPEG解码开始

u32ReStart;//重新开始JPEG解码

u32 SofReset; //JPEG复位

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

Sept. 10, 2025 ---- 根据TrendForce集邦咨询最新发布的《全球电动车逆变器市场数据》,2025年第二季受惠纯电动车(BEV)销售成长,全球电动车(注1)牵引逆变器装机量达766万台,年增19%。...

关键字: 增程式电动车 SiC 牵引逆变器

Sept. 8, 2025 ---- 根据TrendForce集邦咨询最新调查,2025年第二季NVIDIA(英伟达) Blackwell平台规模化出货,以及北美CSP业者持续扩大布局General Server(通用型...

关键字: SSD DDR4 服务器

Sept. 4, 2025 ---- Apple(苹果)即将发布iPhone 17、iPhone 17 Air(暂名)、iPhone 17 Pro及Pro Max四款旗舰新机,除了外观辨识度升级,处理器性能、散热和拍摄功...

关键字: iPhone 16 A19处理器 折叠机

Sept. 3, 2025 ---- 根据TrendForce集邦咨询最新发布的《2025近眼显示市场趋势与技术分析》报告,2025年随着国际品牌陆续推出AR眼镜原型,以及Meta预计在近期发布AR眼镜Celeste,市...

关键字: AR眼镜 OLED

Sept. 2, 2025 ---- TrendForce集邦咨询表示,2025年第二季DRAM产业因一般型DRAM (Conventional DRAM)合约价上涨、出货量显著增长,加上HBM出货规模扩张,整体营收为3...

关键字: DRAM 智能手机 ASP

Sept. 1, 2025 ---- 根据TrendForce集邦咨询最新调查,2025年第二季因中国市场消费补贴引发的提前备货效应,以及下半年智能手机、笔电/PC、Server新品所需带动,整体晶圆代工产能利用率与出货...

关键字: 晶圆代工 智能手机 笔电

Aug. 28, 2025 ---- 根据TrendForce集邦咨询最新调查,2025年第二季NAND Flash产业虽面临平均销售价格(ASP)小幅下滑,所幸原厂减产策略缓解供需失衡,叠加中、美两大市场政策推动,整体...

关键字: NAND Flash SSD AI

Aug. 26, 2025 ---- NVIDIA(英伟达)近日推出的Jetson Thor被视为机器人的物理智慧核心,以Blackwell GPU、128 GB记忆体堆叠出2070 FP4 TFLOPS AI算力,是前...

关键字: 机器人 大型语言模型 AI算力

Aug. 21, 2025 ---- 根据TrendForce集邦咨询最新液冷产业研究,随着NVIDIA GB200 NVL72机柜式服务器于2025年放量出货,云端业者加速升级AI数据中心架构,促使液冷技术从早期试点迈...

关键字: AI 数据中心 服务器

除了充电电路外,锂电池的放电过程也需要保护。锂电池的放电电压不能低于3.0V,否则电池寿命会大幅缩短。为了实现这一保护,工程师们设计了DW01芯片与8205 MOS管的电路组合。DW01芯片能够监控锂电池的放电电压和电流...

关键字: 锂电池 电池
关闭