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

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

?? idctref.c

?? DVD轉換到AVI的源代碼
?? C
字號:
/* idctref_miha.c, Inverse Discrete Fourier Transform, double precision *//*************************************************************/
/*                                                           */
/* x87 hand-optimized assembly by Miha Peternel              */
/*                                     27.11. - 20.1.2001    */
/*                                                           */
/* You are free to use this code in your project if:         */
/* - no changes are made to this message                     */
/* - any changes to this code are publicly available         */
/* - your project documentation contains the following text: */
/*   "This software contains fast high-quality IDCT decoder  */
/*    by Miha Peternel."                                     */
/*                                                           */
/*************************************************************/
/*  Perform IEEE 1180 reference (64-bit floating point, separable 8x1 *  direct matrix multiply) Inverse Discrete Cosine Transform*/
#define ModelX 123 // enable C-level optimizations by Miha Peternel/* Here we use math.h to generate constants.  Compiler results may   vary a little */#include <math.h>#define M_PI	3.1415926535897932384626433832795const static double HALF = 0.5;

/* private data */
static short iclip[1024+1024]; /* clipping table */
static short *iclp;
/* cosine transform matrix for 8x1 IDCT */static double c[8][8];/* initialize DCT coefficient matrix */void Initialize_REF_IDCT(){  int freq, time, i;  double scale;  for (freq=0; freq < 8; freq++)  {    scale = (freq == 0) ? sqrt(0.125) : 0.5;    for (time=0; time<8; time++)      c[freq][time] = scale*cos((M_PI/8.0)*freq*(time + 0.5));  }

#ifdef ModelX  iclp = iclip+1024;
  for (i= -1024; i<1024; i++)
    iclp[i] = (i<-256) ? -256 : ((i>255) ? 255 : i);
#endif
}
void REF_IDCT(short *block){  double tmp[64];
	double rnd[64];
	int int0, int1, int2, int3, int4, int5, int6, int7;
	unsigned short fpold;
	unsigned short fpnew;

	int *b = (int *) block;

  if( !(b[0]|(b[31]&~0x10000)) )
	{
	  if( b[ 1]|b[ 2]|b[ 3]|b[ 4]|b[ 5]|b[ 6] )
		  goto normal;
	  if( b[ 7]|b[ 8]|b[ 9]|b[10]|b[11]|b[12] )
		  goto normal;
	  if( b[13]|b[14]|b[15]|b[16]|b[17]|b[18] )
		  goto normal;
	  if( b[19]|b[20]|b[21]|b[22]|b[23]|b[24] )
		  goto normal;
	  if( b[25]|b[26]|b[27]|b[28]|b[29]|b[30] )
		  goto normal;
		b[31]=0;
		return;
	}
normal:

	__asm
	{
		// do the IDCT
		mov esi,[block]
		lea eax,[c]
		lea edi,[tmp]
		//mov ebx,8
		mov ebx,8 // 0x77000000 // 8
		align 16
	__col1:
	    movzx edx,[esi+1*2]
			mov   ecx,[esi+2*2]
			or    edx,[esi+4*2]
			or    ecx,[esi+6*2]
			or edx,ecx
			//mov ecx,8
			mov ecx,8/2 // 0x77000000 // 8

			jnz __row1
				fild  word ptr [esi+0*2]
				fmul qword ptr [eax+0*8*8]
				fst  qword ptr [edi+0*8]
				fst  qword ptr [edi+1*8]
				fst  qword ptr [edi+2*8]
				fst  qword ptr [edi+3*8]
				fst  qword ptr [edi+4*8]
				fst  qword ptr [edi+5*8]
				fst  qword ptr [edi+6*8]
				fstp qword ptr [edi+7*8]
				add edi,8*8
				jmp __next1
			align 16
		__row1:
				fild  word ptr [esi+0*2]
				fmul qword ptr [eax+0*8*8]
				fild  word ptr [esi+1*2]
				fmul qword ptr [eax+1*8*8]
				fadd
				fild  word ptr [esi+2*2]
				fmul qword ptr [eax+2*8*8]
				fadd
				fild  word ptr [esi+3*2]
				fmul qword ptr [eax+3*8*8]
				fadd
				fild  word ptr [esi+4*2]
				fmul qword ptr [eax+4*8*8]
				fadd
				fild  word ptr [esi+5*2]
				fmul qword ptr [eax+5*8*8]
				fadd
				fild  word ptr [esi+6*2]
				fmul qword ptr [eax+6*8*8]
				fadd
				fild  word ptr [esi+7*2]
				fmul qword ptr [eax+7*8*8]
				fadd

				fild  word ptr [esi+0*2]
				fmul qword ptr [eax+0*8*8+8]
				fild  word ptr [esi+1*2]
				fmul qword ptr [eax+1*8*8+8]
				fadd
				fild  word ptr [esi+2*2]
				fmul qword ptr [eax+2*8*8+8]
				fadd
				fild  word ptr [esi+3*2]
				fmul qword ptr [eax+3*8*8+8]
				fadd
				fild  word ptr [esi+4*2]
				fmul qword ptr [eax+4*8*8+8]
				fadd
				fild  word ptr [esi+5*2]
				fmul qword ptr [eax+5*8*8+8]
				fadd
				fild  word ptr [esi+6*2]
				fmul qword ptr [eax+6*8*8+8]
				fadd
				fild  word ptr [esi+7*2]
				fmul qword ptr [eax+7*8*8+8]
				fadd
				add eax,8*2
				fxch st(1)
				fstp qword ptr [edi]//
				fstp qword ptr [edi+8]
				add edi,8*2
			dec ecx

			jnz __row1
			add eax,-8*8
			  //align 16
		__next1:
			add esi,+8*2
		//dec ebx
		sub ebx,0x80000001 // add ebx,ebx 
		js  __col1
			//align 16
			test ebx,ebx // align jump &| redo flags
		jnz __col1

		lea esi,[tmp]
		lea eax,[c]
		lea edi,[rnd]
		//mov edi,[block]
    fld qword ptr [HALF]
		mov ebx,8
	__row2:
			mov ecx,8/2
			align 16
			__col2:
				fld  qword ptr [esi+0*8*8]
				fmul qword ptr [eax+0*8*8]
				fld  qword ptr [esi+1*8*8]
				fmul qword ptr [eax+1*8*8]
				fadd
				fld  qword ptr [esi+2*8*8]
				fmul qword ptr [eax+2*8*8]
				fadd
				fld  qword ptr [esi+3*8*8]
				fmul qword ptr [eax+3*8*8]
				fadd
				fld  qword ptr [esi+4*8*8]
				fmul qword ptr [eax+4*8*8]
				fadd
				fld  qword ptr [esi+5*8*8]
				fmul qword ptr [eax+5*8*8]
				fadd
				fld  qword ptr [esi+6*8*8]
				fmul qword ptr [eax+6*8*8]
				fadd
				fld  qword ptr [esi+7*8*8]
				fmul qword ptr [eax+7*8*8]
				fadd
				fadd st(0),st(1)

				fxch st(1)

				fld  qword ptr [esi+0*8*8]
				fmul qword ptr [eax+0*8*8+8]
				fld  qword ptr [esi+1*8*8]
				fmul qword ptr [eax+1*8*8+8]
				fadd
				fld  qword ptr [esi+2*8*8]
				fmul qword ptr [eax+2*8*8+8]
				fadd
				fld  qword ptr [esi+3*8*8]
				fmul qword ptr [eax+3*8*8+8]
				fadd
				fld  qword ptr [esi+4*8*8]
				fmul qword ptr [eax+4*8*8+8]
				fadd
				fld  qword ptr [esi+5*8*8]
				fmul qword ptr [eax+5*8*8+8]
				fadd
				fld  qword ptr [esi+6*8*8]
				fmul qword ptr [eax+6*8*8+8]
				fadd
				fld  qword ptr [esi+7*8*8]
				fmul qword ptr [eax+7*8*8+8]
				fadd
				fadd st(0),st(1)
				add eax,8*2

				fxch st(2)
				fstp qword ptr [edi]
				fxch st(1)
				fstp qword ptr [edi+8*8]
				add edi,8*8*2

			dec ecx

			jnz __col2
			add eax,-8*8
			add esi,+8
			add edi,8-8*8*8

		sub ebx,0x80000001
		js  __row2
			  //align 16
				test ebx,ebx // align jump &| redo flags
		jnz __row2
		ffree st(0) // bye bye 0.5

	  // set x87 to floor mode
		fstcw [fpold]
		movzx eax, [fpold]

		or eax, 0x0400 // round down - floor
		mov [fpnew], ax
		fldcw [fpnew]

		// now floor the damn array
		lea esi, [rnd]
		mov edi, [block]
		mov ebx, -256 // clip min
		mov edx, +255 // clip max
		mov ecx, 8
		align 16
	__floor:
		  fld   qword ptr [esi+0*8]
			fistp dword ptr [int0]
			  mov eax,[int0]
				cmp   eax,ebx
				cmovl eax,ebx
				cmp   eax,edx
				cmovg eax,edx
		  fld   qword ptr [esi+1*8]
			fistp dword ptr [int1]
				mov word ptr [edi+0*2],ax
			  mov eax,[int1]
				cmp   eax,ebx
				cmovl eax,ebx
				cmp   eax,edx
				cmovg eax,edx
		  fld   qword ptr [esi+2*8]
			fistp dword ptr [int2]
				mov word ptr [edi+1*2],ax
			  mov eax,[int2]
				cmp   eax,ebx
				cmovl eax,ebx
				cmp   eax,edx
				cmovg eax,edx
		  fld   qword ptr [esi+3*8]
			fistp dword ptr [int3]
				mov word ptr [edi+2*2],ax
			  mov eax,[int3]
				cmp   eax,ebx
				cmovl eax,ebx
				cmp   eax,edx
				cmovg eax,edx
		  fld   qword ptr [esi+4*8]
			fistp dword ptr [int4]
				mov word ptr [edi+3*2],ax
			  mov eax,[int4]
				cmp   eax,ebx
				cmovl eax,ebx
				cmp   eax,edx
				cmovg eax,edx
		  fld   qword ptr [esi+5*8]
			fistp dword ptr [int5]
				mov word ptr [edi+4*2],ax
			  mov eax,[int5]
				cmp   eax,ebx
				cmovl eax,ebx
				cmp   eax,edx
				cmovg eax,edx
		  fld   qword ptr [esi+6*8]
			fistp dword ptr [int6]
				mov word ptr [edi+5*2],ax
			  mov eax,[int6]
				cmp   eax,ebx
				cmovl eax,ebx
				cmp   eax,edx
				cmovg eax,edx
		  fld   qword ptr [esi+7*8]
			fistp dword ptr [int7]
				mov word ptr [edi+6*2],ax
			  mov eax,[int7]
				cmp   eax,ebx
				cmovl eax,ebx
				cmp   eax,edx
				cmovg eax,edx
				mov word ptr [edi+7*2],ax

			add esi, 8*8
			add edi, 8*2
		//dec ecx
		sub ecx,0x80000001
		js  __floor
			  //align 16
				test ecx,ecx // align jump &| redo flags
		jnz __floor

		// set x87 to default mode
		fldcw [fpold]
	};}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人免费看黄yyy456| 欧美日韩第一区日日骚| 国产另类ts人妖一区二区| 老司机免费视频一区二区三区| 亚欧色一区w666天堂| 丝袜脚交一区二区| 日韩国产欧美视频| 久久成人综合网| 国产一区二区在线看| 国产一区二区毛片| 成人免费视频国产在线观看| 国产成人在线观看免费网站| eeuss鲁片一区二区三区在线看| 成人精品免费视频| 99久久精品国产麻豆演员表| 色综合一区二区| 欧美又粗又大又爽| 欧美挠脚心视频网站| 日韩一区二区三区在线视频| 久久先锋影音av鲁色资源| 国产欧美日韩视频一区二区| 中文欧美字幕免费| 亚洲午夜一区二区三区| 蜜桃精品视频在线观看| 国产精品综合二区| 99这里只有久久精品视频| 91九色02白丝porn| 91精品国产色综合久久久蜜香臀| 日韩一级免费观看| 国产日韩亚洲欧美综合| 悠悠色在线精品| 蜜桃视频在线一区| 成人午夜看片网址| 欧美日韩综合色| 久久综合网色—综合色88| 亚洲欧洲国产日韩| 亚洲成人在线免费| 国产黄色精品网站| 欧美亚一区二区| 精品国产一区a| 综合久久久久久| 视频精品一区二区| 岛国一区二区三区| 欧美三级午夜理伦三级中视频| 日韩欧美亚洲另类制服综合在线| 国产精品国产三级国产aⅴ原创| 亚洲精品v日韩精品| 六月婷婷色综合| 91污在线观看| 精品国产乱码久久久久久浪潮 | 亚洲欧美综合另类在线卡通| 亚洲国产日韩a在线播放性色| 极品美女销魂一区二区三区免费| 91在线丨porny丨国产| 日韩片之四级片| 亚洲欧美一区二区三区孕妇| 毛片不卡一区二区| 色悠悠久久综合| 久久先锋资源网| 日本人妖一区二区| 色综合久久中文综合久久牛| 久久一区二区三区四区| 亚洲高清不卡在线观看| 不卡免费追剧大全电视剧网站| 日韩一区二区在线看| 一区二区在线电影| 国产91丝袜在线播放| 日韩欧美激情在线| 亚洲午夜精品一区二区三区他趣| 国产成人在线视频网址| 日韩三级在线免费观看| 亚洲国产精品一区二区尤物区| 成人自拍视频在线观看| 精品久久久久99| 亚洲成人www| 91免费观看国产| 国产精品女主播在线观看| 另类中文字幕网| 欧美一区二区视频在线观看| 一区二区三区鲁丝不卡| 99精品视频在线免费观看| 国产亚洲欧美日韩俺去了| 老司机午夜精品| 91精品国产美女浴室洗澡无遮挡| 一级日本不卡的影视| 不卡电影一区二区三区| 亚洲国产精品二十页| 国产成人自拍高清视频在线免费播放| 欧美一卡二卡在线观看| 石原莉奈在线亚洲二区| 欧美高清激情brazzers| 一区二区三区四区不卡视频| aaa国产一区| 中文字幕亚洲成人| 99九九99九九九视频精品| 国产精品久久久久久久裸模| 国产一区二区三区四区五区美女| 日韩视频在线永久播放| 人禽交欧美网站| 91精品国产高清一区二区三区蜜臀| 亚洲一区二区欧美激情| 欧洲av一区二区嗯嗯嗯啊| 亚洲综合精品久久| 欧美日韩高清一区二区| 五月激情综合色| 91精品欧美福利在线观看| 五月天精品一区二区三区| 在线观看91精品国产麻豆| 日韩精品久久理论片| 91精品国产色综合久久不卡电影| 麻豆精品视频在线观看视频| 日韩亚洲欧美在线观看| 激情欧美一区二区| 久久久九九九九| 成人av免费网站| 一区二区三区四区中文字幕| 欧美日韩国产一区二区三区地区| 亚洲成人av电影| 日韩免费高清视频| 国产成人免费视频网站| 中文字幕综合网| 欧美日本一道本在线视频| 奇米色777欧美一区二区| 久久免费美女视频| 成人av在线资源| 亚洲午夜电影网| 精品日韩一区二区三区免费视频| 国产激情视频一区二区在线观看| 国产精品高潮呻吟| 欧美日韩电影在线| 国产精品一区二区黑丝| 亚洲欧美综合在线精品| 欧美精品日韩一本| 精品一区二区三区免费视频| 国产精品美女一区二区三区| 在线一区二区三区四区五区| 日韩精品高清不卡| 久久精品在线免费观看| 日本韩国欧美在线| 久久国产免费看| 日韩理论电影院| 欧美一级片在线看| av在线一区二区| 日韩高清一级片| 国产精品久久久久永久免费观看 | 欧美一区二区久久久| 国产成人av网站| 亚洲成人先锋电影| 国产午夜精品一区二区三区视频| 在线精品视频一区二区| 国产一区二区三区精品视频| 亚洲特级片在线| 精品国产青草久久久久福利| 99精品久久99久久久久| 蜜臀av一区二区三区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 97久久人人超碰| 男女男精品网站| 亚洲天堂免费看| 久久久蜜桃精品| 欧美巨大另类极品videosbest| 国产电影精品久久禁18| 亚洲成在人线在线播放| 国产精品色一区二区三区| 91精品国产丝袜白色高跟鞋| 一本久道久久综合中文字幕| 极品瑜伽女神91| 日韩黄色小视频| 自拍偷拍欧美精品| 久久久噜噜噜久久中文字幕色伊伊 | 国产精品综合一区二区三区| 亚洲成人www| 亚洲激情第一区| 国产精品美女久久久久久2018| 日韩一区二区三区三四区视频在线观看| 99国产欧美另类久久久精品| 国产真实精品久久二三区| 亚洲成人免费视| 一区二区三区精品| 成人欧美一区二区三区黑人麻豆| 久久久久国产精品麻豆ai换脸| 制服丝袜日韩国产| 91福利在线播放| 成人av在线网站| 国产福利精品导航| 精品在线观看免费| 日韩av电影天堂| 午夜视黄欧洲亚洲| 亚洲午夜私人影院| 亚洲一二三四区不卡| 亚洲欧美视频在线观看视频| 国产欧美日韩不卡免费| 国产日韩欧美a| 久久久噜噜噜久久人人看| 精品国产污污免费网站入口| 欧美大胆一级视频| 欧美一级黄色片| 日韩精品一区二区三区四区| 91精品国产综合久久福利软件 | 欧美一区二区久久久|