• 大小: 17KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-04
  • 语言: C/C++
  • 标签: Arithmetic  Code  

资源简介

根据算术编码基本流程, 学习自适应0阶算术编、解码方法,并利用C++实现编码过程。

资源截图

代码片段和文件信息

// Ac_algo.cpp : 定义控制台应用程序的入口点。
//
#include “stdafx.h“
#include “ModelOrder0C.h“

using namespace std;



// signature: “ACMC“ (0x434D4341 intel byte order)
const int g_Signature = 0x434D4341;

int __cdecl main(int argc char *argv[])
{
cout << “Arithmetic Coding“ << endl;

if( argc != 3 )
{
cout << “Syntax: AC source target“ << endl;
return 1;
}

fstream source target;
ModelI* model;

// choose model here just order-0
model = new ModelOrder0C;

source.open( argv[1] ios::in | ios::binary );
target.open( argv[2] ios::out | ios::binary );

if( !source.is_open() )
{
cout << “Cannot open input stream“;
return 2;
}
if( !target.is_open() )
{
cout << “Cannot open output stream“;
return 3;
}

unsigned int signature;
source.read(reinterpret_cast(&signature)sizeof(signature));
if( signature == g_Signature )
{
cout << “Decoding “ << argv[1] << “ to “ << argv[2] << endl;
model->Process( &source &target MODE_DECODE );
}
else
{
cout << “Encoding “ << argv[1] << “ to “ << argv[2] << endl;
source.seekg( 0 ios::beg );
target.write( reinterpret_cast(&g_Signature)
sizeof(g_Signature) );
model->Process( &source &target MODE_ENCODE );
}

source.close();
target.close();

return 0;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2009-12-11 23:43  Ac_algo\
     文件        1343  2007-08-18 10:02  Ac_algo\Ac_algo.cpp
     文件       68608  2007-08-25 23:34  Ac_algo\Ac_algo.ncb
     文件         903  2007-08-18 09:54  Ac_algo\Ac_algo.sln
     文件       12800  2007-08-25 23:34  Ac_algo\Ac_algo.suo
     文件        4270  2007-08-18 09:57  Ac_algo\Ac_algo.vcproj
     文件        4586  2007-08-18 09:59  Ac_algo\ArithmeticCoderC.cpp
     文件         924  2007-08-18 09:58  Ac_algo\ArithmeticCoderC.h
     文件         386  2007-08-18 09:59  Ac_algo\ModelI.cpp
     文件         377  2007-08-18 09:17  Ac_algo\ModelI.h
     文件        1464  2007-08-18 10:21  Ac_algo\ModelOrder0C.cpp
     文件         270  2001-11-27 17:25  Ac_algo\ModelOrder0C.h
     文件         991  2007-08-18 09:54  Ac_algo\ReadMe.txt
     文件         991  2007-08-18 10:04  Ac_algo\decode.txt
     文件         211  2007-08-18 09:54  Ac_algo\stdafx.cpp
     文件         195  2007-08-18 09:55  Ac_algo\stdafx.h
     文件         715  2007-08-18 10:03  Ac_algo\target.txt
     文件         109  2001-11-15 17:50  Ac_algo\tools.h

评论

共有 条评论