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

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

?? getpic.c

?? DVD轉(zhuǎn)換到AVI的源代碼
?? C
?? 第 1 頁(yè) / 共 3 頁(yè)
字號(hào):
					predframe = forward_reference_frame;

				form_prediction(predframe, motion_vertical_field_select[1][0], current_frame, 
					0, Coded_Picture_Width<<1, Coded_Picture_Width<<1, 16, 8, bx, by+8,
					PMV[1][0][0], PMV[1][0][1], stw);
			}
			else if (motion_type==MC_DMV)
			{
				if (Second_Field)
					predframe = backward_reference_frame;
				else
					predframe = forward_reference_frame;

				/* calculate derived motion vectors */
				Dual_Prime_Arithmetic(DMV, dmvector, PMV[0][0][0], PMV[0][0][1]);

				/* predict from field of same parity */
				form_prediction(forward_reference_frame, currentfield, current_frame, 0, 
					Coded_Picture_Width<<1, Coded_Picture_Width<<1, 16, 16, bx, by,
					PMV[0][0][0], PMV[0][0][1], 0);

				/* predict from field of opposite parity */
				form_prediction(predframe, !currentfield, current_frame, 0,
					Coded_Picture_Width<<1, Coded_Picture_Width<<1, 16, 16, bx, by,
					DMV[0][0], DMV[0][1], 1);
			}
			else
				Fault_Flag = 5;
		}

		stw = 1;
	}

	if (macroblock_type & MACROBLOCK_MOTION_BACKWARD)
	{
		if (picture_structure==FRAME_PICTURE)
		{
			if (motion_type==MC_FRAME)
			{
				/* frame-based prediction */
				form_prediction(backward_reference_frame, 0, current_frame, 0,
					Coded_Picture_Width, Coded_Picture_Width<<1, 16, 8, bx, by,
					PMV[0][1][0], PMV[0][1][1], stw);

				form_prediction(backward_reference_frame, 1, current_frame, 1,
					Coded_Picture_Width, Coded_Picture_Width<<1, 16, 8, bx, by,
					PMV[0][1][0], PMV[0][1][1], stw);
			}
			else /* field-based prediction */
			{
				/* top field prediction */
				form_prediction(backward_reference_frame, motion_vertical_field_select[0][1], 
					current_frame, 0, Coded_Picture_Width<<1, Coded_Picture_Width<<1, 16, 8,
					bx, by>>1, PMV[0][1][0], PMV[0][1][1]>>1, stw);

				/* bottom field prediction */
				form_prediction(backward_reference_frame, motion_vertical_field_select[1][1], 
					current_frame, 1, Coded_Picture_Width<<1, Coded_Picture_Width<<1, 16, 8,
					bx, by>>1, PMV[1][1][0], PMV[1][1][1]>>1, stw);
			}
		}
		else
		{
			/* field picture */
			if (motion_type==MC_FIELD)
			{
				/* field-based prediction */
				form_prediction(backward_reference_frame, motion_vertical_field_select[0][1], 
					current_frame, 0, Coded_Picture_Width<<1, Coded_Picture_Width<<1, 16, 16,
					bx, by, PMV[0][1][0], PMV[0][1][1], stw);
			}
			else if (motion_type==MC_16X8)
			{
				form_prediction(backward_reference_frame, motion_vertical_field_select[0][1],
					current_frame, 0, Coded_Picture_Width<<1, Coded_Picture_Width<<1, 16, 8,
					bx, by, PMV[0][1][0], PMV[0][1][1], stw);

				form_prediction(backward_reference_frame, motion_vertical_field_select[1][1],
					current_frame, 0, Coded_Picture_Width<<1, Coded_Picture_Width<<1, 16, 8,
					bx, by+8, PMV[1][1][0], PMV[1][1][1], stw);
			}
			else
				Fault_Flag = 5;
		}
	}
}

static void form_prediction(unsigned char *src[], int sfield, unsigned char *dst[],
							int dfield, int lx, int lx2, int w, int h, int x, int y,
							int dx, int dy, int average_flag)
{
	form_component_prediction(src[0]+(sfield?lx2>>1:0), dst[0]+(dfield?lx2>>1:0),
		lx, lx2, w, h, x, y, dx, dy, average_flag);

	if (chroma_format!=CHROMA444)
	{
		lx>>=1; lx2>>=1; w>>=1; x>>=1; dx/=2;
	}

	if (chroma_format==CHROMA420)
	{
		h>>=1; y>>=1; dy/=2;
	}

	/* Cb */
	form_component_prediction(src[1]+(sfield?lx2>>1:0), dst[1]+(dfield?lx2>>1:0),
		lx, lx2, w, h, x, y, dx, dy, average_flag);

	/* Cr */
	form_component_prediction(src[2]+(sfield?lx2>>1:0), dst[2]+(dfield?lx2>>1:0),
		lx, lx2, w, h, x, y, dx, dy, average_flag);
}

/* ISO/IEC 13818-2 section 7.6.4: Forming predictions */
static void form_component_prediction(unsigned char *src, unsigned char *dst,
										  int lx, int lx2, int w, int h, int x, int y,
										  int dx, int dy, int average_flag)
{
	static const __int64 mmmask_0001 = 0x0001000100010001;
	static const __int64 mmmask_0002 = 0x0002000200020002;
	static const __int64 mmmask_0003 = 0x0003000300030003;
	static const __int64 mmmask_0006 = 0x0006000600060006;

	unsigned char *s = src + lx * (y + (dy>>1)) + x + (dx>>1);
	unsigned char *d = dst + lx * y + x;
	int flag = (average_flag<<2) + ((dx & 1)<<1) + (dy & 1);

	switch (flag)
	{
		case 0:
			// d[i] = s[i];
			__asm
			{
				mov			eax, [s]
				mov			ebx, [d]
				mov			esi, 0x00
				mov			edi, [h]
mc0:
				movq		mm1, [eax+esi]
				add			esi, 0x08
				cmp			esi, [w]
				movq		[ebx+esi-8], mm1
				jl			mc0

				add			eax, [lx2]
				add			ebx, [lx2]
				sub			edi, 0x01
				mov			esi, 0x00
				cmp			edi, 0x00
				jg			mc0
			}
			break;

		case 1:
			// d[i] = (s[i]+s[i+lx]+1)>>1;
			__asm
			{
				pxor		mm0, mm0
				movq		mm7, [mmmask_0001]
				mov			eax, [s]
				mov			ebx, [d]
				mov			ecx, eax
				add			ecx, [lx]
				mov			esi, 0x00
				mov			edi, [h]
mc1:
				movq		mm1, [eax+esi]
				movq		mm2, [ecx+esi]

				movq		mm3, mm1
				movq		mm4, mm2

				punpcklbw	mm1, mm0
				punpckhbw	mm3, mm0
				punpcklbw	mm2, mm0
				punpckhbw	mm4, mm0

				paddsw		mm1, mm2
				paddsw		mm3, mm4

				paddsw		mm1, mm7
				paddsw		mm3, mm7

				psrlw		mm1, 1
				psrlw		mm3, 1

				packuswb	mm1, mm0
				packuswb	mm3, mm0

				psllq		mm3, 32
				por			mm1, mm3

				add			esi, 0x08
				cmp			esi, [w]
				movq		[ebx+esi-8], mm1
				jl			mc1

				add			eax, [lx2]
				add			ebx, [lx2]
				add			ecx, [lx2]
				sub			edi, 0x01
				mov			esi, 0x00
				cmp			edi, 0x00
				jg			mc1
			}
			break;

		case 2:
			// d[i] = (s[i]+s[i+1]+1)>>1;
			__asm
			{
				pxor		mm0, mm0
				movq		mm7, [mmmask_0001]
				mov			eax, [s]
				mov			ebx, [d]
				mov			esi, 0x00
				mov			edi, [h]
mc2:
				movq		mm1, [eax+esi]
				movq		mm2, [eax+esi+1]

				movq		mm3, mm1
				movq		mm4, mm2

				punpcklbw	mm1, mm0
				punpckhbw	mm3, mm0

				punpcklbw	mm2, mm0
				punpckhbw	mm4, mm0

				paddsw		mm1, mm2
				paddsw		mm3, mm4

				paddsw		mm1, mm7
				paddsw		mm3, mm7

				psrlw		mm1, 1
				psrlw		mm3, 1

				packuswb	mm1, mm0
				packuswb	mm3, mm0

				psllq		mm3, 32
				por			mm1, mm3

				add			esi, 0x08
				cmp			esi, [w]
				movq		[ebx+esi-8], mm1
				jl			mc2

				add			eax, [lx2]
				add			ebx, [lx2]
				sub			edi, 0x01
				mov			esi, 0x00
				cmp			edi, 0x00
				jg			mc2
			}
			break;

		case 3:
			// d[i] = (s[i]+s[i+1]+s[i+lx]+s[i+lx+1]+2)>>2;
			__asm
			{
				pxor		mm0, mm0
				movq		mm7, [mmmask_0002]
				mov			eax, [s]
				mov			ebx, [d]
				mov			ecx, eax
				add			ecx, [lx]
				mov			esi, 0x00
				mov			edi, [h]
mc3:
				movq		mm1, [eax+esi]
				movq		mm2, [eax+esi+1]
				movq		mm3, mm1
				movq		mm4, mm2

				punpcklbw	mm1, mm0
				punpckhbw	mm3, mm0

				punpcklbw	mm2, mm0
				punpckhbw	mm4, mm0

				paddsw		mm1, mm2
				paddsw		mm3, mm4

				movq		mm5, [ecx+esi]
				paddsw		mm1, mm7

				movq		mm6, [ecx+esi+1]
				paddsw		mm3, mm7

				movq		mm2, mm5
				movq		mm4, mm6

				punpcklbw	mm2, mm0
				punpckhbw	mm5, mm0

				punpcklbw	mm4, mm0
				punpckhbw	mm6, mm0
				
				paddsw		mm2, mm4
				paddsw		mm5, mm6

				paddsw		mm1, mm2
				paddsw		mm3, mm5

				psrlw		mm1, 2
				psrlw		mm3, 2

				packuswb	mm1, mm0
				packuswb	mm3, mm0

				psllq		mm3, 32
				por			mm1, mm3

				add			esi, 0x08
				cmp			esi, [w]
				movq		[ebx+esi-8], mm1
				jl			mc3

				add			eax, [lx2]
				add			ebx, [lx2]
				add			ecx, [lx2]
				sub			edi, 0x01
				mov			esi, 0x00
				cmp			edi, 0x00
				jg			mc3
			}
			break;

		case 4:
			// d[i] = (s[i]+d[i]+1)>>1;
			__asm
			{
				pxor		mm0, mm0
				movq		mm7, [mmmask_0001]
				mov			eax, [s]
				mov			ebx, [d]
				mov			esi, 0x00
				mov			edi, [h]
mc4:
				movq		mm1, [eax+esi]
				movq		mm2, [ebx+esi]
				movq		mm3, mm1
				movq		mm4, mm2

				punpcklbw	mm1, mm0
				punpckhbw	mm3, mm0

				punpcklbw	mm2, mm0
				punpckhbw	mm4, mm0

				paddsw		mm1, mm2
				paddsw		mm3, mm4

				paddsw		mm1, mm7
				paddsw		mm3, mm7

				psrlw		mm1, 1
				psrlw		mm3, 1

				packuswb	mm1, mm0
				packuswb	mm3, mm0

				psllq		mm3, 32
				por			mm1, mm3

				add			esi, 0x08
				cmp			esi, [w]
				movq		[ebx+esi-8], mm1
				jl			mc4

				add			eax, [lx2]
				add			ebx, [lx2]
				sub			edi, 0x01
				mov			esi, 0x00
				cmp			edi, 0x00
				jg			mc4
			}
			break;

		case 5:
			// d[i] = ((d[i]<<1) + s[i]+s[i+lx] + 3)>>2;
			__asm
			{
				pxor		mm0, mm0
				movq		mm7, [mmmask_0003]
				mov			eax, [s]
				mov			ebx, [d]
				mov			ecx, eax
				add			ecx, [lx]
				mov			esi, 0x00
				mov			edi, [h]
mc5:
				movq		mm1, [eax+esi]
				movq		mm2, [ecx+esi]
				movq		mm3, mm1
				movq		mm4, mm2

				punpcklbw	mm1, mm0
				punpckhbw	mm3, mm0

				punpcklbw	mm2, mm0
				punpckhbw	mm4, mm0

				paddsw		mm1, mm2
				paddsw		mm3, mm4

				movq		mm5, [ebx+esi]

				paddsw		mm1, mm7
				paddsw		mm3, mm7

				movq		mm6, mm5
				punpcklbw	mm5, mm0
				punpckhbw	mm6, mm0

				psllw		mm5, 1
				psllw		mm6, 1

				paddsw		mm1, mm5
				paddsw		mm3, mm6

				psrlw		mm1, 2
				psrlw		mm3, 2

				packuswb	mm1, mm0
				packuswb	mm3, mm0

				psllq		mm3, 32
				por			mm1, mm3

				add			esi, 0x08
				cmp			esi, [w]
				movq		[ebx+esi-8], mm1
				jl			mc5

				add			eax, [lx2]
				add			ebx, [lx2]
				add			ecx, [lx2]
				sub			edi, 0x01
				mov			esi, 0x00
				cmp			edi, 0x00
				jg			mc5
			}
			break;

		case 6:
			// d[i] = ((d[i]<<1) + s[i]+s[i+1] + 3) >> 2;
			__asm
			{
				pxor		mm0, mm0
				movq		mm7, [mmmask_0003]
				mov			eax, [s]
				mov			ebx, [d]
				mov			esi, 0x00
				mov			edi, [h]
mc6:
				movq		mm1, [eax+esi]
				movq		mm2, [eax+esi+1]
				movq		mm3, mm1
				movq		mm4, mm2

				punpcklbw	mm1, mm0
				punpckhbw	mm3, mm0

				punpcklbw	mm2, mm0
				punpckhbw	mm4, mm0

				paddsw		mm1, mm2
				paddsw		mm3, mm4

				movq		mm5, [ebx+esi]

				paddsw		mm1, mm7
				paddsw		mm3, mm7

				movq		mm6, mm5
				punpcklbw	mm5, mm0
				punpckhbw	mm6, mm0

				psllw		mm5, 1
				psllw		mm6, 1

				paddsw		mm1, mm5
				paddsw		mm3, mm6

				psrlw		mm1, 2
				psrlw		mm3, 2

				packuswb	mm1, mm0
				packuswb	mm3, mm0

				psllq		mm3, 32
				por			mm1, mm3

				add			esi, 0x08
				cmp			esi, [w]
				movq		[ebx+esi-8], mm1
				jl			mc6

				add			eax, [lx2]
				add			ebx, [lx2]
				sub			edi, 0x01
				mov			esi, 0x00
				cmp			edi, 0x00
				jg			mc6
			}
			break;

		case 7:
			// d[i] = ((d[i]<<2) + s[i]+s[i+1]+s[i+lx]+s[i+lx+1] + 6)>>3;
			__asm
			{
				pxor		mm0, mm0
				movq		mm7, [mmmask_0006]
				mov			eax, [s]
				mov			ebx, [d]
				mov			ecx, eax
				add			ecx, [lx]
				mov			esi, 0x00
				mov			edi, [h]
mc7:
				movq		mm1, [eax+esi]
				movq		mm2, [eax+esi+1]
				movq		mm3, mm1
				movq		mm4, mm2

				punpcklbw	mm1, mm0
				punpckhbw	mm3, mm0

				punpcklbw	mm2, mm0
				punpckhbw	mm4, mm0

				paddsw		mm1, mm2
				paddsw		mm3, mm4

				movq		mm5, [ecx+esi]
				paddsw		mm1, mm7

				movq		mm6, [ecx+esi+1]
				paddsw		mm3, mm7

				movq		mm2, mm5
				movq		mm4, mm6

				punpcklbw	mm2, mm0
				punpckhbw	mm5, mm0

				punpcklbw	mm4, mm0
				punpckhbw	mm6, mm0
				
				paddsw		mm2, mm4
				paddsw		mm5, mm6

				paddsw		mm1, mm2
				paddsw		mm3, mm5

				movq		mm6, [ebx+esi]

				movq		mm4, mm6
				punpcklbw	mm4, mm0
				punpckhbw	mm6, mm0

				psllw		mm4, 2
				psllw		mm6, 2

				paddsw		mm1, mm4
				paddsw		mm3, mm6

				psrlw		mm1, 3
				psrlw		mm3, 3

				packuswb	mm1, mm0
				packuswb	mm3, mm0

				psllq		mm3, 32
				por			mm1, mm3

				add			esi, 0x08
				cmp			esi, [w]
				movq		[ebx+esi-8], mm1
				jl			mc7

				add			eax, [lx2]
				add			ebx, [lx2]
				add			ecx, [lx2]
				sub			edi, 0x01
				mov			esi, 0x00
				cmp			edi, 0x00
				jg			mc7
			}
			break;
	}
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一本色道久久综合亚洲aⅴ蜜桃| 欧美精品日韩精品| 奇米四色…亚洲| 国产香蕉久久精品综合网| 欧美日韩一区二区在线观看| 91麻豆自制传媒国产之光| 国产盗摄视频一区二区三区| 经典三级一区二区| 日韩va欧美va亚洲va久久| 无吗不卡中文字幕| 亚洲超碰97人人做人人爱| 亚洲国产裸拍裸体视频在线观看乱了| 欧美经典一区二区三区| 欧美性极品少妇| 欧美性淫爽ww久久久久无| 91国在线观看| 91在线视频播放地址| 国产成人在线视频免费播放| 国产精品自拍网站| 国产91丝袜在线观看| 美女视频黄 久久| 激情综合色综合久久| 韩国精品主播一区二区在线观看| 久久99精品一区二区三区三区| 久久国产夜色精品鲁鲁99| 蜜臀av一级做a爰片久久| 老汉av免费一区二区三区| 精品在线播放免费| 91社区在线播放| 寂寞少妇一区二区三区| 成人午夜免费视频| 日本黄色一区二区| 欧美精品丝袜久久久中文字幕| 日韩精品一区二区三区中文精品| 久久久亚洲精品石原莉奈| 中文字幕一区二区三区在线播放 | 日本一区二区三区四区在线视频 | 激情五月婷婷综合网| 不卡的电影网站| 亚洲国产精品成人综合色在线婷婷 | 国产精品中文字幕欧美| 99九九99九九九视频精品| 欧美狂野另类xxxxoooo| 国产日韩精品一区二区三区在线| 亚洲视频在线一区观看| 狂野欧美性猛交blacked| 99在线视频精品| 欧美成人性战久久| 亚洲日本在线视频观看| 久久99精品国产| 色天使色偷偷av一区二区| 欧美精品一区二区精品网| 亚洲丝袜制服诱惑| 激情国产一区二区| 欧美日韩精品一区二区天天拍小说 | 91免费视频网址| 精品99999| 一区二区三区欧美日韩| 国产成人a级片| 欧美日韩一二区| 欧美激情一区在线| 日本成人中文字幕在线视频| 99久久夜色精品国产网站| 日韩欧美成人一区| 亚洲午夜一区二区三区| 成av人片一区二区| 久久亚洲精品国产精品紫薇 | 精品污污网站免费看| 日本一区免费视频| 久久av资源站| 91精品国产综合久久香蕉麻豆| 亚洲日韩欧美一区二区在线| 国内精品免费**视频| 欧美精品色一区二区三区| 亚洲卡通动漫在线| 成人免费毛片a| 久久色在线观看| 麻豆精品一区二区综合av| 欧美日韩一区二区在线观看 | 色一情一伦一子一伦一区| 久久久久久免费网| 麻豆精品一区二区三区| 在线不卡a资源高清| 亚洲午夜久久久久中文字幕久| 色综合久久久久综合体| 国产精品久久777777| 国产91精品欧美| 久久久久久99久久久精品网站| 久久精品国产精品亚洲红杏| 欧美一区二区三区在线电影| 亚洲成av人片在www色猫咪| 日本高清成人免费播放| 亚洲欧美视频在线观看视频| eeuss鲁片一区二区三区| 中文字幕高清一区| 成人免费毛片高清视频| 中文字幕一区二区三区乱码在线| 国产69精品久久久久毛片| 国产欧美日韩麻豆91| 国产成人亚洲综合色影视| 国产网站一区二区| 懂色av中文一区二区三区 | 91免费视频网| 亚洲精品乱码久久久久久久久 | 久久久精品国产免费观看同学| 久久91精品久久久久久秒播| 精品少妇一区二区| 久久国产精品无码网站| 久久综合色一综合色88| 国产99久久久精品| 国产精品灌醉下药二区| 91日韩精品一区| 亚洲国产日韩一区二区| 欧美一区在线视频| 国内国产精品久久| 日本一区二区三区高清不卡| 成人av在线播放网站| 亚洲乱码国产乱码精品精的特点| 欧洲av一区二区嗯嗯嗯啊| 天堂一区二区在线| 精品国偷自产国产一区| 福利电影一区二区| 亚洲乱码国产乱码精品精小说| 欧美日韩综合在线| 麻豆成人免费电影| 国产欧美日韩另类一区| 日本二三区不卡| 日韩黄色免费网站| 久久九九99视频| 色呦呦网站一区| 美腿丝袜在线亚洲一区| 国产精品视频免费看| 在线免费视频一区二区| 日本欧美肥老太交大片| 中文字幕第一区第二区| 欧美三级韩国三级日本三斤| 激情综合网最新| 亚洲精品中文在线| 日韩欧美在线影院| 成人妖精视频yjsp地址| 偷拍一区二区三区四区| 国产丝袜美腿一区二区三区| 欧美亚洲国产一区二区三区va | 日韩一级成人av| 成人黄色一级视频| 日韩高清不卡一区二区| 国产欧美精品一区二区三区四区 | 一本到不卡免费一区二区| 久久机这里只有精品| 亚洲少妇中出一区| 日韩精品一区在线| 在线观看一区二区精品视频| 国产资源在线一区| 午夜欧美一区二区三区在线播放| 久久久久88色偷偷免费| 9191国产精品| 91色porny在线视频| 久久国产剧场电影| 一区二区三区四区在线| 国产日韩亚洲欧美综合| 欧美精品三级在线观看| 91麻豆自制传媒国产之光| 国产在线看一区| 日韩精品一二三四| 洋洋成人永久网站入口| 国产免费观看久久| 欧美成人在线直播| 在线观看一区二区精品视频| 成人永久看片免费视频天堂| 麻豆国产精品777777在线| 亚洲成a人在线观看| 亚洲欧洲成人自拍| 国产日韩欧美激情| 日韩欧美一二三| 欧美高清视频在线高清观看mv色露露十八| 欧美性三三影院| 91免费看视频| 波多野结衣一区二区三区| 国产在线精品一区二区| 日韩精品亚洲一区二区三区免费| 伊人开心综合网| 成人欧美一区二区三区在线播放| 久久品道一品道久久精品| 日韩精品一区二区三区四区| 欧美日韩国产小视频| 91黄色免费网站| 一本久久a久久精品亚洲| 99精品偷自拍| aaa欧美色吧激情视频| 国产91对白在线观看九色| 国产一区二区三区香蕉| 精品一区二区在线免费观看| 日本欧美一区二区三区| 日韩主播视频在线| 午夜欧美在线一二页| 天涯成人国产亚洲精品一区av| 一区二区三区四区av| 一区二区三区欧美亚洲| 亚洲永久精品国产| 亚洲国产精品一区二区www在线 |