搜索
bottom↓
回复: 49

STM32移植 MINI LZO 2.09算法

  [复制链接]

出0入0汤圆

发表于 2015-4-13 10:16:28 | 显示全部楼层 |阅读模式
来个简介:
LZO 库实现了许多有下述特点的算法:
* 解压简单,速度非常快。
* 解压不需要内存。
* 压缩相当地快。
* 压缩需要 64 kB 的内存。
* 允许在压缩部分以损失压缩速度为代价提高压缩率,解压速度不会降低。
* 包括生成预先压缩数据的压缩级别,这样可以得到相当有竞争力的压缩比。
* 另外还有一个只需要 8 kB 内存的压缩级别。
* 算法是线程安全的。
* 算法是无损的。
LZO 支持重复压缩以及原地解压。
LZO 是块压缩算法——压缩解压成块的数据。压缩与解压所用块的大小必须一样。
LZO 将数据块压缩成匹配数据(滑动字典)与非匹配文字的序列。LZO 对于较长的匹配数据以及较长的非匹配文字序列有专门的处理,这样对于高度冗余的数据能够取得很好的效果,并且对于不可压缩的数据也能得到可以接受的效果。
当处理不可压缩数据的时候,LZO 将每个 1024 字节的输入数据块扩展 16 字节。
据报道 LZO 也在 AIX、 ConvexOS、IRIX、Mac OS、Palm OS、 PS1(PlayStation)、Solaris、SunOS、TOS (Atari ST) 以及 VxWorks 上得到实现。


STM32 移植算法,MINI LZO 2.09源码见附件



附上调试结果

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

 楼主| 发表于 2015-4-13 10:18:01 | 显示全部楼层
沙发自己坐坐,能火吗??

出0入0汤圆

 楼主| 发表于 2015-4-13 10:21:58 | 显示全部楼层
源码地址http://www.oberhumer.com/opensource/lzo/

出0入0汤圆

发表于 2015-4-13 10:30:38 | 显示全部楼层
绝对好东西,强力顶起楼主,已经收下,准备研究研究

出0入0汤圆

 楼主| 发表于 2015-4-13 10:37:21 | 显示全部楼层
Eric2013 发表于 2015-4-13 10:30
绝对好东西,强力顶起楼主,已经收下,准备研究研究

提高数据传输速率还是比较好的

出0入0汤圆

发表于 2015-4-13 10:41:11 | 显示全部楼层
xld826 发表于 2015-4-13 10:37
提高数据传输速率还是比较好的

请教楼主,这个的压缩率能搞到多少,在官方地址上面没有看到。

出0入0汤圆

 楼主| 发表于 2015-4-13 10:50:28 | 显示全部楼层
Eric2013 发表于 2015-4-13 10:41
请教楼主,这个的压缩率能搞到多少,在官方地址上面没有看到。

这个没有具体说明,要看你数据复杂度。

出0入0汤圆

 楼主| 发表于 2015-4-13 10:51:25 | 显示全部楼层
Eric2013 发表于 2015-4-13 10:41
请教楼主,这个的压缩率能搞到多少,在官方地址上面没有看到。

以下是Google几年前发布的一组测试数据(数据有些老了,有人近期做过测试的话希望能共享出来):
Algorithm        % remaining        Encoding        Decoding
GZIP        13.4%        21 MB/s        118 MB/s
LZO        20.5%        135 MB/s        410 MB/s
Zippy/Snappy        22.2%        172 MB/s        409 MB/s

出0入0汤圆

发表于 2015-4-13 10:54:31 | 显示全部楼层
xld826 发表于 2015-4-13 10:51
以下是Google几年前发布的一组测试数据(数据有些老了,有人近期做过测试的话希望能共享出来):
Algorit ...

非常感谢

出0入0汤圆

发表于 2015-4-13 14:35:43 来自手机 | 显示全部楼层
这个要看数据的,我以前移植过,一般能到原来的60%左右

出0入0汤圆

发表于 2015-5-17 01:12:36 | 显示全部楼层
支持,有空学习下

出0入0汤圆

发表于 2015-5-17 06:18:16 | 显示全部楼层
好东西,下下来学习学习

出20入0汤圆

发表于 2016-1-8 14:00:52 | 显示全部楼层
  谢谢分享。

出0入22汤圆

发表于 2016-1-8 14:15:33 | 显示全部楼层
不错                             

出0入0汤圆

发表于 2016-1-8 14:28:07 来自手机 | 显示全部楼层
需要64k内存stm32够用吗

出0入0汤圆

发表于 2016-1-8 14:41:03 | 显示全部楼层
mark一下

出0入0汤圆

 楼主| 发表于 2016-1-8 15:20:02 | 显示全部楼层
changxiaoqing11 发表于 2016-1-8 14:28
需要64k内存stm32够用吗

STM32 E版本够的,具体需要多大没计算

出0入0汤圆

发表于 2016-1-8 16:38:53 | 显示全部楼层
支持下,回来试下。

出0入0汤圆

发表于 2016-1-9 23:45:03 | 显示全部楼层
顶一个,多谢分享了

出0入0汤圆

发表于 2016-1-11 22:47:42 | 显示全部楼层
谢谢楼主分享!!!

出0入42汤圆

发表于 2016-1-12 07:56:03 | 显示全部楼层
好东西  楼主做的不错  用心的资料

出0入0汤圆

发表于 2016-1-12 10:35:11 | 显示全部楼层
楼主也可以试试  lz4 压缩/解压缩速度更快。

出0入0汤圆

 楼主| 发表于 2016-1-12 15:51:46 | 显示全部楼层
okplay 发表于 2016-1-12 10:35
楼主也可以试试  lz4 压缩/解压缩速度更快。

确实不错,感谢分享!

出0入4汤圆

发表于 2016-7-27 11:21:20 | 显示全部楼层
这个在室外长通讯很合适,减少传输数据量

出0入0汤圆

发表于 2016-7-27 12:01:08 | 显示全部楼层
不知道楼主有没有使用过,对其是否了解

解压内存有没有限制,真有8k内存的选项?

出0入90汤圆

发表于 2016-7-27 13:24:29 | 显示全部楼层
像这样的资料,还是很有价值的。赞一个

出0入0汤圆

发表于 2018-8-23 08:49:52 | 显示全部楼层
最近要使用,非常感谢楼主

出0入0汤圆

发表于 2018-8-23 08:52:50 | 显示全部楼层
还不知道这东西在STM32上能拿来干嘛的,哈哈哈,谢谢楼主

出0入0汤圆

发表于 2018-8-23 11:46:09 | 显示全部楼层
正在寻找单片机相关的压缩算法,谢谢楼主

出0入4汤圆

发表于 2018-8-23 17:56:15 | 显示全部楼层
好东西,赞一个!!!

出140入8汤圆

发表于 2018-8-24 07:36:05 | 显示全部楼层
感谢楼主分享,太给力了

出0入0汤圆

发表于 2018-9-7 16:18:54 | 显示全部楼层

感谢楼主分享,太给力了

出0入0汤圆

发表于 2018-9-7 21:35:43 | 显示全部楼层
能够解压标准的PC生成的ZIP文件吗?

出0入0汤圆

发表于 2018-9-8 09:33:57 来自手机 | 显示全部楼层
牛B啊,好好学习

出0入0汤圆

发表于 2018-9-11 10:47:21 | 显示全部楼层
好资料,学习一下

出0入0汤圆

发表于 2018-9-11 22:34:40 | 显示全部楼层
算法的研究,谢谢提供的资料

出0入90汤圆

发表于 2018-9-27 19:57:27 | 显示全部楼层
老兄,你这个解压缩你知道咋整吗?
你的例子我都跑通了。但是你这个有问题啊。
你是压缩几K的内容,然后变成N字节。然后你再把这N字节解压缩。

如果你是要压缩几MB的文件呢,那就只能一次压缩几K,分段压缩最后生成一个NK的文件。
这个NK的文件,你要解压缩你怎么解压。你根本不知道一次取多少字节了。

出0入0汤圆

 楼主| 发表于 2018-9-27 22:13:25 | 显示全部楼层
honami520 发表于 2018-9-27 19:57
老兄,你这个解压缩你知道咋整吗?
你的例子我都跑通了。但是你这个有问题啊。
你是压缩几K的内容,然后变 ...

大兄弟,解压缩API接口的实参必须是已知长度。你的应用没考虑过。

出0入90汤圆

发表于 2018-9-27 22:38:50 | 显示全部楼层
那就糟糕了。也就是说这个玩意编码、解码,都是只能1个包来操作了。不好玩啊,如果很大的文件压缩、解压缩怎么处理呢?

出0入0汤圆

发表于 2018-9-28 02:57:33 来自手机 | 显示全部楼层
honami520 发表于 2018-9-27 22:38
那就糟糕了。也就是说这个玩意编码、解码,都是只能1个包来操作了。不好玩啊,如果很大的文件压缩、解压缩 ...

难道如果你有1m的数据,你要用至少1m的内存来放压缩数据?那来个1.1m的你不是要升级到2m的内存才行?

出0入0汤圆

发表于 2018-9-28 17:33:35 | 显示全部楼层
好东西,赞一个!!!

出0入0汤圆

发表于 2019-3-7 18:33:12 | 显示全部楼层

好东西,赞一个!!!

出0入0汤圆

发表于 2019-3-9 10:21:35 | 显示全部楼层
压缩算法,减少数据传输量

出0入0汤圆

发表于 2019-11-1 16:10:56 | 显示全部楼层
压缩算法不错,试试看看

出0入0汤圆

发表于 2019-11-1 17:22:17 | 显示全部楼层
压缩算法学习来了

出0入0汤圆

发表于 2019-11-2 09:36:27 | 显示全部楼层
好东西,太给力了,谢谢!

出0入0汤圆

发表于 2020-3-6 15:35:03 | 显示全部楼层
这个工程测试了一下,还是不错的

http://www.embed-net.com/thread-192-1-1.html

出0入0汤圆

发表于 2020-3-6 16:42:50 | 显示全部楼层
留个爪,说不定能用到这种压缩算法

出0入4汤圆

发表于 2020-3-6 17:30:27 来自手机 | 显示全部楼层
这个必须试试

出0入4汤圆

发表于 2020-3-6 17:30:27 来自手机 | 显示全部楼层
这个必须试试

出0入0汤圆

发表于 2023-11-23 17:38:18 | 显示全部楼层
这个支持对文件夹进行 压缩、解压吗
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-25 10:04

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表