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

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

?? idct.c

?? MPEG4編解C源代碼(可以移植到ARM和DSP上).rar
?? 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一区二区三区免费野_久草精品视频
欧美少妇bbb| av在线一区二区三区| 老汉av免费一区二区三区| 国产成人精品免费一区二区| av在线不卡免费看| 日韩视频免费直播| 亚洲精品成人精品456| 激情综合网天天干| 欧美日韩aaa| 亚洲综合清纯丝袜自拍| 国产成人免费xxxxxxxx| 欧美日韩一区二区三区四区五区| 国产色91在线| 久国产精品韩国三级视频| 在线亚洲高清视频| 国产精品传媒入口麻豆| 国内精品免费**视频| 日韩你懂的在线播放| 丝袜脚交一区二区| 欧美性受xxxx黑人xyx性爽| 国产精品久久久久久久久免费相片| 久久精品国产99| 欧美一区二区三区播放老司机| 亚洲精品第1页| 色婷婷av一区二区| 久久亚洲精华国产精华液 | 在线免费观看日韩欧美| 国产精品久线在线观看| 国产99久久久国产精品| 久久久国际精品| 国产激情视频一区二区三区欧美| 日韩欧美国产综合一区 | 国产视频一区在线观看 | 91在线小视频| 亚洲日本丝袜连裤袜办公室| www.欧美日韩| 综合激情成人伊人| 日本丶国产丶欧美色综合| 亚洲久草在线视频| 欧美制服丝袜第一页| 亚洲小少妇裸体bbw| 欧美日韩精品欧美日韩精品| 婷婷久久综合九色综合绿巨人| 欧美日韩一区三区| 日本视频一区二区三区| 欧美电影免费观看高清完整版| 日产国产高清一区二区三区| 欧美一区二区黄色| 久久99深爱久久99精品| 欧美国产精品久久| 91免费在线视频观看| 亚洲国产一区视频| 日韩一区二区在线免费观看| 精品在线免费视频| 日本一区二区三区免费乱视频| 国产一二精品视频| 亚洲三级小视频| 欧美男生操女生| 国产麻豆视频精品| 亚洲欧美日韩国产手机在线| 欧美三级中文字幕| 国产美女视频一区| 亚洲人成亚洲人成在线观看图片 | 麻豆专区一区二区三区四区五区| 精品久久免费看| 成人免费福利片| 亚洲成年人网站在线观看| 日韩亚洲欧美中文三级| 国产成人精品免费看| 亚洲综合图片区| 精品国产91亚洲一区二区三区婷婷| 国产精品18久久久久久久久 | 国产精品免费丝袜| 欧美日韩亚洲高清一区二区| 免费高清在线一区| 亚洲人妖av一区二区| 91精品国产全国免费观看| 国产99久久久精品| 五月婷婷色综合| 国产精品丝袜91| 欧美一区二区三区在线观看| 成人午夜视频在线| 日韩激情在线观看| 亚洲欧美日韩成人高清在线一区| 日韩午夜中文字幕| 色狠狠综合天天综合综合| 九九九精品视频| 亚洲国产综合视频在线观看| 国产无一区二区| 7777精品伊人久久久大香线蕉经典版下载 | 亚洲一二三专区| 国产欧美一区在线| 欧美不卡一区二区| 欧美优质美女网站| 92国产精品观看| 国产99一区视频免费| 久久精品免费观看| 亚洲动漫第一页| 亚洲美女屁股眼交| 中文字幕亚洲区| 国产人伦精品一区二区| 91精品欧美一区二区三区综合在 | 在线看日本不卡| 国产成人精品三级| 国产美女在线精品| 精品一区二区三区免费毛片爱| 亚洲成人免费av| 亚洲mv在线观看| 亚洲主播在线观看| 一区二区三区精品在线观看| 国产精品久久久久永久免费观看 | 在线观看91视频| 国产69精品一区二区亚洲孕妇| 韩国女主播成人在线观看| 爽好多水快深点欧美视频| 亚洲素人一区二区| 亚洲免费观看高清在线观看| 日本一区免费视频| 国产精品国产三级国产aⅴ中文| 欧美激情中文字幕一区二区| 日本一区二区在线不卡| 国产精品视频一二三区| 欧美国产欧美亚州国产日韩mv天天看完整| 日韩一区二区三区在线观看| 91精品国产乱码久久蜜臀| 制服.丝袜.亚洲.另类.中文 | 水野朝阳av一区二区三区| 亚洲国产另类av| 日本欧美久久久久免费播放网| 五月开心婷婷久久| 久久精品国产77777蜜臀| 国产一区二区不卡| 97久久精品人人澡人人爽| 色综合久久久网| 在线不卡a资源高清| 日韩欧美一二三区| 日本一区免费视频| 亚洲一区二三区| 琪琪久久久久日韩精品| 国产精品18久久久久久久久久久久 | 91无套直看片红桃| 欧美在线不卡一区| 日韩片之四级片| 国产亚洲精品超碰| 一级精品视频在线观看宜春院| 午夜精品免费在线| 国产电影一区在线| 色天使色偷偷av一区二区| 欧美精品久久久久久久久老牛影院| 欧美一级午夜免费电影| 国产精品萝li| 石原莉奈在线亚洲三区| 国产精品主播直播| 欧美日韩亚洲综合在线| 久久久青草青青国产亚洲免观| 亚洲免费在线视频| 国内精品自线一区二区三区视频| www.久久精品| 日韩精品自拍偷拍| 亚洲精品国产高清久久伦理二区| 久久9热精品视频| 在线观看日韩国产| 欧美国产97人人爽人人喊| 午夜免费久久看| 成人av电影在线| 日韩午夜激情av| 一区二区三区欧美日| 国产丶欧美丶日本不卡视频| 欧美日韩一区成人| 国产精品久久久久久久久久久免费看 | 91福利在线免费观看| 精品国产一二三区| 香蕉久久一区二区不卡无毒影院| 国产成人av在线影院| 日韩一区二区视频| 一区二区三区中文字幕| 国产盗摄一区二区三区| 日韩一区二区三区四区| 亚洲国产欧美在线| www.亚洲精品| 国产亚洲欧美日韩在线一区| 日本免费在线视频不卡一不卡二| 91视频免费播放| 中文一区在线播放| 国产一区二区在线免费观看| 欧美疯狂性受xxxxx喷水图片| 亚洲色图色小说| 97精品久久久久中文字幕| 欧美国产一区二区在线观看| 狠狠狠色丁香婷婷综合久久五月| 91精品国产手机| 亚洲第一主播视频| 欧美做爰猛烈大尺度电影无法无天| 欧美激情一二三区| 国产成人aaaa| 久久精品一区八戒影视| 国产电影一区二区三区| 久久久国产综合精品女国产盗摄| 国内精品伊人久久久久av一坑| 欧美成人伊人久久综合网|