RecognizeAward

所属分类:其他小程序
开发工具:Visual C++
文件大小:93KB
下载次数:352
上传日期:2005-09-19 13:42:14
上 传 者xindi3
说明:  rom映象识别程序,可以识别出AMI,PHOENIX,AWARD的BIOS映象
(rom image identification procedures, can be identified AMI, PHOENIX, AWARD BIOS image)

文件列表:
RecognizeAward\lzhengine\decode.cpp (1551, 2005-09-16)
RecognizeAward\lzhengine\encode.cpp (6499, 2005-09-16)
RecognizeAward\lzhengine\huf.cpp (18602, 2005-09-14)
RecognizeAward\lzhengine\huf.cpp.bak (15590, 2005-09-15)
RecognizeAward\lzhengine\io.cpp (3939, 2005-09-16)
RecognizeAward\lzhengine\lzh.cpp (4868, 2005-09-16)
RecognizeAward\lzhengine\lzh.h (2043, 2005-09-16)
RecognizeAward\lzhengine\lzhEngine.h (3316, 2005-09-16)
RecognizeAward\lzhengine\maketbl.cpp (2396, 2005-09-14)
RecognizeAward\lzhengine\maketree.cpp (6194, 2005-09-14)
RecognizeAward\lzhengine\types.h (1558, 2005-09-16)
RecognizeAward\lzhengine\vssver.scc (208, 2005-09-14)
RecognizeAward\lzhengine (0, 2005-09-15)
RecognizeAward\mssccprj.scc (165, 2005-09-16)
RecognizeAward\RecognizeAward\BiosRom.cpp (15014, 2005-09-16)
RecognizeAward\RecognizeAward\BiosRom.h (1278, 2005-09-16)
RecognizeAward\RecognizeAward\Compress.cpp (1260, 2005-09-16)
RecognizeAward\RecognizeAward\Compress.h (1406, 2005-09-16)
RecognizeAward\RecognizeAward\defines.h (3882, 2005-09-16)
RecognizeAward\RecognizeAward\DlgProxy.cpp (2449, 2005-09-16)
RecognizeAward\RecognizeAward\DlgProxy.h (690, 2005-09-16)
RecognizeAward\RecognizeAward\mssccprj.scc (183, 2005-09-16)
RecognizeAward\RecognizeAward\RecognizeAward.aps (45140, 2005-09-16)
RecognizeAward\RecognizeAward\RecognizeAward.cpp (3063, 2005-09-16)
RecognizeAward\RecognizeAward\RecognizeAward.h (522, 2005-09-16)
RecognizeAward\RecognizeAward\RecognizeAward.idl (619, 2005-09-16)
RecognizeAward\RecognizeAward\RecognizeAward.rc (7088, 2005-09-16)
RecognizeAward\RecognizeAward\RecognizeAward.reg (673, 2005-09-16)
RecognizeAward\RecognizeAward\RecognizeAward.vcproj (7581, 2005-09-16)
RecognizeAward\RecognizeAward\RecognizeAward.vcproj.vspscc (279, 2005-09-16)
RecognizeAward\RecognizeAward\RecognizeAwardDlg.cpp (30827, 2005-09-16)
RecognizeAward\RecognizeAward\RecognizeAwardDlg.h (1908, 2005-09-16)
RecognizeAward\RecognizeAward\RecognizeAward_h.h (5519, 2005-09-14)
RecognizeAward\RecognizeAward\RecognizeAward_i.c (2058, 2005-09-14)
RecognizeAward\RecognizeAward\RecognizeDirs.cpp (17582, 2005-09-16)
RecognizeAward\RecognizeAward\RecognizeDirs.h (906, 2005-09-16)
RecognizeAward\RecognizeAward\res\RecognizeAward.ico (21630, 2005-09-16)
RecognizeAward\RecognizeAward\res\RecognizeAward.manifest (703, 2005-09-16)
... ...

相关知识资料: 数据结构中的二叉树,huffman编码,平衡二叉树,堆,线性表存储满二叉树 数据压缩的行程编码(RLE),LZ77,LZSS和改进的LZSS,静态huffman压缩方法,及其8种改进实现方法 RFC1951 zlib( unix 下的压缩库) 压缩源代码:jlha--java的lha的压缩源代码 ar002及其以后的改写版本 http://datacompression.info/ 1.整体流程 本压缩算法由LZSS和静态huffman压缩算法联合使用,并对输入流采用分块的方式,每块独立压缩的方法 LZSS采用了线性表方式存储的二叉排序树的方法实现窗口内的串快速匹配 对于每一块都存储一个静态huffman编码的码长表,而这个码长表又用了静态huffman法压缩了,码长表的码长表又用了 行程编码的压缩方法压缩了,即静态huffman编码的码长表不是直接存储在输出中的,而是经过了静态huffman和RLE的两次压缩 才存入输出的 2。每个函数作用 3。LZSS输出格式 1byte :每一位指示后面的是字符还是(长度,位置)对,=1 是(长度,位置)对 =0 是字符 不定长:8个字符或8个(长度,位置)对,或8个字符,(长度,位置)对的任意组合 4。HUFFMAN输出格式,每一个块。 块长:16位 字符码长表的码长表的RLE压缩后的长度:NT bits长 字符码长表的码长表的RLE压缩码:不定长 字符码长表的码长表的静态huffman压缩码的长度:CBIT bits长 字符码长表的码长表的静态huffman压缩码:不定长 位置码长表的长度:NP bits长 连续的huffman压缩码 5。名词解释 码长表表示每一个字符对应的huffman码的长度 //码长表每个码长有多少个huffman码 频率表:下表是原始字符值,表中存的是这个字符出现的次数 huffman树: 堆: 每层叶节点数: 码长:huffman树叶的深度 6。常量值定义 //--------- io.cpp ---------- #define BITBUFSIZ (CHAR_BIT * sizeof(bitbuf)) //CHAR_BIT = 8,输入位缓冲区的大小,以位计 //--------- encode.cpp / decode.cpp ----------- #define DICBIT 13 // 12(-lh4-) or 13(-lh5-) //字典长度13位 #define DICSIZ (ushort)(1U << DICBIT) //字典大小 #define MAXMATCH 256 // formerly F (not more than UCHAR_MAX + 1) //最大串匹配长度 #define THRESHOLD 3 // choose optimal value //是否用(长度,位置)对压缩还是输出原始字符 //--------- huf.cpp ---------- #define NC (UCHAR_MAX + MAXMATCH + 2 - THRESHOLD) //字符和匹配长度合在一起的编码数量 // alphabet = {0, 1, 2, ..., NC - 1} #define CBIT 9 // $\lfloor \log_2 NC \rfloor + 1$ //表示字符和匹配长度合在一起的编码数量所需的位数 #define CODE_BIT 16 // codeword length //静态huffman码的最大长度???? #define NP (DICBIT + 1) //位置码长表的大小 #define NT (CODE_BIT + 3) //字符码长表的码长表的大小,因为t_freq[0],t_freq[1],t_freq[2]有特殊作用所以长度要增加3 #define PBIT 4 /* smallest integer such that (1U << PBIT) > NP */ //位置码长表的长度 #define TBIT 5 /* smallest integer such that (1U << TBIT) > NT */ //字符码长表的码长表的长度 #if NT > NP #define NPT NT #else #define NPT NP #endif i_special = 3 //对码长特殊处理的起始码长

近期下载者

相关文件


收藏者