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

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

?? inverse discrete cosine transform.txt

?? c6000的標準函數庫
?? TXT
?? 第 1 頁 / 共 5 頁
字號:
* ========================================================================= *
*   NAME                                                                    *
*       idct_8x8 -- IEEE-1180 Compliant IDCT, Little Endian.                *
*                                                                           *
*   REVISION HISTORY                                                        *
*       30-Apr-1999 Reduce codesize                                         *
*       11-May-1999 New release version                                     *
*                                                                           *
*   USAGE                                                                   *
*       This routine is C callable, and has the following C prototype:      *
*                                                                           *
*           void idct_8x8(short idct_data[], unsigned num_idcts)            *
*                                                                           *
*       The idct_8x8 routine accepts a list of 8x8 DCT coeffient blocks     *
*       and performs IDCTs on each.  The array should be aligned to a       *
*       32-bit boundary, and be laid out equivalently to the C array        *
*       idct_data[num_idcts+1][8][8].                                       *
*                                                                           *
*       The routine requires one 8x8-block's worth of extra storage at      *
*       the end of the list of DCT blocks.  When processing 'num_idcts'     *
*       blocks, an area of length 'num_idcts + 1' must be provided.  The    *
*       contents of the extra block are ignored and overwritten with        *
*       intermediate results by idct_8x8().                                 *
*                                                                           *
*       This code requires '62 + 168 * num_idcts' cycles to process         *
*       'num_idcts' blocks, including 6 cycles of function call overhead.   *
*       When 'num_idcts' is zero, an early exit is taken and the function   *
*       runs for only 35 cycles (again, including overhead).                *
*                                                                           *
*   DESCRIPTION                                                             *
*       The idct_8x8 algorithm performs an IEEE-1180 compliant IDCT,        *
*       complete with rounding and saturation to signed 9-bit quantities.   *
*       The input coefficients are assumed to be signed 12-bit cosine       *
*       terms.                                                              *
*                                                                           *
*       void idct_8x8(short *idct_data, unsigned num_dcts)                  *
*       {                                                                   *
*         const short c1 = 0x0B19, c2 = 0x0A74, c3 = 0x0968;                *
*         const short c5 = 0x0649, c6 = 0x0454, c7 = 0x0235;                *
*         const int   c4_shift = 11;                                        *
*         const int   round1 = 256, round2 = 32768;                         *
*         const int   trunc1 = 9, trunc2 = 16;                              *
*         const short *i_ptr;                                               *
*         short       *o_ptr;                                               *
*         unsigned    i, j;                                                 *
*         short X0, X1, X2, X3, X4, X5, X6, X7;   /* Freq domain terms  */  *
*         int   P0, P1, p0, p1, r0, r1;           /* Even-half temp     */  *
*         int   g0, g1, h1, h0;                   /* Even-half result   */  *
*         int   g2, g3, h3, h2;                   /* Odd-half result    */  *
*         int   x0, x1, x2, x3, x4, x5, x6, x7;   /* Resulting samples  */  *
*         int   x0t,x1t,x2t,x3t,x4t,x5t,x6t,x7t;  /* Truncated result   */  *
*         int   x0s,x1s,x2s,x3s,x4s,x5s,x6s,x7s;  /* Saturated result   */  *
*                                                                           *
*         /* ---------------------------------------------------------- */  *
*         /*  Avoid running the code if we don't have any IDCTs to do.  */  *
*         /* ---------------------------------------------------------- */  *
*         if (!num_dcts) return;                                            *
*                                                                           *
*         /* ---------------------------------------------------------- */  *
*         /*  Set up pointers.                                          */  *
*         /* ---------------------------------------------------------- */  *
*         i_ptr = idct_data + num_dcts * 64 - 8;                            *
*         o_ptr = idct_data + num_dcts * 64 + 7;                            *
*                                                                           *
*         for (j = 0; j < num_dcts; j++)                                    *
*         {                                                                 *
*           /* -------------------------------------------------------- */  *
*           /*  Perform Horizontal 1-D IDCT on each 8x8 block.  Store   */  *
*           /*  out the results transposed.                             */  *
*           /* -------------------------------------------------------- */  *
*           for (i = 0; i < 8; i++)                                         *
*           {                                                               *
*               /* ---------------------------------------------------- */  *
*               /*  Load the freq-domain coefficients.                  */  *
*               /* ---------------------------------------------------- */  *
*               X0 = i_ptr[0];                                              *
*               X1 = i_ptr[1];                                              *
*               X2 = i_ptr[2];                                              *
*               X3 = i_ptr[3];                                              *
*               X4 = i_ptr[4];                                              *
*               X5 = i_ptr[5];                                              *
*               X6 = i_ptr[6];                                              *
*               X7 = i_ptr[7];                                              *
*                                                                           *
*               i_ptr -= 8;             /* decr pointer to next row     */  *
*                                                                           *
*               /* ---------------------------------------------------- */  *
*               /*  Even part of decomp.  Add rounding to DC term.      */  *
*               /* ---------------------------------------------------- */  *
*               P0 = (((int)X0) << c4_shift) + round1;                      *
*               P1 = (((int)X4) << c4_shift);                               *
*                                                                           *
*               p0 = P0 + P1;                                               *
*               p1 = P0 - P1;                                               *
*                                                                           *
*               r1 = X2*c6 - X6*c2;                                         *
*               r0 = X2*c2 + X6*c6;                                         *
*                                                                           *
*               g0 = p0 + r0;                                               *
*               g1 = p1 + r1;                                               *
*               h1 = p1 - r1;                                               *
*               h0 = p0 - r0;                                               *
*                                                                           *
*               /* ---------------------------------------------------- */  *
*               /*  Odd part of decomp.                                 */  *
*               /* ---------------------------------------------------- */  *
*               g2 = (X1*c7 - X3*c5) + (X5*c3 - X7*c1);                     *
*               g3 = (X1*c5 - X3*c1) + (X5*c7 + X7*c3);                     *
*               h3 = (X1*c3 - X3*c7) - (X5*c1 + X7*c5);                     *
*               h2 = (X1*c1 + X3*c3) + (X5*c5 + X7*c7);                     *
*                                                                           *
*               /* ---------------------------------------------------- */  *
*               /*  Final butterfly.                                    */  *
*               /* ---------------------------------------------------- */  *
*               x0 = g0 + h2;                                               *
*               x1 = g1 + h3;                                               *
*               x2 = h1 + g3;                                               *
*               x3 = h0 + g2;                                               *
*               x4 = h0 - g2;                                               *
*               x5 = h1 - g3;                                               *
*               x6 = g1 - h3;                                               *
*               x7 = g0 - h2;                                               *
*                                                                           *
*               /* ---------------------------------------------------- */  *
*               /*  Truncate to fit back into 16 bits.                  */  *
*               /* ---------------------------------------------------- */  *
*               x0t = x0 >> trunc1;                                         *
*               x1t = x1 >> trunc1;                                         *
*               x2t = x2 >> trunc1;                                         *
*               x3t = x3 >> trunc1;                                         *
*               x4t = x4 >> trunc1;                                         *
*               x5t = x5 >> trunc1;                                         *
*               x6t = x6 >> trunc1;                                         *
*               x7t = x7 >> trunc1;                                         *
*                                                                           *
*               /* ---------------------------------------------------- */  *
*               /*  Store the results transposed.                       */  *
*               /* ---------------------------------------------------- */  *
*               o_ptr[ 0] = x0t;                                            *
*               o_ptr[ 8] = x1t;                                            *
*               o_ptr[16] = x2t;                                            *
*               o_ptr[24] = x3t;                                            *
*               o_ptr[32] = x4t;                                            *
*               o_ptr[40] = x5t;                                            *
*               o_ptr[48] = x6t;                                            *
*               o_ptr[56] = x7t;                                            *
*                                                                           *
*               o_ptr--;                /* decrement ptr to next column */  *
*           }                                                               *
*                                                                           *
*           /* -------------------------------------------------------- */  *
*           /*  Update output pointer to point to next block.           */  *
*           /* -------------------------------------------------------- */  *
*                                                                           *
*           o_ptr = o_ptr + 8 - 64;                                         *
*         }                                                                 *
*                                                                           *
*         /* ---------------------------------------------------------- */  *
*         /*  Reset our pointers for the vertical pass.                 */  *
*         /* ---------------------------------------------------------- */  *
*         i_ptr = idct_data + 64;                                           *
*         o_ptr = idct_data;                                                *
*                                                                           *
*         for (j = 0; j < num_dcts; j++)                                    *
*         {                                                                 *
*           /* -------------------------------------------------------- */  *
*           /*  Perform Vertical 1-D IDCT on each 8x8 block.  Store     */  *
*           /*  out the results transposed.                             */  *
*           /* -------------------------------------------------------- */  *
*           for (i = 0; i < 8; i++)                                         *
*           {                                                               *
*               /* ---------------------------------------------------- */  *
*               /*  Load the freq-domain coefficients.                  */  *
*               /* ---------------------------------------------------- */  *
*               X0 = i_ptr[0];                                              *
*               X1 = i_ptr[1];                                              *
*               X2 = i_ptr[2];                                              *
*               X3 = i_ptr[3];                                              *
*               X4 = i_ptr[4];                                              *
*               X5 = i_ptr[5];                                              *
*               X6 = i_ptr[6];                                              *
*               X7 = i_ptr[7];                                              *
*               i_ptr += 8;             /* increment ptr to next row    */  *
*                                                                           *
*               /* ---------------------------------------------------- */  *
*               /*  Even part of decomp.  Add rouding term to DC.       */  *
*               /* ---------------------------------------------------- */  *
*               P0 = (((int)X0) << c4_shift) + round2; /* c4 is a shift */  *
*               P1 = (((int)X4) << c4_shift);          /* c4 is a shift */  *
*                                                                           *
*               p0 = P0 + P1;                                               *
*               p1 = P0 - P1;                                               *
*                                                                           *

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美成人女星排名| 亚洲午夜精品17c| 亚洲另类在线视频| 久久激情五月婷婷| 色婷婷亚洲综合| 国产日韩欧美精品综合| 日韩在线一区二区三区| 91小视频免费观看| 欧美经典三级视频一区二区三区| 婷婷一区二区三区| 日本久久一区二区三区| 中文幕一区二区三区久久蜜桃| 欧美三级韩国三级日本三斤| 亚洲精品成人精品456| 免费精品99久久国产综合精品| 成人美女视频在线观看18| 欧美一区永久视频免费观看| 一区二区三区欧美在线观看| 成人黄色一级视频| www激情久久| 九九精品一区二区| 久久美女高清视频| 日韩和欧美一区二区三区| 色一区在线观看| 亚洲精选免费视频| 91美女片黄在线| ...av二区三区久久精品| 国产黄色成人av| 亚洲精品一区在线观看| 久久 天天综合| 这里只有精品电影| 麻豆91小视频| 日韩精品一区二区三区视频| 精品一区二区三区在线视频| 日韩免费看网站| 久久91精品国产91久久小草| 久久一夜天堂av一区二区三区| 蜜桃久久久久久| 精品国产99国产精品| 国产精品亚洲一区二区三区妖精| 久久色中文字幕| 韩国精品一区二区| 欧美日韩美少妇| 成人欧美一区二区三区白人| av成人动漫在线观看| 国产精品国产三级国产普通话蜜臀| 欧美放荡的少妇| 日韩精品福利网| 欧美一个色资源| 国产精品一区二区你懂的| 国产视频一区二区三区在线观看| bt7086福利一区国产| 一区二区免费视频| 91精品国产全国免费观看| 久草精品在线观看| 自拍偷自拍亚洲精品播放| 欧美精品一二三四| 狠狠久久亚洲欧美| 亚洲欧洲日产国产综合网| 欧美日韩精品高清| 国产精品影视网| 一区二区三区四区国产精品| 91精品国产91热久久久做人人| 国内欧美视频一区二区| 综合久久久久久久| 日韩av网站在线观看| 欧美激情综合网| 成人av网在线| 午夜久久久久久电影| 久久人人97超碰com| 99re这里都是精品| 欧美aⅴ一区二区三区视频| 国产欧美日本一区视频| 欧美少妇一区二区| 国产精品夜夜嗨| 国产69精品久久久久毛片 | 国产真实乱对白精彩久久| 国产精品乱码久久久久久| 欧美日韩成人综合在线一区二区| 国产成人亚洲综合a∨猫咪| 亚洲一区二区四区蜜桃| 欧洲一区在线电影| 午夜精品福利一区二区三区蜜桃| 久久综合久久鬼色中文字| 在线观看免费亚洲| 国产伦精品一区二区三区免费迷| 一区二区三区久久久| 久久亚区不卡日本| 欧美另类一区二区三区| eeuss鲁片一区二区三区| 狠狠狠色丁香婷婷综合激情| 亚洲18女电影在线观看| 亚洲另类在线视频| 中文字幕一区二区三中文字幕| 亚洲精品在线免费播放| 欧美日韩成人在线| 91免费精品国自产拍在线不卡| 国产精品亚洲一区二区三区在线| 蜜臀av国产精品久久久久| 午夜久久久影院| 一区二区三区久久| 亚洲欧美一区二区三区孕妇| 欧美国产日韩a欧美在线观看 | 欧美精品一区二区久久婷婷| 在线看日本不卡| 91色在线porny| 99在线精品免费| av在线播放一区二区三区| 国产精品99久久久| 国产精品一区二区男女羞羞无遮挡 | 日韩久久一区二区| 国产精品视频一区二区三区不卡| 久久综合成人精品亚洲另类欧美| 日韩欧美第一区| 日韩免费观看高清完整版在线观看| 91精品国产综合久久蜜臀| 色视频欧美一区二区三区| 国产69精品久久777的优势| 免费亚洲电影在线| 三级一区在线视频先锋| 丝袜国产日韩另类美女| 奇米色一区二区| 日韩av电影免费观看高清完整版 | 国产美女精品一区二区三区| 精品在线一区二区| 狠狠色丁香婷婷综合久久片| 国产美女视频一区| 成人性生交大合| 色综合亚洲欧洲| 欧美男生操女生| 国产午夜精品在线观看| 国产性做久久久久久| 中文字幕一区二区不卡| 亚洲色图一区二区| 偷拍日韩校园综合在线| 国产福利一区二区三区视频 | 亚洲欧美日韩在线播放| 一区二区三区中文字幕电影| 亚洲成人av福利| 日韩在线一二三区| 国产剧情一区二区三区| 91在线观看高清| 欧美男男青年gay1069videost| 91精品国产高清一区二区三区蜜臀 | 日韩视频一区在线观看| 国产亚洲va综合人人澡精品| 国产精品国产三级国产专播品爱网| 樱桃视频在线观看一区| 免费成人av在线| 成人午夜激情影院| 欧美剧在线免费观看网站| 欧美精品一区二区三区视频| 日韩影视精彩在线| 国产成人在线网站| 欧美手机在线视频| 久久精品视频一区二区三区| 亚洲一区二区在线播放相泽| 国内精品久久久久影院薰衣草 | 国产中文字幕精品| 91黄色在线观看| 精品国产sm最大网站免费看| 亚洲激情校园春色| 国产一二三精品| 欧美精品三级在线观看| 国产精品国产三级国产aⅴ中文| 亚洲va中文字幕| 成人激情黄色小说| 日韩欧美三级在线| 亚洲国产综合91精品麻豆| 国产精品77777竹菊影视小说| 欧美日韩情趣电影| 中文字幕在线不卡国产视频| 六月丁香综合在线视频| 在线观看日韩毛片| 中文一区在线播放| 韩国成人在线视频| 777奇米四色成人影色区| 亚洲欧美另类图片小说| 国产成人免费在线观看| 欧美一区二区免费| 亚洲午夜久久久久久久久电影院| 成人一区在线看| 久久精品一区二区三区四区| 99精品欧美一区| 国产亚洲女人久久久久毛片| 免费在线欧美视频| 欧美日韩国产大片| 亚洲午夜久久久久中文字幕久| 99国产精品国产精品毛片| 中文字幕成人在线观看| 国内精品嫩模私拍在线| 精品国产电影一区二区| 免费看欧美女人艹b| 欧美精品777| 日本亚洲天堂网| 91精品国产一区二区| 日本三级韩国三级欧美三级| 欧美一区二区三区视频在线观看| 天天综合天天做天天综合| 欧美猛男gaygay网站|