- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LZ77压缩算法(C语言版)
测试压缩一个425K的文件需要9.4秒,压缩后的文件为177K。
/*********************************************************************
*
* Project description:
* Lz77 compression/decompression algorithm.
*
*********************************************************************/
#include windows.h
#include conio.h
#include stdio.h
#include assert.h
#define OFFSET_CODING_LENGTH (10)
#define MAX_WND_SIZE 1024
//#define MAX_WND_SIZE (1OFFSET_CODING_LENGTH)
#define OFFSET_MASK_CODE (MAX_WND_SIZE-1)
const ULONG m=3;
UCHAR __buffer1__[0x200000];
UCHAR __buffer2__[0x200000];
////////////////////////////////////////////////////////////////////////////////
void
Write1ToBitStream(
PUCHAR pBuffer,
ULONG ulBitOffset
)
{
ULONG ulByteBoundary;
ULONG ulOffsetInByte;
ulByteBoundary = ulBitOffset3 ;
ulOffsetInByte = ulBitOffset7;
*(pBuffer+ulByteBoundary) |= (1ulOffsetInByte);
}
void
Write0ToBitStream(
PUCHAR pBuffer,
ULONG ulBitOffset
)
{
ULONG ulByteBoundary;
ULONG ulOffsetInByte;
ulByteBoundary = ulBitOffset3 ;
ulOffsetInByte = ulBitOffset7;
*(pBuffer+ulByteBoundary) = (~(1ulOffsetInByte));
}
ULONG
ReadBitFromBitStream(
PUCHAR pBuffer,
ULONG ulBitOffset
)
{
ULONG ulByteBoundary;
ULONG ulOffsetInByte;
ulByteBoundary = ulBitOffset3 ;
ulOffsetInByte = ulBitOffset7;
return ((*(PULONG)(pBuffer+ulByteBoundary))ulOffsetInByte)1 ;
}
ULONG WINAPI
WriteGolombCode(
ULONG x,
PUCHAR pBuffer,
ULONG ulBitOffset
)
{
ULONG q, r;
int i;
q = (x-1)m;
r = x-(qm)-1;
for(i=0; (ULONG)iq; i++, ulBitOffset++)
{
Write1ToBitStream(pBuffer, ulBitOffset);
}
Write0ToBitStream(pBuffer, ulBitOffset);
ulBitOffset++;
for(i=0; im; i++, ulBitOffset++)
{
if( (ri)1 )
{
Write1ToBitStream(pBuffer, ulBitOffset);
}
else
{
Write0ToBitStream(pBuffer, ulBitOffset);
您可能关注的文档
- JBT ¸- 圆柱齿轮减速器 通用技术条件.pdf
- Linu下的网络启动.pdf
- Phtshp Phtshp Phtshp Phtshp 无缝贴图制作技巧来源中华.pdf
- PVPL浴室用品套装系列的开发说明及销售与使用指引.ppt
- PV-PR--汇美舍精油系列陈列培训教案().ppt
- 探秘铜耐性植物微生物组:内生与根际细菌多样性及铜富集强化机制.docx
- 生态环境损害赔偿诉讼中生态环境修复责任的司法适用:困境与突破.docx
- 论物权法视角下警察优先使用权的规范行使与权益平衡.docx
- 碳关税对中国的多维影响及法律应对策略探析.docx
- 磁共振监控高强度聚焦超声:子宫肌瘤治疗的创新与展望.docx
- 地域文化与人性书写:葛水平小说创作的多维审视.docx
- 完善我国荒漠化防治法律体系:问题剖析与路径探索.docx
- 李凯尔特文化科学概念研究.docx
- 空间受限环境下复杂金属氧化物的涌现现象与机制探究.docx
- 青岛家电产业集群:发展、挑战与突破路径研究.docx
- 工艺变量对多元Al-Si合金热疲劳性能的影响与机制探究.docx
- 长杆弹侵彻半无限靶:数值模拟与理论模型的深度剖析.docx
- 基于Davinci技术的嵌入式Web视频监控系统:设计、实现与性能优化.docx
- 脑脊液IgG对实验性自身免疫性脑脊髓炎大鼠疾病进程的调控机制探究.docx
- 困境与突破:朝阳市基层检察机关经费保障机制探究.docx
最近下载
- 工商业储能项目商业计划书.docx
- 《主成分分析PCA》课件.ppt VIP
- 2024年秋季学期新外研版英语三年级上册课件 Unit 5 课时3 Fuel up.pptx
- HG∕T 2680-2017_工业硫酸镁 最新标准规范.pdf VIP
- 汽车维修中级工考证期末试卷.docx VIP
- 〖初中地理〗中国的工业课件-2025-2026学年八年级地理上学期(湘教版2024).pptx VIP
- 品牌授权使用合同.docx VIP
- 马克•温斯坦:高胜算交易者.pdf VIP
- 跨国公司海外项目当地员工安全培训与保障制度.pptx VIP
- 河南师范大学 340农业知识综合二 2014-2019(缺2016)年考研专业课真题.pdf VIP
原创力文档


文档评论(0)