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

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

?? jpeg.c

?? 三星 s3c6400測試代碼
?? C
字號:
/*----------------------------------------------------------------------
 *
 * Filename: jpeg.c
 *
 * Contents:
 *
 * History:
 *
 * Contributors:
 *
 * Copyright (c) 2003 SAMSUNG Electronics.
 *
 *----------------------------------------------------------------------
 */

#include <string.h>
#include <stdio.h>
#include "system.h"
#include "jpeg.h"
#include "jpeg_tables.h"

#include "option.h"
#include "library.h"
#include "sfr6400.h"

//#define DBG_JPEG

/*
#ifdef DBG_JPEG
#define printf(x) Dbg x
#else
#define printf(x)
#endif
*/

/*
#if 0
#define Outp32(a, d) (Dbg("Outp1w(\'h%08x, \'h%08x);\n", a, d), Outp32(a, d))
#define jpgInp32(a, d)  (Dbg("Inp1w (\'h%08x);\n", a, d), jpgInp32(a, d))
#else
#define Outp32 Outp32
#define jpgInp32 jpgInp32
#endif
*/

enum JPEG_REG
{
	JPGMOD        = (JPEG_BASE+0x000),
	JPGSTS        = (JPEG_BASE+0x004),
	JPGQHNO       = (JPEG_BASE+0x008),
	JPGDRI        = (JPEG_BASE+0x00C),
	JPGY          = (JPEG_BASE+0x010),
	JPGX          = (JPEG_BASE+0x014),
	JPGCNT        = (JPEG_BASE+0x018),
	JPGIRQEN      = (JPEG_BASE+0x01C),
	JPGIRQ        = (JPEG_BASE+0x020), // Int Pending Register
	JQTBL0        = (JPEG_BASE+0x400),
	JQTBL1        = (JPEG_BASE+0x500),
	JQTBL2        = (JPEG_BASE+0x600),
	JQTBL3        = (JPEG_BASE+0x700),
	JHDCTBL0      = (JPEG_BASE+0x800),
	JHDCTBLG0     = (JPEG_BASE+0x840),
	JHACTBL0      = (JPEG_BASE+0x880),
	JHACTBLG0     = (JPEG_BASE+0x8c0),
	JHDCTBL1      = (JPEG_BASE+0xc00),
	JHDCTBLG1     = (JPEG_BASE+0xc40),
	JHACTBL1      = (JPEG_BASE+0xc80),
	JHACTBLG1     = (JPEG_BASE+0xcc0),
	JIMGADDR0     = (JPEG_BASE+0x1000),
	JIMGADDR1     = (JPEG_BASE+0x1004),
	JHUFADDR0     = (JPEG_BASE+0x1008),
	JHUFADDR1     = (JPEG_BASE+0x100c),
	JSTART        = (JPEG_BASE+0x1010),
	JRSTART       = (JPEG_BASE+0x1014),
	RESET_CON     = (JPEG_BASE+0x1018),
	JPG_CON       = (JPEG_BASE+0x101c),
	JCOEF1        = (JPEG_BASE+0x1020),
	JCOEF2        = (JPEG_BASE+0x1024),
	JCOEF3        = (JPEG_BASE+0x1028),
	JMISC         = (JPEG_BASE+0x102c),
	JFRAME_INTV   = (JPEG_BASE+0x1030),
	RESUME        = (JPEG_BASE+0x1038),
	IMGADDR_END   = (JPEG_BASE+0x103c),	
	HUFADDR_END   = (JPEG_BASE+0x1040),	
	HUFADDR_MNT   = (JPEG_BASE+0x1044)
};

// Coefficients for RGB to YUV
#define COEF1_RGB_2_YUV         0x4d971e
#define COEF2_RGB_2_YUV         0x2c5783
#define COEF3_RGB_2_YUV         0x836e13

#define ENABLE_MOTION_ENC       (0x1<<3)
#define DISABLE_MOTION_ENC      (0x0<<3)

#define ENABLE_MOTION_DEC       (0x1<<0)
#define DISABLE_MOTION_DEC      (0x0<<0)

#define ENABLE_HW_DEC           (0x1<<2)
#define DISABLE_HW_DEC          (0x0<<2)

#define INCREMENTAL_DEC         (0x1<<3)
#define NORMAL_DEC              (0x0<<3)

JPEG oJpg;

void JPEG_Init(void)
{
	oJpg.m_bIsHeaderParsed = false;
}

void JPEG_InitRegsForDecoding1(
	u32 uSrcAddr, u32 uDstAddr,
	bool bIsHeaderOnly, bool bIncremental, bool bIsMotion
	)
{
	u32 uJpgConVal = 0;

	Outp32(JPGMOD, 0x8); // Process mode: Decoding
	Outp32(JHUFADDR0, uSrcAddr); // Address of compresed input data
	Outp32(JIMGADDR0, uDstAddr); // Address of decompresed image
	Outp32(JHUFADDR1, uSrcAddr); // Address of compresed input data
	Outp32(JIMGADDR1, uDstAddr); // Address of decompresed image
	Outp32(JPGIRQEN, 0xf<<3); // JPGIRQEN[6:3]=For several error conditions @2006.6.8

#if 0
	Outp32(JPG_CON, (bIsMotion ? ENABLE_MOTION_DEC : DISABLE_MOTION_DEC));
	u32 uJpgConVal;
	jpgInp32(JPG_CON, uJpgConVal);
	if (bIsHeaderOnly)
		uJpgConVal &= ~(1<<2);
	else
		uJpgConVal |= (1<<2);
	Outp32(JPG_CON, uJpgConVal);
#else
	uJpgConVal = (bIsMotion ? ENABLE_MOTION_DEC : DISABLE_MOTION_DEC);
	uJpgConVal |= (bIsHeaderOnly ? DISABLE_HW_DEC : ENABLE_HW_DEC);
	Outp32(JPG_CON, uJpgConVal);
	
#endif
	if (bIncremental)
		Outp32(JMISC, (1<<3));
	else
		Outp32(JMISC, (0<<3));
		
}

void JPEG_InitRegsForDecoding(
	u32 uSrcAddr, u32 uDstAddr,
	JPEG_DEC_MODE eMode, bool bIncremental, bool bIsMotion
	)
{

	u32 uJpgConVal = 0;	
	u32 uMisc = 0;

	if (eMode == HEADER || eMode == HEADER_N_BODY)
	{
		Outp32(JPGMOD, 0x8); // Process mode: Decoding		
		Outp32(JHUFADDR0, uSrcAddr); // Address of compresed input data
		Outp32(JHUFADDR1, uSrcAddr); // Address of compresed input data
		Outp32(JPGIRQEN, 0xf<<3); // JPGIRQEN[6:3]=For several error conditions @2006.6.8	
		//Outp32(JPGIRQEN, 0xf); // JPGIRQEN[6:3]=For several error conditions @2006.6.8	

		if (eMode == HEADER_N_BODY)
		{
			Outp32(JIMGADDR0, uDstAddr); // Address of decompresed image
			Outp32(JIMGADDR1, uDstAddr); // Address of decompresed image
		}


		uJpgConVal = (eMode == HEADER) ? DISABLE_HW_DEC : ENABLE_HW_DEC;
	}
	else // eMode == BODY
	{
		Outp32(JIMGADDR0, uDstAddr); // Address of decompresed image
		Outp32(JIMGADDR1, uDstAddr); // Address of decompresed image
	}

	if (eMode == BODY || eMode == HEADER_N_BODY)
	{
		uJpgConVal |= (bIsMotion == true) ? ENABLE_MOTION_DEC : DISABLE_MOTION_DEC;
		uMisc = (bIncremental == true) ? INCREMENTAL_DEC : NORMAL_DEC;
	}

	Outp32(JPG_CON, uJpgConVal);
	Outp32(JMISC, uMisc);
}

void JPEG_InitRegsForEncoding(
	u32 uRawHsz, u32 uRawVsz, u32 uRawAddr, CSPACE eRawType,
	u32 uJpgAddr, JPEG_TYPE uJpgType, bool bIsOnTheFly, bool bIsMotion)
{
	int i;

	Assert(eRawType == YCBYCR || eRawType == RGB16);

	Outp32(JPGMOD, (uJpgType == JPEG_422)? (0x1<<0) : (0x2<<0)); // Encoded to yuv422 or yuv420
	Outp32(JPGDRI, 2); // MCU inserts RST marker
	Outp32(JPGQHNO, 0x0);
	Outp32(JPGX, uRawHsz);
	Outp32(JPGY, uRawVsz);
	Outp32(JIMGADDR0, uRawAddr); // Address of input image
	Outp32(JHUFADDR0, uJpgAddr); // Address of JPEG stream
	Outp32(JIMGADDR1, uRawAddr); // Address of input image
	Outp32(JHUFADDR1, uJpgAddr); // next address of motion JPEG stream
	Outp32(JCOEF1, COEF1_RGB_2_YUV); // Coefficient value 1 for RGB to YCbCr
	Outp32(JCOEF2, COEF2_RGB_2_YUV); // Coefficient value 2 for RGB to YCbCr
	Outp32(JCOEF3, COEF3_RGB_2_YUV); // Coefficient value 3 for RGB to YCbCr

	Outp32(JMISC,
		(bIsOnTheFly ? 0 : (eRawType == YCBYCR ? 1 : 2))<<5 |
		(bIsOnTheFly ? 1 : 0)<<2
		);

	Outp32(JPG_CON, 	(bIsMotion ? ENABLE_MOTION_ENC : DISABLE_MOTION_ENC));

//	Outp32(JPGIRQEN, 0x10);
//	Outp32(JPGIRQEN, 1<<4); // Deleted @2006.6.8

	// Quantiazation and Huffman Table setting
	//-----------------------------------------

	for (i=0; i<64; i++)
		Outp32((JQTBL0+i*4), (u32)QTBL0[i]);

	for (i=0; i<64; i++)
		Outp32((JQTBL1+i*4), (u32)std_chrominance_quant_tbl_plus[i]);

	for (i=0; i<16; i++)
		Outp32((JHDCTBL0+i*4), (u32)HDCTBL0[i]);

	for (i=0; i<12; i++)
		Outp32((JHDCTBLG0+i*4), (u32)HDCTBLG0[i]);

	for (i=0; i<16; i++)
		Outp32((JHACTBL0+i*4), (u32)HACTBL0[i]);

	for (i=0; i<162; i++)
		Outp32((JHACTBLG0+i*4), (u32)HACTBLG0[i]);
}

void JPEG_StartEncodingOneFrame(
	u16 usHSz, u16 usVSz, u32 uSrcAddr, CSPACE eRawType,
	u32 uDestAddr, JPEG_TYPE eJpgType)
{
	Assert(eRawType == YCBYCR || eRawType == RGB16);

	JPEG_Reset();
	JPEG_InitRegsForEncoding(usHSz, usVSz, uSrcAddr, eRawType, uDestAddr, eJpgType, false, false);

	Outp32(JSTART, 0); // start.
	
}

// On-The-Fly Encoding
// IN On-The-Fly mode, Support only JPEG_422 Data Format
void JPEG_StartEncodingOtf(u16 usHSz, u16 usVSz, CSPACE eRawType, u32 uDstAddr)
{
	Assert(eRawType == YCBYCR || eRawType == RGB16);

	JPEG_Reset();
	JPEG_InitRegsForEncoding(usHSz, usVSz, 0, eRawType, uDstAddr, JPEG_422, true, false);
//	DisableMotionEncoding();

	Outp32(JSTART, 0); // start.
}

//Motion JPEG Encoding
void JPEG_StartEncodingMotionJPEG(
	u16 usHSz, u16 usVSz, u32 uSrcAddr, CSPACE eRawType, 
	u32 uDestAddr, JPEG_TYPE eJpgType)
{
	Assert(eRawType == YCBYCR || eRawType == RGB16);

	JPEG_Reset();
	JPEG_InitRegsForEncoding(usHSz, usVSz, uSrcAddr, eRawType, uDestAddr, eJpgType, false, true);
//	DisableMotionEncoding();

	Outp32(JSTART, 0); // start.

}

void JPEG_InitIpForMotionEncoding(
	u16 uRawHsz, u16 uRawVsz, u32 uRawAddr, CSPACE eRawType,
	u32 uJpgAddr, JPEG_TYPE eJpgType, u32 uMJpegMaxSize)
{
	Assert(eRawType == YCBYCR || eRawType == RGB16);

	printf(" Enc: x=%d, y=%d, yuv=0x%08x~0x%08x, YUV%d\n",
		uRawHsz, uRawVsz, uRawAddr, uRawAddr+(uRawHsz*uRawVsz*2), (eJpgType == JPEG_422) ? 422: 420);

	JPEG_InitRegsForEncoding(uRawHsz, uRawVsz, uRawAddr, eRawType, uJpgAddr, eJpgType, false, true); // config Registers.
	JPEG_SetNextFrameStartAddr(uJpgAddr+uMJpegMaxSize);

	Outp32(JPGCNT, 0);

	Outp32(JPG_CON, (1<<3)); // Start Motion Jpeg Encoding

	//+daedoo	
	Outp32(JSTART, 0); // start.
}

void JPEG_StartParsingHeader(u32 uJpgAddr)
{
	Assert(uJpgAddr%16 == 0);	
	printf("Dec: jpeg=%08x\n", uJpgAddr);

	JPEG_Reset();

	JPEG_InitRegsForDecoding(uJpgAddr, 0, HEADER, false, false);

	Outp32(JSTART, 1);
	
	oJpg.m_bIsHeaderParsed = true;
}

void JPEG_StartDecodingBody(u32 uRawAddr, bool bIsIncremental)
{
	Assert(oJpg.m_bIsHeaderParsed == true);

	JPEG_InitRegsForDecoding(0, uRawAddr, BODY, bIsIncremental, false);
	Outp32(JRSTART, 1);
}

void JPEG_StartDecodingOneFrame(u32 uJpgAddr, u32 uRawAddr, bool bIsIncremental)
{
	
	Assert(uJpgAddr%16 == 0);
	
	printf(" Dec: jpeg=%08x, raw=%08x\n", uJpgAddr, uRawAddr);

	JPEG_Reset();
	JPEG_InitRegsForDecoding(uJpgAddr, uRawAddr, HEADER_N_BODY, bIsIncremental, false);
	
	Outp32(JSTART, 1);
}

void JPEG_StartDecodingMotion(u32 uJpgAddr, u32 uRawAddr, u32 uMJpegMaxSize)
{
	printf(" Dec: jpeg=%08x, raw=%08x\n", uJpgAddr, uRawAddr);

	JPEG_Reset();
//  Delay(1000);

//==============================================================================================//
// For compling below func. is changed to	InitRegsForDecoding(uJpgAddr, uRawAddr, HEADER_N_BODY)
// so, below code shoule be modified when motion decoding func. is written 
#if 0
	InitRegsForDecoding(uJpgAddr, uRawAddr);
#else
	JPEG_InitRegsForDecoding(uJpgAddr, uRawAddr, HEADER_N_BODY, false, false);
#endif
//==============================================================================================//

	JPEG_SetNextFrameStartAddr(uJpgAddr + uMJpegMaxSize);

	Outp32(JPG_CON, (1<<0)); // Enable auto decoding
//  Outp32(JFRAME_INTV, 0x800000);
	Outp32(JFRAME_INTV, 0x300000);

	Outp32(JSTART, 1);
}


// Encoding Results
void JPEG_GetEncodedStreamLen(u32* uSize)
{
	//jpgInp32(JPGCNT, *uSize);
	*uSize = Inp32(JPGCNT);
}

void JPEG_GetDecodedWidthAndHeight(u32* hsz, u32* vsz)
{
	//jpgInp32(JPGX, *hsz);
	//jpgInp32(JPGY, *vsz);
	*hsz = Inp32(JPGX);
	*vsz = Inp32(JPGY);
}

// Set Next frame start addr of Jpeg data for both encoding and decoding
void JPEG_SetNextFrameStartAddr(u32 addr)
{
	Outp32(JHUFADDR1, addr);
}

// It is necessary for decoding
void JPEG_Reset(void)
{
	Outp32(RESET_CON, 0); //0: enable, 1: disable(default value)
}

// set JPG_CON[3] to 0
void JPEG_DisableMotionEncoding(void)
{
	u32 temp;

	temp = Inp32(JPG_CON);
	Outp32(JPG_CON, temp&~(1<<3));
}

// set JPG_CON[0] to 0
void JPEG_DisableMotionDecoding(void)
{
	u32 temp;

	temp = Inp32(JPG_CON);
	Outp32(JPG_CON, temp&~(1<<0));
}

void JPEG_GetIntStatus(u32* uIntStatus)
{
	//u32 codecMode;

//	jpgInp32(JPGSTS, codecMode); // It must be read.
	//jpgInp32(JPGIRQ, *uIntStatus); // It clears the pending register.
	*uIntStatus = Inp32(JPGIRQ); // It clears the pending register.
}

void JPEG_CheckDone(u32* uResult)
{
	u32 uIntStatus;

//	GetIntStatus(uIntStatus);
	 uIntStatus = Inp32(JPGIRQ); // It clears the pending register.

	*uResult = uIntStatus & (1<<6);
}

void JPEG_CheckSyntaxError(u32* uResult)
{
	u32 uIntStatus;

//	GetIntStatus(uIntStatus);
	uIntStatus = Inp32(JPGIRQ); // It clears the pending register.

	*uResult = uIntStatus & (1<<4);
}

void JPEG_CheckReadHeader(u32* uResult)
{
	u32 uIntStatus;

//	GetIntStatus(uIntStatus);
	//jpgInp32(JPGIRQ, uIntStatus); // It clears the pending register.
	uIntStatus = Inp32(JPGIRQ); // It clears the pending register.

	*uResult = uIntStatus & (1<<3);
}

void JPEG_ReadAndClearStatus(JPEG_STATUS* eStatus)
{
	u32 uStatus;//, uJpgStsReg;

	//uJpgStsReg = Inp32(JPGSTS); // Why ?
	uStatus = Inp32(JPGIRQ);
	//printf(("JPGIRQ = %02x\n", uStatus));
	//Dbg("JPGIRQ = %02x\n", uStatus);
	
	uStatus &= ((1<<6)|(1<<4)|(1<<3));
	if (uStatus == 0x08) 
		*eStatus = OK_HD_PARSING;
	else if (uStatus == 0x00) 
		*eStatus = ERR_HD_PARSING;
	else if (uStatus == 0x40)
		*eStatus = OK_ENC_OR_DEC;
	else if (uStatus == 0x10) 
		*eStatus = ERR_ENC_OR_DEC;
	else
		Assert(0);
 }

void JPEG_GetJpegType(JPEG_TYPE* eMode)
{	
	u32 uSampleMode;
	uSampleMode = Inp32(JPGMOD);

	*eMode = 
		((uSampleMode&0x7) == 0) ? JPEG_444 :
		((uSampleMode&0x7) == 1) ? JPEG_422 :
		((uSampleMode&0x7) == 2) ? JPEG_420 :
		((uSampleMode&0x7) == 3) ? JPEG_400 :
		((uSampleMode&0x7) == 6) ? JPEG_411 : (JPEG_TYPE)0xffff;
	Assert(*eMode != 0xffff);
}

void JPEG_GetJpegType1(char* pType)
{
	JPEG_TYPE eType;
	JPEG_GetJpegType(&eType);
	
	if (eType == JPEG_444)
		strcpy(pType, "JPEG 444");
	else if (eType == JPEG_422)
		strcpy(pType, "JPEG 422");
	else if (eType == JPEG_420)
		strcpy(pType, "JPEG 420");
	else if (eType == JPEG_411)
		strcpy(pType, "JPEG 411");
	else if (eType == JPEG_400)
		strcpy(pType, "JPEG 400 (Gray)");
	else
		Assert(0);
}

void JPEG_Wait_Done(void)
{
	u32 temp;

	do{
		temp = Inp32(JPGSTS);
		//Disp("jpgsts = 0x%x\n",temp);
	}while(temp);
	
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人网在线免费视频| 91丨九色丨蝌蚪丨老版| 成人晚上爱看视频| 91色porny| 久久精品一区二区三区不卡牛牛| 亚洲国产日韩a在线播放| 国产高清在线观看免费不卡| 欧美精品aⅴ在线视频| ㊣最新国产の精品bt伙计久久| 日本一区中文字幕| 99视频热这里只有精品免费| 久久婷婷国产综合国色天香| 亚洲大片一区二区三区| 色综合色综合色综合色综合色综合 | 91美女片黄在线观看91美女| 久久看人人爽人人| 午夜电影网一区| 99re热视频精品| 日韩精品一区二区三区在线 | 日韩欧美你懂的| 亚洲精品高清在线观看| 国产另类ts人妖一区二区| 欧美亚洲动漫精品| 久久久国产精华| 亚洲男同1069视频| 亚洲成人免费视频| 色综合天天综合在线视频| 久久婷婷综合激情| 五月天亚洲婷婷| 91久久精品一区二区| 国产精品久久久久一区二区三区共 | 在线免费观看日本欧美| 久久久久国色av免费看影院| 日韩av午夜在线观看| 91福利视频网站| 国产精品国产三级国产有无不卡| 激情综合亚洲精品| 666欧美在线视频| 亚洲国产精品久久久久秋霞影院| 99久久久国产精品| 亚洲国产精品精华液2区45| 精品写真视频在线观看| 欧美色涩在线第一页| 日韩一区在线免费观看| 99精品欧美一区二区三区小说 | www.欧美亚洲| 亚洲国产精品成人综合| 国产成人精品影视| www国产成人免费观看视频 深夜成人网| 天堂资源在线中文精品| 欧美日本一区二区在线观看| 亚洲国产色一区| 欧美日韩亚洲综合| 亚洲国产aⅴ天堂久久| 成人免费观看av| 日本一区二区三区电影| 美日韩一级片在线观看| 2021国产精品久久精品| 国产一区二区精品在线观看| 久久久99久久精品欧美| 成人性生交大合| 中文字幕一区二区三区四区不卡| bt欧美亚洲午夜电影天堂| 国产精品视频yy9299一区| av电影一区二区| 一二三四社区欧美黄| 欧美日韩国产高清一区二区| 免费成人av在线播放| 久久免费精品国产久精品久久久久| 国产精品资源网站| 一色桃子久久精品亚洲| 欧美性一区二区| 久久精品国产秦先生| 26uuu色噜噜精品一区二区| 成人av免费在线播放| 亚洲影视资源网| 欧美一区二区三区免费视频| 国产一区福利在线| 亚洲视频你懂的| 7777精品伊人久久久大香线蕉经典版下载| 日韩精品每日更新| 国产精品毛片久久久久久| 在线亚洲人成电影网站色www| 香蕉成人伊视频在线观看| 久久久精品国产99久久精品芒果| 99精品在线观看视频| 日韩av电影免费观看高清完整版| 国产亚洲成年网址在线观看| 欧美性videosxxxxx| 精品一区二区在线免费观看| 亚洲天堂2014| 久久综合狠狠综合久久综合88| 人禽交欧美网站| 亚洲欧美偷拍三级| 精品久久久久久久一区二区蜜臀| 99热精品一区二区| 久久99国产精品久久99| 亚洲美女在线国产| 久久精品欧美一区二区三区麻豆 | 男女视频一区二区| 亚洲欧洲精品一区二区精品久久久| 欧美午夜一区二区三区| 国产成人精品www牛牛影视| 日本成人中文字幕在线视频| 最近日韩中文字幕| 国产亚洲综合色| 欧美一区二区三区男人的天堂| 国产乱码精品一区二区三| 精品精品国产高清a毛片牛牛 | 欧美国产日产图区| 日韩精品中文字幕一区二区三区| 日本韩国欧美一区| 粉嫩aⅴ一区二区三区四区五区| 蜜臀久久久99精品久久久久久| 亚洲美女视频在线观看| 国产日韩欧美一区二区三区乱码| 欧美高清视频不卡网| 色婷婷综合久久久久中文| 国产成人精品免费网站| 国产在线麻豆精品观看| 日韩成人免费在线| 午夜亚洲国产au精品一区二区| 亚洲美女淫视频| 亚洲人精品午夜| 国产精品五月天| 欧美成人a视频| 91美女在线看| 成人av网站大全| 国产精品影音先锋| 狠狠色丁香九九婷婷综合五月| 日本午夜精品一区二区三区电影| 亚洲综合视频网| 亚洲韩国精品一区| 性做久久久久久| 日韩电影在线一区二区三区| 一区二区欧美精品| 亚洲乱码日产精品bd| 亚洲成人自拍偷拍| 天堂蜜桃一区二区三区 | 91精品国产综合久久福利软件| 91在线视频免费观看| 成人av在线观| 成人爽a毛片一区二区免费| 日韩精品成人一区二区三区| 婷婷久久综合九色综合伊人色| 一区二区三区色| 欧美激情在线观看视频免费| 久久综合九色综合久久久精品综合| 日本高清不卡在线观看| 国产1区2区3区精品美女| 精品在线一区二区| 黑人巨大精品欧美黑白配亚洲| 国产一区二区免费视频| 成人av免费在线播放| 色综合久久久久久久久| 欧美人狂配大交3d怪物一区| 欧美刺激午夜性久久久久久久| 久久综合给合久久狠狠狠97色69| 国产偷国产偷亚洲高清人白洁| 国产日韩欧美精品一区| 亚洲精品五月天| 麻豆精品在线视频| 国产美女娇喘av呻吟久久| 国产成人av电影免费在线观看| 色国产综合视频| 精品国产一区二区精华| 国产精品欧美久久久久一区二区| 亚洲美女免费视频| 男人的j进女人的j一区| 99久久婷婷国产综合精品| 欧美在线一二三| 欧美大肚乱孕交hd孕妇| 亚洲精品免费在线观看| 另类专区欧美蜜桃臀第一页| 不卡一区二区三区四区| 3atv一区二区三区| 国产精品久久久久久福利一牛影视 | 精品少妇一区二区三区视频免付费| 国产免费成人在线视频| 亚洲不卡一区二区三区| 国产精品一线二线三线| 欧美日韩国产电影| 国产精品久久久久三级| 激情五月激情综合网| 欧美性一二三区| 中文字幕精品在线不卡| 六月丁香综合在线视频| 色婷婷av一区二区三区gif| 久久综合给合久久狠狠狠97色69| 亚洲国产美国国产综合一区二区| 风流少妇一区二区| 成人激情小说网站| 高清av一区二区| gogogo免费视频观看亚洲一| 色视频成人在线观看免| 久久精品综合网| 久久精品国产在热久久| 欧美午夜影院一区| 专区另类欧美日韩| 福利一区在线观看|