资源简介
一个关于spiht的c++版本的程序源代码,希望有助于学习小波编码
代码片段和文件信息
// ARITHCoding.cpp: implementation of the CARITHCoding class.
//
//////////////////////////////////////////////////////////////////////
#include “stdafx.h“
#include “HIC.h“
#include “ARITHCoding.h“
#include “math.h“
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
static unsigned short qe_value[47]=
{0x56010x34010x18010x0ac10x05210x02210x56010x5401
0x48010x38010x30010x24010x1c010x16010x56010x5401
0x51010x48010x38010x34010x30010x28010x24010x2201
0x1c010x18010x16010x14010x12010x11010x0ac10x09c1
0x08a10x05210x04410x02a10x02210x01410x01110x0085
0x00490x00250x00150x00090x00050x00010x5601};
static unsigned short nmps[47]=
{1 2 3 4 5 387 8 9 1011121329151617181920
2122232425262728293031323334353637383940
41424344454546};
static unsigned short nlps[47]=
{1 6 9 1229336 14141417182021141415161718
1919202122232425262728293031323334353637
38394041424346};
static unsigned short flag[47]=
{10000010000000100000000000000
00000000000000000};
static unsigned short a_registerctmps[20]index[20];
static unsigned long c_registerbpb0b1CC;
static long BytesLimitscTByteLimit; // size limited by compressed image size.
static long num_of_packed_bytes=0; // total bytes written out.
static long num_of_unpacked_bytes=0; // total bytes read in.
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CARITHCoding::CARITHCoding()
{
}
CARITHCoding::~CARITHCoding()
{
}
/**************************************************************************
完成算术编码的初始化 MQ_EncoderInit()
**************************************************************************/
void CARITHCoding::MQ_EncoderInit()
{
short i;
a_register=0x8000;
c_register=0;
ct=12;
bp=0;
sc=0;
for(i=0;i<20;i++)
{
index[i]=0;
mps[i]=0;
if(i==0) index[i]=4;
if(i==17) index[i]=3;
if((i==18)||(i==19)) index[i]=46;
}
}
/**************************************************************************
算术编码的主函数 pack1()
**************************************************************************/
long CARITHCoding::pack1(short bit_num short bit_value short con)
{
short if_bit;
for(i=0;i {
f_bit=bit_value>>i;
if((f_bit&1)==mps[con])
{
a_register-=qe_value[index[con]];
if((a_register&0x8000)==0)
{
if(a_register else c_register+=qe_value[index[con]];
index[con]=nmps[index[con]];
do{
a_register<<=1;
c_register<<=1;
ct--;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 10429 2007-09-01 20:27 Lossless coding\ARITHCoding.cpp
文件 1389 2007-08-31 10:30 Lossless coding\ARITHCoding.h
文件 25298 2011-08-13 10:08 Lossless coding\Debug\ARITHCoding.obj
文件 49411 2011-08-13 10:08 Lossless coding\Debug\Dib.obj
文件 208964 2011-08-13 10:33 Lossless coding\Debug\HIC.exe
文件 437832 2011-08-13 10:33 Lossless coding\Debug\HIC.ilk
文件 22778 2011-08-13 10:30 Lossless coding\Debug\HIC.obj
文件 5499376 2011-08-13 10:08 Lossless coding\Debug\HIC.pch
文件 451584 2011-08-13 10:09 Lossless coding\Debug\HIC.pdb
文件 6756 2011-08-13 10:09 Lossless coding\Debug\HIC.res
文件 46358 2011-08-13 10:08 Lossless coding\Debug\HICDoc.obj
文件 25929 2011-08-13 10:08 Lossless coding\Debug\HICView.obj
文件 15054 2011-08-13 10:08 Lossless coding\Debug\IntDwt53.obj
文件 49346 2011-08-13 10:08 Lossless coding\Debug\JPEG_LS.obj
文件 9556 2011-08-13 10:08 Lossless coding\Debug\li
文件 19857 2011-08-13 10:09 Lossless coding\Debug\MainFrm.obj
文件 1845 2011-08-13 10:08 Lossless coding\Debug\MATRIX2D.obj
文件 33847 2011-08-13 10:08 Lossless coding\Debug\SPIHTCoder.obj
文件 15852 2011-08-13 10:08 Lossless coding\Debug\SPTransform.obj
文件 105568 2011-08-13 10:08 Lossless coding\Debug\StdAfx.obj
文件 238592 2011-08-13 11:06 Lossless coding\Debug\vc60.idb
文件 372736 2011-08-13 10:08 Lossless coding\Debug\vc60.pdb
文件 22791 2003-06-28 21:16 Lossless coding\Dib.cpp
文件 2530 2007-08-19 16:32 Lossless coding\Dib.h
文件 28532 2007-11-01 16:57 Lossless coding\HIC.APS
文件 1916 2007-11-01 16:57 Lossless coding\HIC.clw
文件 4155 2005-09-15 21:12 Lossless coding\HIC.cpp
文件 5517 2005-10-29 17:18 Lossless coding\HIC.dsp
文件 531 2005-09-15 21:12 Lossless coding\HIC.dsw
文件 1323 2005-09-15 21:12 Lossless coding\HIC.h
............此处省略38个文件信息
评论
共有 条评论