打印
[应用相关]

可以STM32做GIF图片解码吗?

[复制链接]
9337|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
PXJ_520|  楼主 | 2009-5-19 16:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
主要是解码时间会不会太长!~
希望做过的老大能给个解码算法!!!!!!!!!
沙发
浪淘沙| | 2009-5-19 16:59 | 只看该作者

GIF图片解码是个软件算法,只要是CPU都能实现

8位单片机都可以,更何况STM32。

使用特权

评论回复
板凳
dengting| | 2009-5-19 18:30 | 只看该作者

GIF?

估计不好做,GIF里面有LZW算法,有点耗费内存与CPU.
而且解码成32位的,也没多少内存可放啊.

使用特权

评论回复
地板
dengting| | 2009-5-19 18:34 | 只看该作者

如,4x320宽x240高

R,G,B,透明通道, 4x8=32位.
如,4x320宽x240高 光存放解码的结果就要300K字节. 怎么干啊?

使用特权

评论回复
5
浪淘沙| | 2009-5-19 18:46 | 只看该作者

边解码,边送到显示屏显示

再说,STM32能否平滑地驱动320x240x4的屏幕,是个需要仔细考虑的问题。

使用特权

评论回复
6
zhousd| | 2009-5-19 18:47 | 只看该作者

两种方法,一种是扩展内存,另一种只能作解压速度

上的评估,通过串口送出去。

使用特权

评论回复
7
PXJ_520|  楼主 | 2009-5-20 09:53 | 只看该作者

谢谢以上各位的意见

希望更多的人进来讨论哦

使用特权

评论回复
8
hz_richard| | 2009-5-20 16:20 | 只看该作者

顶,

使用特权

评论回复
9
将军令| | 2009-5-20 16:20 | 只看该作者

去下载开源的GIF code,很容易移植的。。

使用特权

评论回复
10
hz_richard| | 2009-5-20 16:22 | 只看该作者

如果支持SDRAM就好啦,呵呵,外扩一个SRAM好贵呀

如果支持SDRAM就好啦,呵呵,外扩一个SRAM好贵呀
既然要解GIF图片,要对内存要求肯定大,

使用特权

评论回复
11
610095871| | 2012-6-9 11:16 | 只看该作者
我最近做了个stm32 解码sd卡中的gif图片  OK了 有个67帧的 100*105的 解码效果 看不到明显的刷屏现象,最近打算整理下做个文档。

使用特权

评论回复
12
Eric2013| | 2012-6-9 11:37 | 只看该作者
本帖最后由 Eric2013 于 2012-6-9 11:42 编辑

里面有程序下载。
基于uCOS+ucGUI的GIF 动画http://blog.sina.com.cn/s/blog_98ee3a930100y708.html

使用特权

评论回复
13
ilovezeno| | 2012-6-9 17:03 | 只看该作者
不知道楼上几位怎么得出RGBA32位的.gif总共就256色,建个lut行不?搞个行缓冲行不?两个行缓冲乒乓缓存加上DMA刷屏幕行不?
要提高性能,节省内存,方法非常多,为什么就傻傻地抱着帧缓冲不放手,一定要解码出一整幅图然后再去刷屏幕?然后刷的时候又傻等....
行缓冲,LUT都是几十年前从计算机图形出现就开始有的老技术,怎么就没常识呢?

使用特权

评论回复
14
610095871| | 2012-6-11 17:30 | 只看该作者
GIF 图片一般都会有个全局颜色表有时候某些帧也有局部颜色表,这个颜色表里面分别存放了3字节的R G B ,这个是什么呢? 某些人应该想想了哟。之后 另外LZW解码算法不知道听过没,说话前请先考虑下,这几天我会拍个视频,目前尝试了解码sd卡中的750K的图片 效果我个人觉得还行。

使用特权

评论回复
15
ilovezeno| | 2012-6-11 17:49 | 只看该作者
GIF 图片一般都会有个全局颜色表有时候某些帧也有局部颜色表,这个颜色表里面分别存放了3字节的R G B ,这个是什么呢? 某些人应该想想了哟。之后 另外LZW解码算法不知道听过没,说话前请先考虑下,这几天我会拍个视 ...
610095871 发表于 2012-6-11 17:30

是什么?不就是LUT么?
于是就需要一个V*H*color_deepth的framebuff?谁应该想想?
LZW算法不能用linebuff?谁应该想一想?

使用特权

评论回复
16
wenzj12345| | 2012-6-11 19:43 | 只看该作者
学习了

使用特权

评论回复
17
610095871| | 2012-6-11 22:04 | 只看该作者
15# ilovezeno
大哥 莫激动 我可没说你的哟 哈哈 互相讨论 没必要加入感情。

使用特权

评论回复
18
610095871| | 2012-6-11 22:44 | 只看该作者
本帖最后由 610095871 于 2012-6-11 22:45 编辑

刚看了代码 MAX_NUM_LZW_BITS=12
aBuffer[258];
aCode  [(1 << MAX_NUM_LZW_BITS)];
aPrefix[(1 << MAX_NUM_LZW_BITS)]
u8 aDecompBuffer[1000];
u32 _aColorTable[256];
u8 SDbuffer[256]
这样一看还是比较占内存的 一般情况下,前后缀用不了那么大 解码流缓存也可以适当的调整 解码程序可以看下UCGUI 3.98以上的版本, 我快注解完了,并且修改后使其支持了SD卡。一起讨论ing

使用特权

评论回复
19
610095871| | 2012-6-12 10:39 | 只看该作者
http://www.tudou.com/programs/view/m6V_0mbM0-k/
这个是刚整的视频,哈哈 图片有点那个啥 哈哈 希望和大家交流共同进步,像素很一般。

使用特权

评论回复
20
beyond696| | 2013-5-7 14:27 | 只看该作者

这是我刚刚实现的GIF解码视频,STM32F103+znFAT

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

39

主题

230

帖子

0

粉丝