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

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

?? idct.c

?? MPEG4圖像編碼和解碼處理C源代碼(非常經典的算法)
?? C
字號:
/************************************************************************
 *
 *  idct.c, inverse fast DCT for tmndecode (H.263 decoder)
 *  Copyright (C) 1995, 1996  Telenor R&D, Norway
 *
 *  Contacts:
 *  Robert Danielsen                  <Robert.Danielsen@nta.no>
 *
 *  Telenor Research and Development  http://www.nta.no/brukere/DVC/
 *  P.O.Box 83                        tel.:   +47 63 84 84 00
 *  N-2007 Kjeller, Norway            fax.:   +47 63 81 00 76
 *
 *  Copyright (C) 1997  University of BC, Canada
 *  Modified by: Michael Gallant <mikeg@ee.ubc.ca>
 *               Guy Cote <guyc@ee.ubc.ca>
 *               Berna Erol <bernae@ee.ubc.ca>
 *
 *  Contacts:
 *  Michael Gallant                   <mikeg@ee.ubc.ca>
 *
 *  UBC Image Processing Laboratory   http://www.ee.ubc.ca/image
 *  2356 Main Mall                    tel.: +1 604 822 4051
 *  Vancouver BC Canada V6T1Z4        fax.: +1 604 822 5949
 *
 ************************************************************************/

/* Disclaimer of Warranty
 * 
 * These software programs are available to the user without any license fee
 * or royalty on an "as is" basis. The University of British Columbia
 * disclaims any and all warranties, whether express, implied, or
 * statuary, including any implied warranties or merchantability or of
 * fitness for a particular purpose.  In no event shall the
 * copyright-holder be liable for any incidental, punitive, or
 * consequential damages of any kind whatsoever arising from the use of
 * these programs.
 * 
 * This disclaimer of warranty extends to the user of these programs and
 * user's customers, employees, agents, transferees, successors, and
 * assigns.
 * 
 * The University of British Columbia does not represent or warrant that the
 * programs furnished hereunder are free of infringement of any
 * third-party patents.
 * 
 * Commercial implementations of H.263, including shareware, are subject to
 * royalty fees to patent holders.  Many of these patents are general
 * enough such that they are unavoidable regardless of implementation
 * design.
 * 
 */



/* based on mpeg2decode, (C) 1994, MPEG Software Simulation Group and
 * mpeg2play, (C) 1994 Stefan Eckart <stefan@lis.e-technik.tu-muenchen.de>
 * 
 */


/**********************************************************/
/* inverse two dimensional DCT, Chen-Wang algorithm       */
/* (cf. IEEE ASSP-32, pp. 803-816, Aug. 1984)             */
/* 32-bit integer arithmetic (8 bit coefficients)         */
/* 11 mults, 29 adds per DCT                              */
/* sE, 18.8.91       */
/**********************************************************/
/* coefficients extended to 12 bit for IEEE1180-1990      */
/* compliance                           sE,  2.1.94       */
/**********************************************************/

/* this code assumes >> to be a two's-complement arithmetic */
/* right shift: (-2)>>1 == -1 , (-3)>>1 == -2               */


#include "mp4_vars.h"


void init_idct ();


#define W1 2841                 /* 2048*sqrt(2)*cos(1*pi/16) */
#define W2 2676                 /* 2048*sqrt(2)*cos(2*pi/16) */
#define W3 2408                 /* 2048*sqrt(2)*cos(3*pi/16) */
#define W5 1609                 /* 2048*sqrt(2)*cos(5*pi/16) */
#define W6 1108                 /* 2048*sqrt(2)*cos(6*pi/16) */
#define W7 565                  /* 2048*sqrt(2)*cos(7*pi/16) */


/* row (horizontal) IDCT
 * 
 * 7                       pi         1 dst[k] = sum c[l] * src[l] * cos( -- *
 * ( k + - ) * l ) l=0                      8          2
 * 
 * where: c[0]    = 128 c[1..7] = 128*sqrt(2) 
*/

static void idctrow (short *blk)
{
  int x0, x1, x2, x3, x4, x5, x6, x7, x8;

  /* shortcut */
  if (!((x1 = blk[4] << 11) | (x2 = blk[6]) | (x3 = blk[2]) |
        (x4 = blk[1]) | (x5 = blk[7]) | (x6 = blk[5]) | (x7 = blk[3])))
  {
    blk[0] = blk[1] = blk[2] = blk[3] = blk[4] = blk[5] = blk[6] = blk[7] = blk[0] << 3;
    return;
  }
  x0 = (blk[0] << 11) + 128;    /* for proper rounding in the fourth stage */

  /* first stage */
  x8 = W7 * (x4 + x5);
  x4 = x8 + (W1 - W7) * x4;
  x5 = x8 - (W1 + W7) * x5;
  x8 = W3 * (x6 + x7);
  x6 = x8 - (W3 - W5) * x6;
  x7 = x8 - (W3 + W5) * x7;

  /* second stage */
  x8 = x0 + x1;
  x0 -= x1;
  x1 = W6 * (x3 + x2);
  x2 = x1 - (W2 + W6) * x2;
  x3 = x1 + (W2 - W6) * x3;
  x1 = x4 + x6;
  x4 -= x6;
  x6 = x5 + x7;
  x5 -= x7;

  /* third stage */
  x7 = x8 + x3;
  x8 -= x3;
  x3 = x0 + x2;
  x0 -= x2;
  x2 = (181 * (x4 + x5) + 128) >> 8;
  x4 = (181 * (x4 - x5) + 128) >> 8;

  /* fourth stage */
  blk[0] = (x7 + x1) >> 8;
  blk[1] = (x3 + x2) >> 8;
  blk[2] = (x0 + x4) >> 8;
  blk[3] = (x8 + x6) >> 8;
  blk[4] = (x8 - x6) >> 8;
  blk[5] = (x0 - x4) >> 8;
  blk[6] = (x3 - x2) >> 8;
  blk[7] = (x7 - x1) >> 8;
}

/* column (vertical) IDCT
 * 
 * 7                         pi         1 dst[8*k] = sum c[l] * src[8*l] *
 * cos( -- * ( k + - ) * l ) l=0                        8          2
 * 
 * where: c[0]    = 1/1024 c[1..7] = (1/1024)*sqrt(2) 
*/

static void idctcol (short *blk)
{
  int x0, x1, x2, x3, x4, x5, x6, x7, x8;

  /* shortcut */
  if (!((x1 = (blk[8 * 4] << 8)) | (x2 = blk[8 * 6]) | (x3 = blk[8 * 2]) |
        (x4 = blk[8 * 1]) | (x5 = blk[8 * 7]) | (x6 = blk[8 * 5]) | (x7 = blk[8 * 3])))
  {
    blk[8 * 0] = blk[8 * 1] = blk[8 * 2] = blk[8 * 3] = blk[8 * 4] = blk[8 * 5] = blk[8 * 6] = blk[8 * 7] =
      mp4_state->clp[(blk[8 * 0] + 32) >> 6];
    return;
  }
  x0 = (blk[8 * 0] << 8) + 8192;

  /* first stage */
  x8 = W7 * (x4 + x5) + 4;
  x4 = (x8 + (W1 - W7) * x4) >> 3;
  x5 = (x8 - (W1 + W7) * x5) >> 3;
  x8 = W3 * (x6 + x7) + 4;
  x6 = (x8 - (W3 - W5) * x6) >> 3;
  x7 = (x8 - (W3 + W5) * x7) >> 3;

  /* second stage */
  x8 = x0 + x1;
  x0 -= x1;
  x1 = W6 * (x3 + x2) + 4;
  x2 = (x1 - (W2 + W6) * x2) >> 3;
  x3 = (x1 + (W2 - W6) * x3) >> 3;
  x1 = x4 + x6;
  x4 -= x6;
  x6 = x5 + x7;
  x5 -= x7;

  /* third stage */
  x7 = x8 + x3;
  x8 -= x3;
  x3 = x0 + x2;
  x0 -= x2;
  x2 = (181 * (x4 + x5) + 128) >> 8;
  x4 = (181 * (x4 - x5) + 128) >> 8;

  /* fourth stage */
  blk[8 * 0] = mp4_state->clp[(x7 + x1) >> 14];
  blk[8 * 1] = mp4_state->clp[(x3 + x2) >> 14];
  blk[8 * 2] = mp4_state->clp[(x0 + x4) >> 14];
  blk[8 * 3] = mp4_state->clp[(x8 + x6) >> 14];
  blk[8 * 4] = mp4_state->clp[(x8 - x6) >> 14];
  blk[8 * 5] = mp4_state->clp[(x0 - x4) >> 14];
  blk[8 * 6] = mp4_state->clp[(x3 - x2) >> 14];
  blk[8 * 7] = mp4_state->clp[(x7 - x1) >> 14];
}

/* 
		two dimensional inverse discrete cosine transform 
		this is a reference implementation - no speed optimized
*/
void idct (short *block)
{
  int i;

  for (i = 0; i < 8; i++)
    idctrow (block + 8 * i);

  for (i = 0; i < 8; i++)
    idctcol (block + i);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧洲精品中文字幕| 国产成人av电影| 一区二区三区在线视频观看 | 国产一区福利在线| 亚洲va国产天堂va久久en| 亚洲男人的天堂一区二区| 成人免费视频在线观看| 欧美激情一区二区在线| 欧美激情一区二区在线| 亚洲天堂网中文字| 中文字幕一区二区三区不卡在线| 成人av第一页| 97se亚洲国产综合自在线观| 色94色欧美sute亚洲13| 91久久久免费一区二区| 欧美精品一二三| 在线不卡中文字幕播放| 日韩精品一区二区三区蜜臀| 精品国产乱码久久久久久久久| av不卡一区二区三区| 91麻豆国产在线观看| 91福利区一区二区三区| 制服.丝袜.亚洲.中文.综合| 91精品蜜臀在线一区尤物| 精品国产一区二区在线观看| 日本一区二区三区四区| 一区二区视频免费在线观看| 视频一区二区国产| 国产一区二区三区免费| 一本高清dvd不卡在线观看| 欧美一卡二卡三卡| 中文字幕制服丝袜成人av| 亚洲高清一区二区三区| 国产一区二区视频在线播放| 91在线视频免费91| 日韩一级二级三级精品视频| 日本一区二区三区在线不卡| 婷婷六月综合网| 丁香六月综合激情| 久久看人人爽人人| 1024国产精品| 久草在线在线精品观看| 色哟哟在线观看一区二区三区| 紧缚奴在线一区二区三区| 99久久精品国产麻豆演员表| 日韩一区二区三区免费观看| 国产精品久久久久久久久果冻传媒| 日韩欧美一级二级| 亚洲欧美偷拍卡通变态| 日本少妇一区二区| 99精品视频在线播放观看| 日韩网站在线看片你懂的| 亚洲天堂中文字幕| 国产a区久久久| 日韩精品自拍偷拍| 偷偷要91色婷婷| 日本韩国欧美一区| 国产精品天干天干在线综合| 免费看欧美美女黄的网站| 色999日韩国产欧美一区二区| 色婷婷av一区二区三区gif | 成人免费视频免费观看| 日韩视频一区二区在线观看| 一区二区不卡在线播放| 白白色 亚洲乱淫| 久久久久亚洲蜜桃| 日韩精品一二三区| 欧美年轻男男videosbes| 亚洲美女淫视频| av中文字幕在线不卡| 国产精品美女视频| 高清久久久久久| 久久久91精品国产一区二区三区| 国产精品高潮久久久久无| 精品伊人久久久久7777人| 欧美电影影音先锋| 丝袜亚洲另类欧美综合| 欧美日韩一区二区三区四区五区| 在线91免费看| 日本中文字幕一区| 精品少妇一区二区三区在线播放| 久久夜色精品国产噜噜av| 日本亚洲最大的色成网站www| 国产一区欧美日韩| 久久只精品国产| 国产成人在线免费观看| 国产精品久久久久毛片软件| 成人免费毛片aaaaa**| 国产精品人妖ts系列视频| 国产不卡视频在线观看| 国产精品久久久久久久久图文区| 亚洲国产精品人人做人人爽| 欧美日韩免费一区二区三区| 亚洲福利一区二区三区| 337p亚洲精品色噜噜噜| 国内外成人在线| 国产精品的网站| 欧美色手机在线观看| 久久国产尿小便嘘嘘| 国产精品私人影院| 欧美性猛交xxxxxx富婆| 日本亚洲三级在线| 国产欧美日韩另类视频免费观看| 日精品一区二区三区| www成人在线观看| 国产精品1024久久| 亚洲一区二区三区在线| 精品免费视频一区二区| av综合在线播放| 免费一级片91| 国产精品国产三级国产| 日韩视频在线永久播放| 成人av在线一区二区| 性做久久久久久| 欧美极品少妇xxxxⅹ高跟鞋| 欧美日韩免费高清一区色橹橹| 国产欧美一区二区三区网站| 色综合中文字幕国产 | 91在线国内视频| 亚洲第一成年网| 国产欧美综合色| 在线综合+亚洲+欧美中文字幕| 自拍偷在线精品自拍偷无码专区| 麻豆91在线播放免费| 国产精品盗摄一区二区三区| 欧美精品自拍偷拍动漫精品| 国产揄拍国内精品对白| 亚洲成人动漫在线免费观看| 久久婷婷国产综合精品青草 | 九色综合国产一区二区三区| 亚洲蜜桃精久久久久久久| 精品国产乱子伦一区| 欧美自拍偷拍午夜视频| 国产成人无遮挡在线视频| 免费观看在线色综合| 亚洲精品成人在线| 国产精品福利一区| 国产精品沙发午睡系列990531| 成人h版在线观看| 国产乱子伦视频一区二区三区| 欧美电影免费观看完整版| 欧美性一区二区| 91日韩精品一区| 成人国产精品免费网站| 国产精品正在播放| 美女性感视频久久| 亚洲影视资源网| 亚洲尤物在线视频观看| 亚洲自拍偷拍麻豆| 亚洲色欲色欲www在线观看| 欧美激情在线一区二区| 欧美激情在线免费观看| ㊣最新国产の精品bt伙计久久| 欧美在线观看18| 91九色最新地址| 欧美在线视频日韩| 欧美天堂一区二区三区| 欧美日本一区二区| 欧美精品少妇一区二区三区 | 精品sm捆绑视频| 精品国产一区二区亚洲人成毛片 | 国产精品色在线| 中文字幕免费观看一区| 国产精品视频一二三| 亚洲青青青在线视频| 亚洲免费在线电影| 亚洲第一福利一区| 天天爽夜夜爽夜夜爽精品视频| 国产人成亚洲第一网站在线播放| kk眼镜猥琐国模调教系列一区二区| 亚洲男人的天堂在线aⅴ视频| 欧美另类变人与禽xxxxx| 欧美日韩一区二区在线观看| 久久精品一区二区| 中文字幕电影一区| 亚洲欧美激情小说另类| 亚洲狠狠爱一区二区三区| 奇米色777欧美一区二区| 国产毛片一区二区| 色综合天天天天做夜夜夜夜做| 久久国产精品露脸对白| 国产在线精品免费av| 91社区在线播放| 欧美一区二区三区日韩| 中文在线一区二区| 亚洲一区二区三区视频在线播放 | 日韩国产欧美一区二区三区| 久久99国内精品| 91免费观看在线| 欧美一卡二卡在线| 中文一区二区完整视频在线观看| 欧美精品久久一区| 国产网站一区二区三区| 一区二区三区在线视频免费观看| 中文字幕欧美三区| 日精品一区二区三区| 99久久er热在这里只有精品66| 久久99久久久久| 色婷婷精品久久二区二区蜜臀av | 久久狠狠亚洲综合|