• 大小: 2.06MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-11
  • 语言: C/C++
  • 标签: spiht  

资源简介

一个关于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\linkList.obj

     文件      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个文件信息

评论

共有 条评论

相关资源