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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? compress.c

?? dc++(一個曾經(jīng)大量使用的p2p)的源代碼,dc++,開源的p2p源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*-------------------------------------------------------------*//*--- Compression machinery (not incl block sorting)        ---*//*---                                            compress.c ---*//*-------------------------------------------------------------*//*--  This file is a part of bzip2 and/or libbzip2, a program and  library for lossless, block-sorting data compression.  Copyright (C) 1996-2002 Julian R Seward.  All rights reserved.  Redistribution and use in source and binary forms, with or without  modification, are permitted provided that the following conditions  are met:  1. Redistributions of source code must retain the above copyright     notice, this list of conditions and the following disclaimer.  2. The origin of this software must not be misrepresented; you must      not claim that you wrote the original software.  If you use this      software in a product, an acknowledgment in the product      documentation would be appreciated but is not required.  3. Altered source versions must be plainly marked as such, and must     not be misrepresented as being the original software.  4. The name of the author may not be used to endorse or promote      products derived from this software without specific prior written      permission.  THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS  OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY  DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,  WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.  Julian Seward, Cambridge, UK.  jseward@acm.org  bzip2/libbzip2 version 1.0 of 21 March 2000  This program is based on (at least) the work of:     Mike Burrows     David Wheeler     Peter Fenwick     Alistair Moffat     Radford Neal     Ian H. Witten     Robert Sedgewick     Jon L. Bentley  For more information on these sources, see the manual.--*//*--   CHANGES   ~~~~~~~   0.9.0 -- original version.   0.9.0a/b -- no changes in this file.   0.9.0c      * changed setting of nGroups in sendMTFValues() so as to         do a bit better on small files--*/#include "bzlib_private.h"/*---------------------------------------------------*//*--- Bit stream I/O                              ---*//*---------------------------------------------------*//*---------------------------------------------------*/void BZ2_bsInitWrite ( EState* s ){   s->bsLive = 0;   s->bsBuff = 0;}/*---------------------------------------------------*/staticvoid bsFinishWrite ( EState* s ){   while (s->bsLive > 0) {      s->zbits[s->numZ] = (UChar)(s->bsBuff >> 24);      s->numZ++;      s->bsBuff <<= 8;      s->bsLive -= 8;   }}/*---------------------------------------------------*/#define bsNEEDW(nz)                           \{                                             \   while (s->bsLive >= 8) {                   \      s->zbits[s->numZ]                       \         = (UChar)(s->bsBuff >> 24);          \      s->numZ++;                              \      s->bsBuff <<= 8;                        \      s->bsLive -= 8;                         \   }                                          \}/*---------------------------------------------------*/static__inline__void bsW ( EState* s, Int32 n, UInt32 v ){   bsNEEDW ( n );   s->bsBuff |= (v << (32 - s->bsLive - n));   s->bsLive += n;}/*---------------------------------------------------*/staticvoid bsPutUInt32 ( EState* s, UInt32 u ){   bsW ( s, 8, (u >> 24) & 0xffL );   bsW ( s, 8, (u >> 16) & 0xffL );   bsW ( s, 8, (u >>  8) & 0xffL );   bsW ( s, 8,  u        & 0xffL );}/*---------------------------------------------------*/staticvoid bsPutUChar ( EState* s, UChar c ){   bsW( s, 8, (UInt32)c );}/*---------------------------------------------------*//*--- The back end proper                         ---*//*---------------------------------------------------*//*---------------------------------------------------*/staticvoid makeMaps_e ( EState* s ){   Int32 i;   s->nInUse = 0;   for (i = 0; i < 256; i++)      if (s->inUse[i]) {         s->unseqToSeq[i] = s->nInUse;         s->nInUse++;      }}/*---------------------------------------------------*/staticvoid generateMTFValues ( EState* s ){   UChar   yy[256];   Int32   i, j;   Int32   zPend;   Int32   wr;   Int32   EOB;   /*       After sorting (eg, here),         s->arr1 [ 0 .. s->nblock-1 ] holds sorted order,         and         ((UChar*)s->arr2) [ 0 .. s->nblock-1 ]          holds the original block data.      The first thing to do is generate the MTF values,      and put them in         ((UInt16*)s->arr1) [ 0 .. s->nblock-1 ].      Because there are strictly fewer or equal MTF values      than block values, ptr values in this area are overwritten      with MTF values only when they are no longer needed.      The final compressed bitstream is generated into the      area starting at         (UChar*) (&((UChar*)s->arr2)[s->nblock])      These storage aliases are set up in bzCompressInit(),      except for the last one, which is arranged in       compressBlock().   */   UInt32* ptr   = s->ptr;   UChar* block  = s->block;   UInt16* mtfv  = s->mtfv;   makeMaps_e ( s );   EOB = s->nInUse+1;   for (i = 0; i <= EOB; i++) s->mtfFreq[i] = 0;   wr = 0;   zPend = 0;   for (i = 0; i < s->nInUse; i++) yy[i] = (UChar) i;   for (i = 0; i < s->nblock; i++) {      UChar ll_i;      AssertD ( wr <= i, "generateMTFValues(1)" );      j = ptr[i]-1; if (j < 0) j += s->nblock;      ll_i = s->unseqToSeq[block[j]];      AssertD ( ll_i < s->nInUse, "generateMTFValues(2a)" );      if (yy[0] == ll_i) {          zPend++;      } else {         if (zPend > 0) {            zPend--;            while (True) {               if (zPend & 1) {                  mtfv[wr] = BZ_RUNB; wr++;                   s->mtfFreq[BZ_RUNB]++;                } else {                  mtfv[wr] = BZ_RUNA; wr++;                   s->mtfFreq[BZ_RUNA]++;                }               if (zPend < 2) break;               zPend = (zPend - 2) / 2;            };            zPend = 0;         }         {            register UChar  rtmp;            register UChar* ryy_j;            register UChar  rll_i;            rtmp  = yy[1];            yy[1] = yy[0];            ryy_j = &(yy[1]);            rll_i = ll_i;            while ( rll_i != rtmp ) {               register UChar rtmp2;               ryy_j++;               rtmp2  = rtmp;               rtmp   = *ryy_j;               *ryy_j = rtmp2;            };            yy[0] = rtmp;            j = ryy_j - &(yy[0]);            mtfv[wr] = j+1; wr++; s->mtfFreq[j+1]++;         }      }   }   if (zPend > 0) {      zPend--;      while (True) {         if (zPend & 1) {            mtfv[wr] = BZ_RUNB; wr++;             s->mtfFreq[BZ_RUNB]++;          } else {            mtfv[wr] = BZ_RUNA; wr++;             s->mtfFreq[BZ_RUNA]++;          }         if (zPend < 2) break;         zPend = (zPend - 2) / 2;      };      zPend = 0;   }   mtfv[wr] = EOB; wr++; s->mtfFreq[EOB]++;   s->nMTF = wr;}/*---------------------------------------------------*/#define BZ_LESSER_ICOST  0#define BZ_GREATER_ICOST 15staticvoid sendMTFValues ( EState* s ){   Int32 v, t, i, j, gs, ge, totc, bt, bc, iter;   Int32 nSelectors, alphaSize, minLen, maxLen, selCtr;   Int32 nGroups, nBytes;   /*--   UChar  len [BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];   is a global since the decoder also needs it.   Int32  code[BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];   Int32  rfreq[BZ_N_GROUPS][BZ_MAX_ALPHA_SIZE];   are also globals only used in this proc.   Made global to keep stack frame size small.   --*/   UInt16 cost[BZ_N_GROUPS];   Int32  fave[BZ_N_GROUPS];   UInt16* mtfv = s->mtfv;   if (s->verbosity >= 3)      VPrintf3( "      %d in block, %d after MTF & 1-2 coding, "                "%d+2 syms in use\n",                 s->nblock, s->nMTF, s->nInUse );   alphaSize = s->nInUse+2;   for (t = 0; t < BZ_N_GROUPS; t++)      for (v = 0; v < alphaSize; v++)         s->len[t][v] = BZ_GREATER_ICOST;   /*--- Decide how many coding tables to use ---*/   AssertH ( s->nMTF > 0, 3001 );   if (s->nMTF < 200)  nGroups = 2; else   if (s->nMTF < 600)  nGroups = 3; else   if (s->nMTF < 1200) nGroups = 4; else   if (s->nMTF < 2400) nGroups = 5; else                       nGroups = 6;   /*--- Generate an initial set of coding tables ---*/   {       Int32 nPart, remF, tFreq, aFreq;      nPart = nGroups;      remF  = s->nMTF;      gs = 0;      while (nPart > 0) {         tFreq = remF / nPart;         ge = gs-1;         aFreq = 0;         while (aFreq < tFreq && ge < alphaSize-1) {            ge++;            aFreq += s->mtfFreq[ge];         }         if (ge > gs              && nPart != nGroups && nPart != 1              && ((nGroups-nPart) % 2 == 1)) {            aFreq -= s->mtfFreq[ge];            ge--;         }         if (s->verbosity >= 3)            VPrintf5( "      initial group %d, [%d .. %d], "                      "has %d syms (%4.1f%%)\n",                      nPart, gs, ge, aFreq,                       (100.0 * (float)aFreq) / (float)(s->nMTF) );          for (v = 0; v < alphaSize; v++)            if (v >= gs && v <= ge)                s->len[nPart-1][v] = BZ_LESSER_ICOST; else               s->len[nPart-1][v] = BZ_GREATER_ICOST;          nPart--;         gs = ge+1;

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美情侣在线播放| 国产成人自拍在线| 欧美日韩国产综合一区二区| 亚洲婷婷综合色高清在线| 国产成人av一区二区三区在线观看| 精品女同一区二区| 久久99国产精品免费| 国产欧美一区二区精品久导航| 成人国产精品免费| 樱桃视频在线观看一区| 在线成人av网站| 国内外精品视频| 亚洲免费资源在线播放| 7777精品伊人久久久大香线蕉完整版 | 一本色道久久综合亚洲aⅴ蜜桃| 亚洲六月丁香色婷婷综合久久 | 欧美午夜不卡在线观看免费| 日韩av一区二区在线影视| 久久一区二区视频| 一本久道中文字幕精品亚洲嫩| 午夜国产精品影院在线观看| 久久久亚洲精品石原莉奈| 色噜噜狠狠成人中文综合| 日韩av一区二区三区| 国产精品天天摸av网| 欧美日韩成人综合| 岛国精品在线播放| 五月天丁香久久| 日本一区二区三区高清不卡| 91久久国产最好的精华液| 蜜乳av一区二区| 亚洲日本护士毛茸茸| 日韩欧美色电影| 色999日韩国产欧美一区二区| 日本不卡123| 亚洲精选视频在线| 久久这里只有精品6| 欧美丝袜丝交足nylons图片| 国产精一品亚洲二区在线视频| 一区二区三区**美女毛片| 久久这里都是精品| 欧美电影在哪看比较好| 成人久久18免费网站麻豆 | 久久久久久免费| 欧美高清视频在线高清观看mv色露露十八 | 国产精品人妖ts系列视频| 日韩免费一区二区| 在线免费一区三区| 成人综合激情网| 韩国视频一区二区| 日韩高清在线电影| 亚洲影视在线播放| 亚洲蜜桃精久久久久久久| 国产无遮挡一区二区三区毛片日本| 3d成人动漫网站| 在线一区二区三区做爰视频网站| 成人亚洲一区二区一| 精品一区二区精品| 欧美96一区二区免费视频| 亚洲午夜羞羞片| 亚洲精品va在线观看| 亚洲欧美另类小说| 国产精品乱码妇女bbbb| 久久九九国产精品| 久久精品亚洲麻豆av一区二区 | 色婷婷久久一区二区三区麻豆| 美女一区二区视频| 亚洲一卡二卡三卡四卡五卡| 中文字幕一区av| 国产精品久久久久久久久搜平片 | 精品国产欧美一区二区| 在线不卡免费av| 在线观看91av| 日韩欧美视频一区| 日韩精品一区二| 精品国产91亚洲一区二区三区婷婷 | 欧美bbbbb| 日本美女一区二区三区视频| 无吗不卡中文字幕| 热久久免费视频| 久久精品国产**网站演员| 免费高清视频精品| 精品一区二区免费| 粉嫩13p一区二区三区| 国产精品综合二区| 成人午夜视频在线| 成人av电影免费观看| 91女人视频在线观看| 日本久久电影网| 欧美日韩视频在线观看一区二区三区| 欧美亚洲愉拍一区二区| 日韩一区二区在线免费观看| 精品欧美一区二区三区精品久久| 26uuu亚洲| 国产精品日韩成人| 一级做a爱片久久| 日本sm残虐另类| 国产一区二区精品久久99| 国产91精品露脸国语对白| 97久久人人超碰| 在线播放视频一区| 精品电影一区二区| 日本一区二区久久| 亚洲va欧美va人人爽| 麻豆专区一区二区三区四区五区| 国产成人在线视频网址| 在线免费观看成人短视频| 91精品国产乱| 国产精品免费久久久久| 一区二区日韩电影| 久久国产精品露脸对白| www.99精品| 在线播放日韩导航| 国产精品成人网| 免费观看在线综合| av爱爱亚洲一区| 日韩欧美在线网站| 国产精品福利一区二区| 日韩激情在线观看| 99久久精品国产麻豆演员表| 欧美日韩一二区| 欧美国产精品一区二区三区| 日本不卡一区二区三区高清视频| 不卡的电视剧免费网站有什么| 5566中文字幕一区二区电影| 国产精品女主播av| 麻豆国产91在线播放| 日本道在线观看一区二区| 亚洲精品一区二区三区在线观看| 一区二区三区在线观看国产| 国产在线精品免费| 欧美精品久久天天躁| 国产精品福利一区| 国产精品一区不卡| 日韩午夜激情电影| 亚洲不卡一区二区三区| 一本到三区不卡视频| 国产偷国产偷精品高清尤物| 免费高清成人在线| 欧美日韩国产综合久久| 综合欧美一区二区三区| 岛国一区二区在线观看| 精品电影一区二区三区| 日韩国产欧美在线播放| 欧美性色欧美a在线播放| 亚洲欧美精品午睡沙发| 风间由美一区二区三区在线观看 | 日韩精品一区二区三区在线播放| 亚洲免费三区一区二区| 成人激情午夜影院| 国产欧美一区二区精品秋霞影院 | 91久久免费观看| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 色综合久久88色综合天天免费| 久久影视一区二区| 精品制服美女丁香| 欧美精品一区二区三区四区| 日本不卡一区二区三区| 欧美探花视频资源| 亚洲尤物视频在线| 欧美日韩国产欧美日美国产精品| 亚洲欧洲av一区二区三区久久| 东方欧美亚洲色图在线| 国产午夜三级一区二区三| 美国av一区二区| 337p粉嫩大胆噜噜噜噜噜91av| 久久国产精品无码网站| 精品久久久久久久一区二区蜜臀| 男男视频亚洲欧美| 26uuu国产在线精品一区二区| 美女mm1313爽爽久久久蜜臀| 日韩欧美亚洲国产另类| 国产乱子伦视频一区二区三区| 精品国产乱码久久久久久图片 | 久久久久综合网| 成人在线视频首页| 亚洲男人的天堂在线aⅴ视频| 97久久精品人人爽人人爽蜜臀| 亚洲女厕所小便bbb| 欧美日韩精品一区二区三区蜜桃| 天使萌一区二区三区免费观看| 日韩欧美黄色影院| 国内偷窥港台综合视频在线播放| 欧美国产国产综合| 91黄色小视频| 日韩1区2区3区| 欧美国产精品劲爆| 在线免费观看一区| 精品中文字幕一区二区小辣椒| 中文字幕欧美三区| 欧美图片一区二区三区| 首页综合国产亚洲丝袜| 26uuu久久综合| 91蜜桃传媒精品久久久一区二区 | 麻豆精品新av中文字幕| 久久久国产一区二区三区四区小说| 成人免费视频免费观看| 亚洲第一福利视频在线| 欧美成人午夜电影| 色呦呦国产精品|