亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? arithmetic_codec.h

?? 算術(shù)編碼程序源代碼
?? H
字號(hào):
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//                                                                           -
//                       ****************************                        -
//                        ARITHMETIC CODING EXAMPLES                         -
//                       ****************************                        -
//                                                                           -
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//                                                                           -
// Fast arithmetic coding implementation                                     -
// -> double-precision floating-point arithmetic                             -
//                                                                           -
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//                                                                           -
// Version 1.00  -  April 25, 2004                                           -
//                                                                           -
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//                                                                           -
//                                  WARNING                                  -
//                                 =========                                 -
//                                                                           -
// The only purpose of this program is to demonstrate the basic principles   -
// of arithmetic coding. It is provided as is, without any express or        -
// implied warranty, without even the warranty of fitness for any particular -
// purpose, or that the implementations are correct.                         -
//                                                                           -
// Permission to copy and redistribute this code is hereby granted, provided -
// that this warning and copyright notices are not removed or altered.       -
//                                                                           -
// Copyright (c) 2004 by Amir Said (said@ieee.org) &                         -
//                       William A. Pearlman (pearlw@ecse.rpi.edu)           -
//                                                                           -
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
//                                                                           -
// A description of the arithmetic coding method used here is available in   -
//                                                                           -
// Lossless Compression Handbook, ed. K. Sayood                              -
// Chapter 5: Arithmetic Coding (A. Said), pp. 101-152, Academic Press, 2003 -
//                                                                           -
// A. Said, Introduction to Arithetic Coding Theory and Practice             -
// HP Labs report HPL-2004-76  -  http://www.hpl.hp.com/techreports/         -
//                                                                           -
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -


#ifndef ARITHMETIC_CODEC
#define ARITHMETIC_CODEC

#include <stdio.h>


// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// - - Class definitions - - - - - - - - - - - - - - - - - - - - - - - - - - -

class Static_Bit_Model                         // static model for binary data
{
public:

  Static_Bit_Model(void);

  void set_probability_0(double);             // set probability of symbol '0'

private:  //  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
  double bit_0_prob;
  friend class Arithmetic_Codec;
};

// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

class Static_Data_Model                       // static model for general data
{
public:

  Static_Data_Model(void);
 ~Static_Data_Model(void);

  unsigned model_symbols(void) { return data_symbols; }

  void set_distribution(unsigned number_of_symbols,
                        const double probability[] = 0);    // 0 means uniform

private:  //  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
  unsigned data_symbols;
  double * distribution;                            // cumulative distribution
  friend class Arithmetic_Codec;
};


// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

class Adaptive_Bit_Model                     // adaptive model for binary data
{
public:

  Adaptive_Bit_Model(void);

  void reset(void);                             // reset to equiprobable model

private:  //  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
  void     update(void);
  double   bit_0_prob;
  unsigned update_cycle, bits_until_update, bit_0_count, bit_count;
  friend class Arithmetic_Codec;
};
                    
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

class Adaptive_Data_Model                   // adaptive model for general data
{
public:

  Adaptive_Data_Model(void);
  Adaptive_Data_Model(unsigned number_of_symbols);
 ~Adaptive_Data_Model(void);

  unsigned model_symbols(void) { return data_symbols; }

  void reset(void);                             // reset to equiprobable model
  void set_alphabet(unsigned number_of_symbols);

private:  //  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
  void       update(void);
  double   * distribution;                          // cumulative distribution
  unsigned * symbol_count;                     // counter of symbol occurences
  unsigned   data_symbols, total_count, update_cycle, symbols_until_update;
  friend class Arithmetic_Codec;
};


// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// - - Encoder and decoder class - - - - - - - - - - - - - - - - - - - - - - -

// Class with both the arithmetic encoder and decoder.  All compressed data is
// saved to a memory buffer.

class Arithmetic_Codec
{
public:

  Arithmetic_Codec(void);
 ~Arithmetic_Codec(void);
  Arithmetic_Codec(unsigned max_code_bytes,
                   unsigned char * user_buffer = 0);         // 0 = assign new

  unsigned char * buffer(void) { return code_buffer; }

  void set_buffer(unsigned max_code_bytes,
                  unsigned char * user_buffer = 0);          // 0 = assign new

  void     start_encoder(void);
  void     start_decoder(void);
  void     read_from_file(FILE * code_file);  // read code data, start decoder

  unsigned stop_encoder(void);                 // returns number of bytes used
  unsigned write_to_file(FILE * code_file);   // stop encoder, write code data
  void     stop_decoder(void);

  void     put_bit(unsigned bit);
  unsigned get_bit(void);

  void     put_bits(unsigned data, unsigned number_of_bits);
  unsigned get_bits(unsigned number_of_bits);

  void     encode(unsigned bit,
                  Static_Bit_Model &);
  unsigned decode(Static_Bit_Model &);

  void     encode(unsigned data,
                  Static_Data_Model &);
  unsigned decode(Static_Data_Model &);

  void     encode(unsigned bit,
                  Adaptive_Bit_Model &);
  unsigned decode(Adaptive_Bit_Model &);

  void     encode(unsigned data,
                  Adaptive_Data_Model &);
  unsigned decode(Adaptive_Data_Model &);

private:  //  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
  void     propagate_carry(void);
  void     renorm_enc_interval(void);
  void     renorm_dec_interval(void);
  unsigned buffer_size, mode;     // mode: 0 = undef, 1 = encoder, 2 = decoder
  double   base, value, length;           // arithmetic coding state variables
  unsigned char * code_buffer, * new_buffer, * ac_pointer;
};

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */

#endif

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99国产精品免费网站| 精品对白一区国产伦| 国产精品主播直播| 奇米一区二区三区av| 天天av天天翘天天综合网色鬼国产| 中文字幕在线不卡视频| 中文字幕一区二区三中文字幕| 亚洲欧洲精品一区二区精品久久久 | 一本久久a久久精品亚洲| 97国产一区二区| 91小宝寻花一区二区三区| 色综合久久中文综合久久97| 一本久久精品一区二区| 9191国产精品| 久久先锋影音av| 中文字幕一区免费在线观看| 亚洲主播在线观看| 蜜桃av一区二区| 国产福利一区二区三区视频 | 亚洲欧美欧美一区二区三区| 一区二区三区在线视频免费 | 丰满少妇在线播放bd日韩电影| 狠狠狠色丁香婷婷综合久久五月| 激情综合色丁香一区二区| 国产盗摄女厕一区二区三区| 色又黄又爽网站www久久| 欧美一区日韩一区| 国产农村妇女毛片精品久久麻豆| 尤物av一区二区| 天天综合天天综合色| 国产一区二区三区在线观看免费视频 | 亚洲欧美另类综合偷拍| 香蕉久久夜色精品国产使用方法| 国产一区二区0| 欧美性感一区二区三区| 国产午夜精品一区二区三区视频| 1024亚洲合集| 九一九一国产精品| 91福利视频久久久久| 久久夜色精品一区| 亚洲r级在线视频| 成人性生交大片免费看视频在线 | 麻豆精品视频在线观看视频| 成人性生交大片免费看在线播放 | 亚瑟在线精品视频| 波多野结衣中文一区| 日韩精品一区二区三区三区免费| 亚洲私人黄色宅男| 国产伦精一区二区三区| 在线不卡一区二区| 亚洲图片激情小说| 成人午夜av电影| 日韩欧美国产精品一区| 亚洲综合一二三区| 92精品国产成人观看免费| 久久久蜜桃精品| 久久国产精品露脸对白| 91精品免费在线| 亚洲国产一区在线观看| 色伊人久久综合中文字幕| 国产三区在线成人av| 九九**精品视频免费播放| 欧美狂野另类xxxxoooo| 亚洲制服丝袜在线| 91免费版pro下载短视频| 国产精品国产精品国产专区不蜜 | 91老师国产黑色丝袜在线| 国产精品美女一区二区三区| 国产综合色在线| 26uuu色噜噜精品一区| 毛片基地黄久久久久久天堂| 91麻豆精品国产91久久久更新时间 | 国产精品 日产精品 欧美精品| 7777精品伊人久久久大香线蕉的| 亚洲影院理伦片| 欧美日韩一区久久| 日日夜夜精品视频天天综合网| 欧美在线观看视频一区二区| 亚洲一区中文在线| 欧美精品久久一区| 喷水一区二区三区| 欧美一级专区免费大片| 久久激情综合网| 久久久综合精品| www.欧美.com| 亚洲一区在线观看网站| 欧美一级理论片| 国产91丝袜在线播放0| 国产目拍亚洲精品99久久精品| 国产xxx精品视频大全| 亚洲欧美韩国综合色| 欧美老女人在线| 国产自产高清不卡| 综合激情成人伊人| 欧美日韩国产不卡| 国产一区高清在线| 亚洲女人的天堂| 欧美一卡2卡三卡4卡5免费| 国产高清久久久久| 一区二区三区久久久| 欧美一二三四在线| 成人综合在线观看| 亚洲成av人片一区二区| 久久久久99精品一区| 一本大道久久精品懂色aⅴ| 亚洲网友自拍偷拍| 精品国产91久久久久久久妲己 | 精品一区二区免费| 亚洲色图欧美在线| 日韩午夜激情av| 91麻豆国产福利精品| 国产综合久久久久久鬼色| 亚洲精品日日夜夜| 久久九九全国免费| 在线播放/欧美激情| 99re成人精品视频| 黄色资源网久久资源365| 亚洲一区中文在线| 国产精品二三区| 日韩精品一区二区三区四区视频| 91香蕉视频污在线| 国产高清视频一区| 另类小说一区二区三区| 一区二区三区四区视频精品免费 | 欧美精品久久99久久在免费线| 国产成人三级在线观看| 亚洲va欧美va天堂v国产综合| 欧美经典一区二区| 日韩欧美一级在线播放| 欧美丝袜丝nylons| 91在线porny国产在线看| 国产精品123| 国产福利精品一区| 国内久久精品视频| 日本不卡在线视频| 午夜精品视频一区| 亚洲综合色在线| 亚洲激情中文1区| 国产精品蜜臀在线观看| 国产欧美一区二区精品性| 欧美精品一区二区三区在线播放| 欧美无人高清视频在线观看| 91亚洲男人天堂| 99热99精品| av激情综合网| bt7086福利一区国产| 成人免费毛片嘿嘿连载视频| 国产乱国产乱300精品| 国产精品一区二区在线观看不卡 | 中文字幕在线免费不卡| 国产欧美一区二区精品忘忧草 | 欧美日韩黄色一区二区| 欧美亚洲图片小说| 欧美三级韩国三级日本一级| 欧美日韩一二区| 欧美性受xxxx黑人xyx| 欧美精品高清视频| 日韩一区二区视频在线观看| 精品少妇一区二区三区在线播放| 欧美xxxxxxxx| 国产精品免费观看视频| 亚洲女性喷水在线观看一区| 亚洲国产精品一区二区久久 | xvideos.蜜桃一区二区| 久久网站最新地址| 国产精品欧美一区二区三区| 日韩理论片在线| 婷婷国产在线综合| 久久精品国产**网站演员| 成人网页在线观看| 色偷偷一区二区三区| 在线电影国产精品| 久久色中文字幕| 亚洲欧洲综合另类| 日本在线播放一区二区三区| 六月丁香婷婷色狠狠久久| 成人午夜视频在线观看| 欧美综合一区二区三区| 日韩精品一区二区三区蜜臀| 中文字幕av不卡| 午夜一区二区三区视频| 国产成人福利片| 欧美午夜精品久久久久久超碰| 91精品国产91热久久久做人人| 久久精品夜色噜噜亚洲a∨| 亚洲欧洲制服丝袜| 国产呦萝稀缺另类资源| 91成人在线精品| 精品国产一区久久| 一区二区三区国产豹纹内裤在线 | 国产亚洲精品aa| 亚洲123区在线观看| 国产精华液一区二区三区| 日本道精品一区二区三区| 精品电影一区二区三区| 亚洲影视资源网| 成+人+亚洲+综合天堂| 日韩一区二区三区av| 一区二区三区在线播| 国产精品一区二区视频|