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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? block_encoder.cpp

?? 這是我剛剛完成的關于JPEG2000的C語言實現的部分程序。小波變換是采用97變換
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
            state_ref = states + KAPPA_RUN_BASE;            _mq_enc_(coder,sym,*state_ref);            if (val < 0)              continue;            _mq_enc_run_(coder,val);            cword = *cp;            switch (val) {              case 0: val = sp[0]<<shift; goto row_0_significant;              case 1: val = sp[width]<<shift; goto row_1_significant;              case 2: val = sp[width_by2]<<shift; goto row_2_significant;              case 3: val = sp[width_by3]<<shift; goto row_3_significant;              }          }        cword = *cp;        if (!(cword & (CLEANUP_MEMBER_MASK<<0)))          { // Process first row of stripe column (row 0)            state_ref = states+KAPPA_SIG_BASE+sig_lut[cword & NBRHD_MASK];            val = sp[0]<<shift;            sym = val & KDU_INT32_MIN;            _mq_enc_(coder,sym,*state_ref);            if (val >= 0) // New magnitude bit was 0, so still insignificant              goto row_1;row_0_significant:            // Compute distortion change            val =  (val>>(31-DISTORTION_LSBS)) & (SIGNIFICANCE_DISTORTIONS-1);            distortion_change += distortion_lut[val];            // Encode sign bit            sym = cword & ((CHI_BIT>>3) | (SIGMA_CC_BIT>>3) |                           (CHI_BIT<<3) | (SIGMA_CC_BIT<<3));            sym >>= 1; // Shift down so that top sigma bit has address 0            sym |= (cp[-1] & ((CHI_BIT<<0) | (SIGMA_CC_BIT<<0))) >> (1+1);            sym |= (cp[ 1] & ((CHI_BIT<<0) | (SIGMA_CC_BIT<<0))) >> (1-1);            sym |= (sym >> (CHI_POS-1-SIGMA_CC_POS)); // Interleave chi & sigma            val = sign_lut[sym & 0x000000FF];            state_ref = states + KAPPA_SIGN_BASE + (val>>1);            sym = val << 31; // Get sign flipping to `sym'            val = sp[0] & KDU_INT32_MIN; // Get the sign bit            sym ^= val; // Moves flipped sign bit into `sym'            _mq_enc_(coder,sym,*state_ref);            // Broadcast neighbourhood context changes; sign bit is in `val'            cp[-1] |= (SIGMA_CR_BIT<<0);            cp[1]  |= (SIGMA_CL_BIT<<0);            if (val < 0)              {                cword |= (SIGMA_CC_BIT<<0) | (CHI_BIT<<0);                if (!causal)                  {                    cp[-context_row_gap-1] |= (SIGMA_BR_BIT<<9);                    cp[-context_row_gap  ] |= (SIGMA_BC_BIT<<9) | NEXT_CHI_BIT;                    cp[-context_row_gap+1] |= (SIGMA_BL_BIT<<9);                  }              }            else              {                cword |= (SIGMA_CC_BIT<<0);                if (!causal)                  {                    cp[-context_row_gap-1] |= (SIGMA_BR_BIT<<9);                    cp[-context_row_gap  ] |= (SIGMA_BC_BIT<<9);                    cp[-context_row_gap+1] |= (SIGMA_BL_BIT<<9);                  }              }          }row_1:        if (!(cword & (CLEANUP_MEMBER_MASK<<3)))          { // Process second row of stripe column (row 1)            state_ref = states+KAPPA_SIG_BASE+sig_lut[(cword>>3) & NBRHD_MASK];            val = sp[width]<<shift;            sym = val & KDU_INT32_MIN;            _mq_enc_(coder,sym,*state_ref);            if (val >= 0) // New magnitude bit was 0, so still insignificant              goto row_2;row_1_significant:            // Compute distortion change            val =  (val>>(31-DISTORTION_LSBS)) & (SIGNIFICANCE_DISTORTIONS-1);            distortion_change += distortion_lut[val];            // Encode sign bit            sym = cword & ((CHI_BIT<<0) | (SIGMA_CC_BIT<<0) |                           (CHI_BIT<<6) | (SIGMA_CC_BIT<<6));            sym >>= 4; // Shift down so that top sigma bit has address 0            sym |= (cp[-1] & ((CHI_BIT<<3) | (SIGMA_CC_BIT<<3))) >> (4+1);            sym |= (cp[ 1] & ((CHI_BIT<<3) | (SIGMA_CC_BIT<<3))) >> (4-1);            sym |= (sym >> (CHI_POS-1-SIGMA_CC_POS)); // Interleave chi & sigma            val = sign_lut[sym & 0x000000FF];            state_ref = states + KAPPA_SIGN_BASE + (val>>1);            sym = val << 31; // Get sign flipping to `sym'            val = sp[width] & KDU_INT32_MIN; // Get the sign bit            sym ^= val; // Moves flipped sign bit into `sym'            _mq_enc_(coder,sym,*state_ref);            // Broadcast neighbourhood context changes; sign bit is in `val'            cp[-1] |= (SIGMA_CR_BIT<<3);            cp[1]  |= (SIGMA_CL_BIT<<3);            cword |= (SIGMA_CC_BIT<<3);            val = (kdu_int32)(((kdu_uint32) val)>>(31-(CHI_POS+3))); // SRL            cword |= val;          }row_2:        if (!(cword & (CLEANUP_MEMBER_MASK<<6)))          { // Process third row of stripe column (row 2)            state_ref = states+KAPPA_SIG_BASE+sig_lut[(cword>>6) & NBRHD_MASK];            val = sp[width_by2]<<shift;            sym = val & KDU_INT32_MIN;            _mq_enc_(coder,sym,*state_ref);            if (val >= 0) // New magnitude bit was 0, so still insignificant              goto row_3;row_2_significant:            // Compute distortion change            val =  (val>>(31-DISTORTION_LSBS)) & (SIGNIFICANCE_DISTORTIONS-1);            distortion_change += distortion_lut[val];            // Encode sign bit            sym = cword & ((CHI_BIT<<3) | (SIGMA_CC_BIT<<3) |                           (CHI_BIT<<9) | (SIGMA_CC_BIT<<9));            sym >>= 7; // Shift down so that top sigma bit has address 0            sym |= (cp[-1] & ((CHI_BIT<<6) | (SIGMA_CC_BIT<<6))) >> (7+1);            sym |= (cp[ 1] & ((CHI_BIT<<6) | (SIGMA_CC_BIT<<6))) >> (7-1);            sym |= (sym >> (CHI_POS-1-SIGMA_CC_POS)); // Interleave chi & sigma            val = sign_lut[sym & 0x000000FF];            state_ref = states + KAPPA_SIGN_BASE + (val>>1);            sym = val << 31; // Get sign flipping to `sym'            val = sp[width_by2] & KDU_INT32_MIN; // Get the sign bit            sym ^= val; // Moves flipped sign bit into `sym'            _mq_enc_(coder,sym,*state_ref);            // Broadcast neighbourhood context changes; sign bit is in `val'            cp[-1] |= (SIGMA_CR_BIT<<6);            cp[1]  |= (SIGMA_CL_BIT<<6);            cword |= (SIGMA_CC_BIT<<6);            val = (kdu_int32)(((kdu_uint32) val)>>(31-(CHI_POS+6))); // SRL            cword |= val;          }row_3:        if (!(cword & (CLEANUP_MEMBER_MASK<<9)))          { // Process fourth row of stripe column (row 3)            state_ref = states+KAPPA_SIG_BASE+sig_lut[(cword>>9) & NBRHD_MASK];            val = sp[width_by3]<<shift;            sym = val & KDU_INT32_MIN;            _mq_enc_(coder,sym,*state_ref);            if (val >= 0) // New magnitude bit was 0, so still insignificant              goto done;row_3_significant:            // Compute distortion change            val =  (val>>(31-DISTORTION_LSBS)) & (SIGNIFICANCE_DISTORTIONS-1);            distortion_change += distortion_lut[val];            // Decode sign bit            sym = cword & ((CHI_BIT<<6) | (SIGMA_CC_BIT<<6) |                                0       | (SIGMA_CC_BIT<<12));            sym >>= 10; // Shift down so that top sigma bit has address 0            if (cword < 0) // Use the fact that NEXT_CHI_BIT = 31              sym |= CHI_BIT<<(12-10);            sym |= (cp[-1] & ((CHI_BIT<<9) | (SIGMA_CC_BIT<<9))) >> (10+1);            sym |= (cp[ 1] & ((CHI_BIT<<9) | (SIGMA_CC_BIT<<9))) >> (10-1);            sym |= (sym >> (CHI_POS-1-SIGMA_CC_POS)); // Interleave chi & sigma            val = sign_lut[sym & 0x000000FF];            state_ref = states + KAPPA_SIGN_BASE + (val>>1);            sym = val << 31; // Get sign flipping to `sym'            val = sp[width_by3] & KDU_INT32_MIN; // Get the sign bit            sym ^= val; // Moves flipped sign bit into `sym'            _mq_enc_(coder,sym,*state_ref);            // Broadcast neighbourhood context changes; sign bit is in `val'            cp[context_row_gap-1] |= SIGMA_TR_BIT;            cp[context_row_gap+1] |= SIGMA_TL_BIT;            cp[-1] |= (SIGMA_CR_BIT<<9);            cp[1]  |= (SIGMA_CL_BIT<<9);            if (val < 0)              {                cp[context_row_gap  ] |= SIGMA_TC_BIT | PREV_CHI_BIT;                cword |= (SIGMA_CC_BIT<<9) | (CHI_BIT<<9);              }            else              {                cp[context_row_gap  ] |= SIGMA_TC_BIT;                cword |= (SIGMA_CC_BIT<<9);              }          }done:        cword |= (cword << (MU_POS - SIGMA_CC_POS)) &                 ((MU_BIT<<0)|(MU_BIT<<3)|(MU_BIT<<6)|(MU_BIT<<9));        cword &= ~((PI_BIT<<0)|(PI_BIT<<3)|(PI_BIT<<6)|(PI_BIT<<9));        *cp = cword;      }  _mq_check_in_(coder);  return distortion_change;}/* ========================================================================= *//*               Distortion-Length Slope Calculating Functions               *//* ========================================================================= *//*****************************************************************************//* INLINE                         slope_to_log                               *//*****************************************************************************/static inline kdu_uint16  slope_to_log(double lambda){  double max_slope = pow(2.0,32.0); // Maximum slope we can reprsent  double log_scale = 256.0 / log(2.0); // Convert log values to 8.8 fixed point  double log_slope = lambda / max_slope;  log_slope = (log_slope > 1.0)?1.0:log_slope;  log_slope = (log(log_slope) * log_scale) + (double)(1<<16);  if (log_slope > (double) 0xFFFF)    return 0xFFFF;  else if (log_slope < 2.0)    return 2;  else    return (kdu_uint16) log_slope;}/*****************************************************************************//* INLINE                       slope_from_log                               *//*****************************************************************************/static inline double  slope_from_log(kdu_uint16 slope){  double max_slope = pow(2.0,32.0);  double log_scale = log(2.0) / 256.0;  double log_slope = ((double) slope) - ((double)(1<<16));  log_slope *= log_scale;  return exp(log_slope) * max_slope;}/*****************************************************************************//* STATIC                      find_convex_hull                              *//*****************************************************************************/static void  find_convex_hull(int pass_lengths[], double pass_wmse_changes[],                   kdu_uint16 pass_slopes[], int num_passes){  int z;  for (z=0; z < num_passes; z++)    { /* Find the value, lambda(z), defined in equation (8.4) of the book by         Taubman and Marcellin.  Every coding pass which contributes to the         convex hull set has this value for its distortion-length slope;         however, not all coding passes which have a positive lambda(z) value         actually contribute to the convex hull.  The points which do not         contribute are weeded out next. */      double lambda_z = -1.0; // Marks initial condition.      double delta_L = 0.0, delta_D = 0.0;      int t;      for (t=z; t >= 0; t--)        {          delta_L += (double) pass_lengths[t];          delta_D += pass_wmse_changes[t];          if (delta_D <= 0.0)            break;          else if ((delta_L > 0.0) &&                   ((lambda_z < 0.0) || ((delta_L*lambda_z) > delta_D)))            lambda_z = delta_D / delta_L;        }      if (lambda_z <= 0.0)        pass_slopes[z] = 0;      else        pass_slopes[z] = slope_to_log(lambda_z);    }  /* Now weed out the non-contributing passes. */  for (z=0; z < num_passes; z++)    {      for (int t=z+1; t < num_passes; t++)        if (pass_slopes[t] >= pass_slopes[z])          { pass_slopes[z] = 0; break; }    }}/* ========================================================================= *//*                           kdu_block_encoder                               *//* ========================================================================= *//*****************************************************************************//*                  kdu_block_encoder::kdu_block_encoder                     *//*****************************************************************************/kdu_block_encoder::kdu_block_encoder(){  state = new kd_block_encoder;}/* ========================================================================= *//*                            kd_block_encoder                               */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美va亚洲va在线观看蝴蝶网| 欧美一区二区三区在线观看视频| 麻豆视频观看网址久久| 亚洲综合激情另类小说区| 一区二区在线观看视频 | 日韩精品国产精品| 丝袜诱惑亚洲看片| 久久精品国产成人一区二区三区 | 日韩欧美一级在线播放| 91精品国产高清一区二区三区| 91精品欧美综合在线观看最新| 日韩一区二区麻豆国产| 久久精品亚洲乱码伦伦中文| 欧美国产日韩a欧美在线观看| 中文字幕在线不卡一区二区三区| 亚洲女同女同女同女同女同69| 亚洲一区二区高清| 久久av老司机精品网站导航| 粉嫩aⅴ一区二区三区四区| 成人少妇影院yyyy| 在线免费观看日本一区| 欧美二区三区的天堂| 精品欧美一区二区在线观看| 中文字幕乱码日本亚洲一区二区| 亚洲欧洲日韩在线| 亚洲mv大片欧洲mv大片精品| 久久er精品视频| 色婷婷综合久久久久中文 | 欧美大肚乱孕交hd孕妇| 国产欧美一区在线| 婷婷亚洲久悠悠色悠在线播放| 精品一区二区三区香蕉蜜桃| 不卡欧美aaaaa| 欧美一级xxx| 亚洲永久精品大片| 国产精品69毛片高清亚洲| 91国偷自产一区二区开放时间| 欧美tk—视频vk| 亚洲精品自拍动漫在线| 国产剧情一区二区三区| 欧美视频你懂的| 国产精品嫩草影院com| 日韩专区一卡二卡| 色综合久久久久综合| 久久婷婷国产综合国色天香| 三级精品在线观看| 91网上在线视频| 久久久亚洲高清| 美女视频黄 久久| 91九色最新地址| 亚洲欧美综合网| 国产综合色视频| 日韩亚洲欧美高清| 亚洲国产wwwccc36天堂| 99精品欧美一区二区三区小说| 欧美不卡123| 美女脱光内衣内裤视频久久影院| 欧洲激情一区二区| 亚洲精品国产a| av激情成人网| 中文字幕av一区二区三区高| 久久激情五月婷婷| 日韩精品一区二区三区视频| 日本伊人午夜精品| 91精品国产综合久久久蜜臀粉嫩 | 国产九色精品成人porny| 欧美一区二区三区喷汁尤物| 亚洲一区二区av在线| 色就色 综合激情| 亚洲码国产岛国毛片在线| 99久久国产免费看| 亚洲婷婷在线视频| 91视频精品在这里| 亚洲青青青在线视频| aa级大片欧美| 一区二区三区中文字幕在线观看| 97久久人人超碰| 一区二区三区四区国产精品| 91国偷自产一区二区三区成为亚洲经典| 中文字幕日本乱码精品影院| 白白色 亚洲乱淫| 亚洲天堂中文字幕| 在线欧美小视频| 日韩vs国产vs欧美| 精品国产免费一区二区三区四区| 精品一区二区三区免费| 中文欧美字幕免费| 日本韩国一区二区三区视频| 午夜电影网亚洲视频| 日韩久久久精品| 大陆成人av片| 一区二区三区中文免费| 7878成人国产在线观看| 国产一区二区不卡老阿姨| 国产精品午夜在线| 欧美日产在线观看| 国产美女精品在线| 亚洲另类春色校园小说| 日韩视频123| 成人18精品视频| 高清成人在线观看| 亚洲美女在线一区| 欧美精品一区二区三区四区| 99re亚洲国产精品| 美腿丝袜亚洲色图| 亚洲欧洲制服丝袜| 日韩欧美在线综合网| 99综合电影在线视频| 日韩电影免费在线观看网站| 欧美国产一区二区| 欧美一区二区三区在线电影| 成人avav在线| 免费人成精品欧美精品| 国产精品乱子久久久久| 这里只有精品电影| 97久久超碰国产精品| 久久9热精品视频| 亚洲第一福利视频在线| 久久人人97超碰com| 欧美日韩国产另类不卡| 成人永久aaa| 国产综合色精品一区二区三区| 一区二区不卡在线播放 | 欧美色视频在线观看| 国产成人免费av在线| 美日韩黄色大片| 亚洲综合小说图片| 国产精品灌醉下药二区| 日韩你懂的在线播放| 欧美日韩久久久| 色婷婷综合久久| 成人av在线看| 国产成人精品亚洲日本在线桃色| 蜜桃视频在线观看一区二区| 亚洲国产精品天堂| 一区二区国产视频| 亚洲欧美偷拍卡通变态| 国产精品乱码人人做人人爱| 久久久另类综合| 久久这里只有精品6| 欧美一区二区视频在线观看2020| 欧美午夜精品免费| 91精品办公室少妇高潮对白| 99热精品一区二区| www.亚洲精品| 91视频免费看| 91视频免费观看| 色偷偷一区二区三区| 在线视频中文字幕一区二区| 在线观看一区二区视频| 欧美日韩综合不卡| 在线成人高清不卡| 欧美电影免费观看完整版| 91精品国产一区二区三区蜜臀| 9191国产精品| 精品国产第一区二区三区观看体验| 欧美精品一区二区精品网| 精品久久一区二区| 久久久精品日韩欧美| 中文字幕的久久| 亚洲精品视频一区| 日本中文一区二区三区| 狠狠久久亚洲欧美| 成人激情午夜影院| 在线观看日韩高清av| 717成人午夜免费福利电影| 精品国产一区二区三区av性色| 久久久久久久久97黄色工厂| 1000部国产精品成人观看| 一区二区欧美国产| 久久国产精品99久久久久久老狼| 国内久久婷婷综合| 91免费在线看| 日韩一区二区免费电影| 国产精品乱码一区二区三区软件 | 一区二区在线观看视频| 婷婷久久综合九色综合绿巨人| 色哟哟亚洲精品| 欧美一区二区久久久| 国产欧美视频一区二区三区| 综合分类小说区另类春色亚洲小说欧美| 一区二区三区国产豹纹内裤在线 | 亚洲国产精华液网站w| 亚洲天堂久久久久久久| 另类小说图片综合网| 91亚洲国产成人精品一区二区三 | 国产精品麻豆视频| 日日夜夜一区二区| 成a人片国产精品| 日韩视频一区二区三区在线播放| 亚洲欧洲av在线| 美女视频网站黄色亚洲| 色综合久久久久| 国产亚洲成年网址在线观看| 午夜精品影院在线观看| 成年人网站91| 欧美精品一区二区精品网| 亚洲成av人片在www色猫咪| 成a人片国产精品| 久久奇米777|