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

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

?? 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);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
2020日本不卡一区二区视频| 色综合久久久久| 久久影视一区二区| 国产精品一区在线观看乱码| 国产婷婷色一区二区三区| 国产高清在线精品| 国产精品拍天天在线| 不卡的av中国片| 亚洲一线二线三线久久久| 欧美日韩精品免费观看视频| 日本美女视频一区二区| 久久综合色综合88| 91麻豆国产精品久久| 丝袜亚洲另类欧美| 国产午夜亚洲精品不卡| 91麻豆免费看| 奇米影视一区二区三区| 久久久美女毛片| 91在线观看视频| 秋霞国产午夜精品免费视频| 国产午夜精品一区二区三区嫩草 | 亚洲在线中文字幕| 在线播放91灌醉迷j高跟美女| 久久国产精品无码网站| 中文字幕巨乱亚洲| 欧美三级午夜理伦三级中视频| 日本麻豆一区二区三区视频| 中文字幕免费在线观看视频一区| 色狠狠一区二区| 国内精品免费在线观看| 玉足女爽爽91| 国产日本亚洲高清| 色拍拍在线精品视频8848| 免费在线欧美视频| 亚洲精选在线视频| 久久久99免费| 欧美剧情片在线观看| 成人一区二区三区| 免费观看在线色综合| 中文字幕日韩av资源站| 欧美大片拔萝卜| 色婷婷综合久久| 国产精品一二三四五| 午夜免费欧美电影| 国产精品污污网站在线观看| 日韩免费一区二区| 欧美日韩在线不卡| 色综合天天综合狠狠| 国产乱子伦视频一区二区三区| 亚洲高清视频的网址| 亚洲色图欧洲色图婷婷| 国产女人aaa级久久久级| 日韩一区二区三区四区五区六区| 色久综合一二码| 99精品久久只有精品| 国产成人午夜99999| 久久福利资源站| 日本不卡视频一二三区| 午夜成人免费电影| 亚洲丰满少妇videoshd| 亚洲精品美国一| 亚洲欧洲一区二区在线播放| 国产欧美精品在线观看| 26uuu国产电影一区二区| 欧美日韩一区二区三区免费看| 97久久超碰国产精品| 成人精品国产福利| 国产高清在线观看免费不卡| 国产精品一区在线| 国产成人免费在线视频| 国产一区二区在线观看视频| 欧美aaaaaa午夜精品| 毛片av一区二区| 精品无人区卡一卡二卡三乱码免费卡| 午夜电影一区二区| 日韩成人免费电影| 男人的天堂久久精品| 美女视频一区二区三区| 免费在线观看一区| 精品一区二区久久| 国产又黄又大久久| 处破女av一区二区| 波多野结衣一区二区三区 | 日韩一区欧美一区| 亚洲精品自拍动漫在线| 亚洲裸体xxx| 一区二区三区在线观看国产| 亚洲综合在线电影| 亚洲伊人伊色伊影伊综合网| 视频在线观看91| 美美哒免费高清在线观看视频一区二区| 免费观看在线综合| 国产高清不卡一区| av亚洲精华国产精华精华| 91一区二区在线| 欧美区视频在线观看| 日韩欧美一区在线| 国产亚洲欧美日韩在线一区| 国产精品网站在线观看| 亚洲自拍偷拍九九九| 五月激情六月综合| 国产精品一区二区不卡| 91在线国产福利| 欧美日韩另类一区| 久久久久久久久久久久久夜| 国产精品理伦片| 亚洲bt欧美bt精品| 久久9热精品视频| av高清久久久| 欧美一区二区视频在线观看2020| 久久综合久久综合久久| 亚洲三级在线观看| 久久精品噜噜噜成人av农村| 国产91精品露脸国语对白| 91麻豆国产香蕉久久精品| 欧美一区二区福利在线| 中文字幕在线免费不卡| 日韩精品91亚洲二区在线观看| 国产成人啪免费观看软件| 欧美性生活一区| 久久免费看少妇高潮| 亚洲一区二区综合| 国产成人在线观看免费网站| 欧美日韩aaa| 国产精品久久久久久久久免费相片| 亚洲午夜影视影院在线观看| 国产美女主播视频一区| 欧美色综合网站| 国产精品美女久久久久久久| 蜜桃av一区二区在线观看| 日本电影欧美片| 26uuu国产电影一区二区| 亚洲欧美一区二区久久 | 成人av电影在线观看| 欧美高清激情brazzers| 亚洲欧美电影院| 国产乱人伦偷精品视频免下载| 欧美日本在线看| 亚洲精品五月天| 国产成人免费xxxxxxxx| 91精品国产综合久久蜜臀| 亚洲精品国产一区二区三区四区在线| 国产在线麻豆精品观看| 91麻豆精品91久久久久久清纯| 亚洲视频网在线直播| 国产成人亚洲精品狼色在线| 欧美麻豆精品久久久久久| 亚洲天堂成人在线观看| 国产宾馆实践打屁股91| 精品噜噜噜噜久久久久久久久试看| 一卡二卡欧美日韩| 96av麻豆蜜桃一区二区| 日本一区二区三区免费乱视频 | 色综合久久中文综合久久牛| 日韩欧美123| 青青草成人在线观看| 欧美日韩一区二区三区四区五区 | 91论坛在线播放| 国产精品婷婷午夜在线观看| 国内成人自拍视频| 日韩欧美不卡一区| 久久成人综合网| 日韩欧美高清在线| 日本亚洲免费观看| 69久久夜色精品国产69蝌蚪网| 樱桃视频在线观看一区| eeuss影院一区二区三区| 亚洲欧洲国产日韩| 97久久精品人人澡人人爽| 亚洲视频电影在线| 91麻豆6部合集magnet| 亚洲中国最大av网站| 色妞www精品视频| 亚洲精品国产成人久久av盗摄| 99精品国产视频| 亚洲激情成人在线| 欧美日韩国产成人在线91| 亚洲一区二区免费视频| 欧美日韩激情一区二区| 免费观看在线色综合| 久久婷婷色综合| av资源站一区| 亚洲成在线观看| 91精品国产色综合久久不卡蜜臀 | 亚洲线精品一区二区三区| 欧美美女黄视频| 国产一区二区三区四区五区美女| 国产亲近乱来精品视频| 99免费精品视频| 亚洲一区二区在线免费看| 欧美一区二区三区在线| 国产精品一区三区| 亚洲精品视频免费看| 91.com在线观看| 国产成+人+日韩+欧美+亚洲| 亚洲美女一区二区三区| 欧美一区二区三区爱爱| 成人免费看片app下载| 亚洲一二三区在线观看| 精品福利一区二区三区免费视频|