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

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

?? jfdctflt.c

?? About JPEG, executable on Visual C++
?? C
字號(hào):
////////////////////////////////////////////////////////////////////////
//
//	Note : this file is included as part of the Smaller Animals Software
//	JpegFile package. Though this file has not been modified from it's 
//	original IJG 6a form, it is not the responsibility on the Independent
//	JPEG Group to answer questions regarding this code.
//	
//	Any questions you have about this code should be addressed to :
//
//	CHRISDL@PAGESZ.NET	- the distributor of this package.
//
//	Remember, by including this code in the JpegFile package, Smaller 
//	Animals Software assumes all responsibilities for answering questions
//	about it. If we (SA Software) can't answer your questions ourselves, we 
//	will direct you to people who can.
//
//	Thanks, CDL.
//
////////////////////////////////////////////////////////////////////////

/*
 * jfdctflt.c
 *
 * Copyright (C) 1994-1996, Thomas G. Lane.
 * This file is part of the Independent JPEG Group's software.
 * For conditions of distribution and use, see the accompanying README file.
 *
 * This file contains a floating-point implementation of the
 * forward DCT (Discrete Cosine Transform).
 *
 * This implementation should be more accurate than either of the integer
 * DCT implementations.  However, it may not give the same results on all
 * machines because of differences in roundoff behavior.  Speed will depend
 * on the hardware's floating point capacity.
 *
 * A 2-D DCT can be done by 1-D DCT on each row followed by 1-D DCT
 * on each column.  Direct algorithms are also available, but they are
 * much more complex and seem not to be any faster when reduced to code.
 *
 * This implementation is based on Arai, Agui, and Nakajima's algorithm for
 * scaled DCT.  Their original paper (Trans. IEICE E-71(11):1095) is in
 * Japanese, but the algorithm is described in the Pennebaker & Mitchell
 * JPEG textbook (see REFERENCES section in file README).  The following code
 * is based directly on figure 4-8 in P&M.
 * While an 8-point DCT cannot be done in less than 11 multiplies, it is
 * possible to arrange the computation so that many of the multiplies are
 * simple scalings of the final outputs.  These multiplies can then be
 * folded into the multiplications or divisions by the JPEG quantization
 * table entries.  The AA&N method leaves only 5 multiplies and 29 adds
 * to be done in the DCT itself.
 * The primary disadvantage of this method is that with a fixed-point
 * implementation, accuracy is lost due to imprecise representation of the
 * scaled quantization values.  However, that problem does not arise if
 * we use floating point arithmetic.
 */

#define JPEG_INTERNALS
#include "jinclude.h"
#include "jpeglib.h"
#include "jdct.h"		/* Private declarations for DCT subsystem */

#ifdef DCT_FLOAT_SUPPORTED


/*
 * This module is specialized to the case DCTSIZE = 8.
 */

#if DCTSIZE != 8
  Sorry, this code only copes with 8x8 DCTs. /* deliberate syntax err */
#endif


/*
 * Perform the forward DCT on one block of samples.
 */

GLOBAL(void)
jpeg_fdct_float (FAST_FLOAT * data)
{
  FAST_FLOAT tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7;
  FAST_FLOAT tmp10, tmp11, tmp12, tmp13;
  FAST_FLOAT z1, z2, z3, z4, z5, z11, z13;
  FAST_FLOAT *dataptr;
  int ctr;

  /* Pass 1: process rows. */

  dataptr = data;
  for (ctr = DCTSIZE-1; ctr >= 0; ctr--) {
    tmp0 = dataptr[0] + dataptr[7];
    tmp7 = dataptr[0] - dataptr[7];
    tmp1 = dataptr[1] + dataptr[6];
    tmp6 = dataptr[1] - dataptr[6];
    tmp2 = dataptr[2] + dataptr[5];
    tmp5 = dataptr[2] - dataptr[5];
    tmp3 = dataptr[3] + dataptr[4];
    tmp4 = dataptr[3] - dataptr[4];
    
    /* Even part */
    
    tmp10 = tmp0 + tmp3;	/* phase 2 */
    tmp13 = tmp0 - tmp3;
    tmp11 = tmp1 + tmp2;
    tmp12 = tmp1 - tmp2;
    
    dataptr[0] = tmp10 + tmp11; /* phase 3 */
    dataptr[4] = tmp10 - tmp11;
    
    z1 = (tmp12 + tmp13) * ((FAST_FLOAT) 0.707106781); /* c4 */
    dataptr[2] = tmp13 + z1;	/* phase 5 */
    dataptr[6] = tmp13 - z1;
    
    /* Odd part */

    tmp10 = tmp4 + tmp5;	/* phase 2 */
    tmp11 = tmp5 + tmp6;
    tmp12 = tmp6 + tmp7;

    /* The rotator is modified from fig 4-8 to avoid extra negations. */
    z5 = (tmp10 - tmp12) * ((FAST_FLOAT) 0.382683433); /* c6 */
    z2 = ((FAST_FLOAT) 0.541196100) * tmp10 + z5; /* c2-c6 */
    z4 = ((FAST_FLOAT) 1.306562965) * tmp12 + z5; /* c2+c6 */
    z3 = tmp11 * ((FAST_FLOAT) 0.707106781); /* c4 */

    z11 = tmp7 + z3;		/* phase 5 */
    z13 = tmp7 - z3;

    dataptr[5] = z13 + z2;	/* phase 6 */
    dataptr[3] = z13 - z2;
    dataptr[1] = z11 + z4;
    dataptr[7] = z11 - z4;

    dataptr += DCTSIZE;		/* advance pointer to next row */
  }

  /* Pass 2: process columns. */

  dataptr = data;
  for (ctr = DCTSIZE-1; ctr >= 0; ctr--) {
    tmp0 = dataptr[DCTSIZE*0] + dataptr[DCTSIZE*7];
    tmp7 = dataptr[DCTSIZE*0] - dataptr[DCTSIZE*7];
    tmp1 = dataptr[DCTSIZE*1] + dataptr[DCTSIZE*6];
    tmp6 = dataptr[DCTSIZE*1] - dataptr[DCTSIZE*6];
    tmp2 = dataptr[DCTSIZE*2] + dataptr[DCTSIZE*5];
    tmp5 = dataptr[DCTSIZE*2] - dataptr[DCTSIZE*5];
    tmp3 = dataptr[DCTSIZE*3] + dataptr[DCTSIZE*4];
    tmp4 = dataptr[DCTSIZE*3] - dataptr[DCTSIZE*4];
    
    /* Even part */
    
    tmp10 = tmp0 + tmp3;	/* phase 2 */
    tmp13 = tmp0 - tmp3;
    tmp11 = tmp1 + tmp2;
    tmp12 = tmp1 - tmp2;
    
    dataptr[DCTSIZE*0] = tmp10 + tmp11; /* phase 3 */
    dataptr[DCTSIZE*4] = tmp10 - tmp11;
    
    z1 = (tmp12 + tmp13) * ((FAST_FLOAT) 0.707106781); /* c4 */
    dataptr[DCTSIZE*2] = tmp13 + z1; /* phase 5 */
    dataptr[DCTSIZE*6] = tmp13 - z1;
    
    /* Odd part */

    tmp10 = tmp4 + tmp5;	/* phase 2 */
    tmp11 = tmp5 + tmp6;
    tmp12 = tmp6 + tmp7;

    /* The rotator is modified from fig 4-8 to avoid extra negations. */
    z5 = (tmp10 - tmp12) * ((FAST_FLOAT) 0.382683433); /* c6 */
    z2 = ((FAST_FLOAT) 0.541196100) * tmp10 + z5; /* c2-c6 */
    z4 = ((FAST_FLOAT) 1.306562965) * tmp12 + z5; /* c2+c6 */
    z3 = tmp11 * ((FAST_FLOAT) 0.707106781); /* c4 */

    z11 = tmp7 + z3;		/* phase 5 */
    z13 = tmp7 - z3;

    dataptr[DCTSIZE*5] = z13 + z2; /* phase 6 */
    dataptr[DCTSIZE*3] = z13 - z2;
    dataptr[DCTSIZE*1] = z11 + z4;
    dataptr[DCTSIZE*7] = z11 - z4;

    dataptr++;			/* advance pointer to next column */
  }
}

#endif /* DCT_FLOAT_SUPPORTED */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
肉丝袜脚交视频一区二区| 日韩视频在线观看一区二区| 色综合久久久久综合| 欧美在线观看你懂的| 日韩一区二区三区电影| 久久久久久久久岛国免费| 亚洲精品欧美激情| 免费在线观看精品| 成人污污视频在线观看| 欧美日本在线播放| 久久久久久久久久看片| 亚洲一区二区三区四区在线| 久久精品99久久久| 91女厕偷拍女厕偷拍高清| 在线电影一区二区三区| 日本一区二区动态图| 午夜电影网亚洲视频| 国产成a人亚洲精品| 欧美精品电影在线播放| 国产精品美女久久久久久2018| 天天综合日日夜夜精品| 成人美女在线观看| 日韩一区二区三区免费观看| 国产精品美女一区二区| 久色婷婷小香蕉久久| 色婷婷av一区二区三区大白胸| 精品免费99久久| 亚洲一区二区三区四区五区中文| 国产精品123| 91.xcao| 1024亚洲合集| 九九**精品视频免费播放| 在线观看av不卡| 国产九色sp调教91| 欧美在线影院一区二区| 国产精品视频观看| 精品在线免费视频| 欧美人与禽zozo性伦| 自拍偷自拍亚洲精品播放| 国产精品1区2区3区| 日韩片之四级片| 无码av中文一区二区三区桃花岛| 91在线播放网址| 国产精品你懂的在线欣赏| 久久99久久99小草精品免视看| 欧美日韩一区久久| 伊人色综合久久天天人手人婷| 成人精品在线视频观看| 久久久三级国产网站| 日本亚洲视频在线| 欧美顶级少妇做爰| 亚洲综合成人在线| 一本一道久久a久久精品综合蜜臀| 久久亚洲精精品中文字幕早川悠里| 日韩经典中文字幕一区| 91久久人澡人人添人人爽欧美| 国产精品伦理一区二区| 国产精品一区在线| 久久综合久久久久88| 美腿丝袜一区二区三区| 欧美午夜精品久久久| 亚洲最新视频在线播放| 在线观看日韩国产| 亚洲欧美日韩中文字幕一区二区三区 | 亚洲h精品动漫在线观看| 色8久久人人97超碰香蕉987| 亚洲人成网站影音先锋播放| 成+人+亚洲+综合天堂| 国产精品色哟哟网站| 成人国产精品免费网站| 国产色综合久久| 国产91精品精华液一区二区三区| 国产亚洲精品福利| 国产超碰在线一区| 国产精品免费视频观看| 91丨porny丨蝌蚪视频| 亚洲天堂免费看| 色综合色综合色综合色综合色综合 | 免费成人av在线| 91精品久久久久久蜜臀| 另类调教123区| 国产亚洲一二三区| 国产成人自拍在线| 国产精品久久综合| 日本高清不卡视频| 亚洲国产精品久久一线不卡| 欧美日韩一区视频| 蜜桃av一区二区在线观看| 丝袜美腿亚洲色图| 日韩精品中文字幕在线一区| 久久99久久久久| 欧美激情一区不卡| 91亚洲永久精品| 性欧美大战久久久久久久久| 欧美一级专区免费大片| 国产又黄又大久久| 中文字幕一区二区三区av| 在线观看日韩av先锋影音电影院| 性欧美疯狂xxxxbbbb| 欧美xxxx老人做受| 成人福利视频在线| 亚洲国产欧美一区二区三区丁香婷| 7777精品伊人久久久大香线蕉超级流畅| 免费国产亚洲视频| 中日韩免费视频中文字幕| 在线观看免费亚洲| 精品一区二区三区免费| 国产精品看片你懂得| 91官网在线免费观看| 久久精品99久久久| 中文字幕在线观看一区| 欧美性一区二区| 国产精品自拍三区| 一区二区三区免费观看| 欧美一卡二卡三卡| 不卡一区中文字幕| 日一区二区三区| 日本一区二区三区国色天香| 在线观看成人免费视频| 狠狠色综合日日| 亚洲美女免费在线| 欧美电影免费观看完整版| 99久久99久久精品免费观看| 日本aⅴ亚洲精品中文乱码| 中文字幕乱码日本亚洲一区二区| 91黄色激情网站| 国产精品一色哟哟哟| 午夜av一区二区| 国产精品毛片久久久久久| 欧美日韩黄视频| av激情综合网| 加勒比av一区二区| 亚洲.国产.中文慕字在线| 国产欧美一区二区在线| 69堂国产成人免费视频| 成人激情综合网站| 九九热在线视频观看这里只有精品| 18成人在线观看| 久久久精品黄色| 欧美一区二区视频在线观看| 91碰在线视频| 国产99一区视频免费| 日韩和的一区二区| 亚洲欧美区自拍先锋| 久久久久国色av免费看影院| 欧美群妇大交群的观看方式| 99在线视频精品| 国产成人综合自拍| 久久99国内精品| 视频一区二区三区中文字幕| 亚洲欧美综合另类在线卡通| 久久亚洲精品小早川怜子| 7777精品伊人久久久大香线蕉超级流畅 | 亚洲电影第三页| 亚洲少妇屁股交4| 国产日韩精品视频一区| 日韩欧美国产不卡| 欧美一区二区视频在线观看2022 | 亚洲午夜久久久久久久久电影院| 国产精品免费视频一区| 国产视频一区二区在线观看| 日韩欧美高清一区| 91精品国产综合久久精品| 日本久久电影网| 99久久免费视频.com| 国产91高潮流白浆在线麻豆| 久久成人av少妇免费| 日本欧美一区二区三区乱码| 亚洲福利视频导航| 一区二区三区色| 亚洲日本一区二区| 国产精品不卡一区| 中文字幕 久热精品 视频在线 | 成人深夜视频在线观看| 激情图片小说一区| 韩国成人在线视频| 麻豆高清免费国产一区| 日本欧美一区二区在线观看| 天天综合色天天综合色h| 偷拍日韩校园综合在线| 亚洲成人免费看| 午夜国产精品一区| 日本午夜精品一区二区三区电影| 日韩在线一区二区| 日本视频一区二区三区| 伦理电影国产精品| 国产一区三区三区| 国产成人精品一区二区三区四区 | 国产精品卡一卡二卡三| 国产精品久久久久久久久晋中 | 一本到一区二区三区| 一本高清dvd不卡在线观看| 在线亚洲高清视频| 欧美视频你懂的| 欧美另类z0zxhd电影| 欧美一区二区三区在| 久久这里只有精品首页| 国产精品视频观看| 亚洲你懂的在线视频| 无码av中文一区二区三区桃花岛|