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

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

?? fsguishowfont.c

?? dvd里面的一個(gè)文件系統(tǒng)的代碼
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
// 2005/09/12 yltseng, Add new structure for font
#ifndef _FSGUISHOWFONT_C_
#define _FSGUISHOWFONT_C_

#include "global.h"
#include "graph.h"
#include "fsGUI.h"
#include "LanguageUtil.h"

#ifdef FSGUI_FONTFRAME                //suxin add 2005-10-13
#include "osd_AppAPI.h"
extern void OSD_DrawFontFrame(UINT8 *pDest, UINT8 *pSrc, BYTE Width, BYTE Height,BYTE FrameWidth);
#endif

#if defined(SUPPORT_NATIVE_FSNAME) || defined(ADJUST_SPACE_BETWEEN_FONT) //qiutao 070118 denghg add for  it call OSD function 2006-6-10 15:51
#include "osd_AppAPI.h"
#endif

#ifdef CD_RIPPING_GUI_MULTILANGUAGE
extern BYTE Get_UseFontType(void);
#endif 

// **************************************************************************************** //  
void EnlargeFontSize( UINT8 *pDest, const UINT8 *pSrc, BYTE uiWidth, BYTE uiHeight, BYTE uiScaleX, BYTE uiScaleY )
{
    UINT32 uiDestSize = ( uiWidth * uiHeight * uiScaleX * uiScaleY + 7 ) / 8;

    if( uiScaleX == 1 && uiScaleY == 1 )
    {
        memcpy( pDest, pSrc, uiDestSize );
        return;
    }
    
    memset( pDest, 0, uiDestSize );
    
    UINT32 x, y, i, j;
    UINT32 uiSrcOffset_Y;

    for( y = 0, uiSrcOffset_Y = 0; y < uiHeight;  y++, uiSrcOffset_Y += uiWidth )
    {
        for( j = 0; j < uiScaleY; j++ )
        {
            for( x = 0; x < uiWidth; x++ )
            {
                UINT8 uiBitVal = ( ( pSrc[ ( uiSrcOffset_Y + x ) / 8 ] >> ( 7 - ( uiSrcOffset_Y + x ) % 8 ) ) ) & 0x01;
                if( uiBitVal )
                {
                    for( i = 0; i < uiScaleX; i++ )
                    {
                        pDest[ ( ( y * uiScaleY + j )* uiWidth * uiScaleX + x * uiScaleX + i ) / 8 ] |= ( uiBitVal << ( 7 - ( ( ( y * uiScaleY + j )* uiWidth * uiScaleX + x * uiScaleX + i ) % 8 ) ) );
                    }
                }
            }
        }
    }
}

//*******************************************************************************//

typedef enum
{
    ENUM_DOWN_SAMPLING_RIGHT_UP_CORNER,
    ENUM_DOWN_SAMPLING_ALL,
} ENUM_SAMPLING_MODE;

void ReduceFontSize( UINT8 *pDest, const UINT8 *pSrc, BYTE uiWidth, BYTE uiHeight, BYTE uiScaleX, BYTE uiScaleY, ENUM_SAMPLING_MODE enSamplingMode )
{
    // Prepare value for width, height, size after resize
    UINT32 uiCntX           = uiWidth  / uiScaleX;
    UINT32 uiCntY           = uiHeight / uiScaleY;
    UINT32 uiDestSize       = ( uiCntX * uiCntY + 7 ) / 8;

    if( uiScaleX == 1 && uiScaleY == 1 )
    {
        memcpy( pDest, pSrc, uiDestSize );
        return;
    }
    memset( pDest, 0, uiDestSize );

    // Prepare value for sampling block
    UINT32 uiBlkStartX;
    UINT32 uiBlkStartY;
    UINT32 uiBlkSizeX;
    UINT32 uiBlkSizeY;
    //UINT32 uiBlkthreshold;

    if( enSamplingMode == ENUM_DOWN_SAMPLING_RIGHT_UP_CORNER )
    {
        uiBlkStartX     = uiScaleX - 1;
        uiBlkStartY     = 0;
        uiBlkSizeX      = uiScaleX;
        uiBlkSizeY      = 1;
        //uiBlkthreshold  = 1;
    }
    else// if( enSamplingMode == ENUM_DOWN_SAMPLING_ALL )
    {
        uiBlkStartX     = 0;
        uiBlkStartY     = 0;
        uiBlkSizeX      = uiScaleX;
        uiBlkSizeY      = uiScaleY;
        //uiBlkthreshold  = uiScaleX * uiScaleY / 2;
    }

    // Start sampling
    UINT32 i, j, m, n;
    UINT32 uiDestPixel  = 0;
    UINT32 uiSrcOffsetY = 0;
        
    for( j = 0; j < uiCntY; j++ )
    {
        UINT32 uiSrcOffsetX = 0;
        
        for( i = 0; i < uiCntX; i++ )
        {
            UINT32 uiPixelCnt = 0;

            for( n = uiBlkStartY; n < uiBlkSizeY; n++ )
            {            
                for( m = uiBlkStartX; m < uiBlkSizeX; m++ )
                {
                    UINT32  uiPos       = ( uiSrcOffsetY + n ) * uiWidth + uiSrcOffsetX + m;
                    UINT32  uiBitVal    = ( pSrc[ uiPos / 8 ] >> ( 7 - ( uiPos % 8 ) ) ) & 0x01;
                    if( uiBitVal )
                        uiPixelCnt++;
                }
            }
            
            if( uiPixelCnt )//>= uiBlkthreshold )
                pDest[ uiDestPixel / 8 ] |= ( 0x01 << ( 7 - ( uiDestPixel % 8 ) ) );
            
            uiDestPixel++;
            uiSrcOffsetX += uiScaleX;
        }

        uiSrcOffsetY += uiScaleY;
    }
}

// **************************************************************************************** //
void ResampleWidthFrom12PixelTo16Pixel( UINT8* pDest, const UINT8* pSrc, UINT32 uiHeight )
{
    UINT8 i = 0, uiToggle = 0;
    
    for( ; i < ( uiHeight << 1 ); i += 2 )
    {
        if( uiToggle )
        {
            pDest[ i     ] = ( ( pSrc[0] & 0x0f ) << 4 ) | ( ( pSrc[1] & 0xf0 ) >> 4 );
            pDest[ i + 1 ] = ( pSrc[1] & 0x0f ) << 4;
            pSrc += 2;
        }
        else
        {
            pDest[ i     ] = pSrc[0];
            pDest[ i + 1 ] = pSrc[1] & 0xf0;
            pSrc += 1;
        }

        uiToggle = !uiToggle;
    }
}

// **************************************************************************************** //

typedef struct {
    UINT8 ui_y;
    UINT16 ui_cbcr;
}YCbCrType;
typedef struct {
    YCbCrType font_color;
    YCbCrType frame_color;
}VppColor;    
/*
  * Function: FSGUI_DrawFontBmp()   
  * Purposes: Draw font bitmap to video frame buffer.                
  * Description: 
  *                 1. font bitmap format support  1, 2 bits for a pixel, but not odd bits
  *                 2. support to adjust the gap between fonts.
  *                 
  * Arguments: video_buf: indicate the video frame buffer . 
  *                   pbmp_size: the font bitmap size.
  *                   pbmp_offset: indicate the scope of bitmap for drawing.
  *                   pixel_size: indicate 1 pixel stand for how many bits.
  * Return: NO.
  * Create: robert.chang, 2006/05/16 
  * Modify: 
  */
void FSGUI_DrawFontBmp(BYTE video_buf, const coordinate *pstatr_loc, const BYTE *pbmp, const dimension *pbmp_size, 
                                    const DrawDimension *pbmp_offset, const VppColor *pcolor, UINT8 pixel_size)
{
    UINT32  i, j, bmp_loc;
    UINT16 bmp_width;
    UINT16 draw_height, draw_widht;
    UINT8 bmp_mask, max_pix_index_inbyte, bmp_pix2byte_shift, bmp_shift_uint_power;

    draw_widht = pbmp_offset->draw_dimension.x_length;
    draw_height = pbmp_offset->draw_dimension.y_length;
    bmp_width = pbmp_size->x_length;


    switch(pixel_size) {
        default:
        case 1:
            bmp_pix2byte_shift = 3;     // 2^3 = 8, so pixel num >> 3 = byte num;
            max_pix_index_inbyte = 0x07;
            bmp_mask =  0x01;
            bmp_shift_uint_power = 0;   // shift unit is 1 bit, the bmp_shift_uint_power =0. So 1<<0 = 1
            break;
        case 2:
            bmp_pix2byte_shift = 2;    // 2^2 = 4, and 1pixel = 2bits ,so pixel num >> 2 = byte num;
            max_pix_index_inbyte = 0x03;
            bmp_mask = 0x03;
            bmp_shift_uint_power = 1; // shift unit is 2 bit, the bmp_shift_uint_power =1. So 1<<1 = 2
            break;
    }    

    bmp_loc = (pbmp_offset->draw_start.y) * bmp_width + pbmp_offset->draw_start.x;
    
    for(j=0; j<draw_height; j++) {
        for(i=0; i<draw_widht; i++) {
            /*
                UINT8 uiBitVal = ( pFont[ uiPixelCnt / 8 ] >> ( 7 - ( uiPixelCnt % 8 ) ) ) & 0x01;
            */
            // shift_num = ( 7 - ( uiPixelCnt % 8 ) )
            UINT8 shift_num = ( (~(bmp_loc+i)) & max_pix_index_inbyte )<<bmp_shift_uint_power; 
            // uiBitVal = ( pFont[ uiPixelCnt / 8 ] >> shift_num ) & 0x01;
            UINT8 uiBitVal = ( pbmp[(bmp_loc+i)>>bmp_pix2byte_shift] >> shift_num ) & bmp_mask;
            if( uiBitVal )
            {
                UINT16 uiCoordX = pstatr_loc->x + i;
                UINT16 uiCoordY = pstatr_loc->y + j;
                UINT32 uiFrmLAddr = 0, uiFrmCAddr = 0;
                
                if( video_buf == 0 )
                {
                    uiFrmLAddr  = REF0_LUMA;
                    uiFrmCAddr  = REF0_CHROMA;
                }
                else if( video_buf == 1 )
                {
                    uiFrmLAddr  = REF1_LUMA;
                    uiFrmCAddr  = REF1_CHROMA;
                }
                else if( video_buf == 2 )
                {
                    uiFrmLAddr  = BIDIR_LUMA;
                    uiFrmCAddr  = BIDIR_CHROMA;
                }
                
                UINT8*  pFrmLAddr = (UINT8*) ( SDRAM_BASE + ( uiFrmLAddr << 10 ) + OFFSET_Y(uiCoordY) + SFF(uiCoordX) );
                UINT16* pFrmCAddr = (UINT16*)( SDRAM_BASE + ( uiFrmCAddr << 10 ) + OFFSET_C( (uiCoordY) >> 1 ) + 2 *( SFF(uiCoordX) >> 1 ) );

                if(pixel_size == 1) {
                    *pFrmLAddr  = pcolor->font_color.ui_y;
                        
                        //modified for font blotted problem on framebuf
                    if(uiCoordX%2==0)
                        *pFrmCAddr  = pcolor->font_color.ui_cbcr;
                }
                else {

                    *pFrmLAddr = (uiBitVal == 0x03) ? pcolor->font_color.ui_y : pcolor->frame_color.ui_y;
                    
                        //modified for font blotted problem on framebuf                    
                    if(uiCoordX%2==0)
                            *pFrmCAddr  = (uiBitVal == 0x03) ? pcolor->font_color.ui_cbcr : pcolor->frame_color.ui_cbcr;

                }                           
            }    
        }
        bmp_loc += bmp_width ;        
    }

}

// **************************************************************************************** //
void FSGUI_DrawMonoBitmap( BYTE video_buf, const BYTE* pFont, UINT16 x, UINT16 y, UINT16 uiWidth, UINT16 uiHeight, UINT8 uiY, UINT16 uiCbCr )
{
    UINT32  uiPixelCnt = 0;
    UINT32  i, j;

	for( j = 0; j < uiHeight; j++ )
	{
	    for( i = 0; i < uiWidth; i++ )
	    {
	        UINT8 uiBitVal = ( pFont[ uiPixelCnt / 8 ] >> ( 7 - ( uiPixelCnt % 8 ) ) ) & 0x01;
	        
	        if( uiBitVal )
	        {
	            UINT16 uiCoordX = x + i;
	            UINT16 uiCoordY = y + j;
                UINT32 uiFrmLAddr = 0, uiFrmCAddr = 0;
                
                if( video_buf == 0 )
                {
                    uiFrmLAddr  = REF0_LUMA;
                    uiFrmCAddr  = REF0_CHROMA;
                }
                else if( video_buf == 1 )
                {
                    uiFrmLAddr  = REF1_LUMA;
                    uiFrmCAddr  = REF1_CHROMA;
                }
                else if( video_buf == 2 )
                {
                    uiFrmLAddr  = BIDIR_LUMA;
                    uiFrmCAddr  = BIDIR_CHROMA;
                }
                
                UINT8*  pFrmLAddr = (UINT8*) ( SDRAM_BASE + ( uiFrmLAddr << 10 ) + OFFSET_Y(uiCoordY) + SFF(uiCoordX) );
                UINT16* pFrmCAddr = (UINT16*)( SDRAM_BASE + ( uiFrmCAddr << 10 ) + OFFSET_C( (uiCoordY) >> 1 ) + 2 *( SFF(uiCoordX) >> 1 ) );
                *pFrmLAddr  = uiY;
                
                //20060104, joshua modified for font blotted problem on framebuf
                if(uiCoordX%2==0)
                    *pFrmCAddr  = uiCbCr;
	        }

	        uiPixelCnt++;
	    }
    }
}

// **************************************************************************************** //
static UINT32 FSGUI_PreDrawBmp( BYTE video_buf, const BYTE* pFont, UINT16 x, UINT16 y, UINT16 uiWidth, UINT16 uiHeight, UINT8 uiY, UINT16 uiCbCr, UINT16 uiFitHeight, ENUM_SAMPLING_MODE enMode )
{
    #define FSJPEG_BUF_OFFSET  ( ( sizeof( FSJPEGDATA ) >> 2 ) << 2 )
    const UINT8*  pDestFont   = pFont;

    if( uiFitHeight )
    {
        if( uiHeight < uiFitHeight )
        {
            UINT32 uiScale = uiFitHeight / uiHeight;
            if( uiScale > 1 )
            {
                pDestFont = (const UINT8*) ( (UINT32)pFsJpeg + FSJPEG_BUF_OFFSET );
                EnlargeFontSize( (UINT8*) pDestFont, pFont, uiWidth, uiHeight, uiScale, uiScale );
                uiWidth     *= uiScale;
                uiHeight    *= uiScale;
            }
        }
        else
        {
            UINT32 uiScale = ( uiHeight + uiFitHeight - 1 ) / uiFitHeight;
            if( uiScale > 1 )
            {
                pDestFont = (const UINT8*) ( (UINT32)pFsJpeg + FSJPEG_BUF_OFFSET );
                ReduceFontSize( (UINT8*) pDestFont, pFont, uiWidth, uiHeight, uiScale, uiScale, enMode );
                uiWidth     /= uiScale;
                uiHeight    /= uiScale;
            }
        }       
    }
    

    #if defined(SUPPORT_NATIVE_FSNAME)|| defined (ADJUST_SPACE_BETWEEN_FONT)  //qiutao add here for ipod
    //#define FSGUI_CHAR_SPACEPIXEL 3 //new it is define in OSD_Appdraw PreFontDraw_Position function 2006-6-15 18:47
    UINT8 uiRealWidth = 0;
    UINT8  NoBGLeftwidth   = 0;
    FONTDATA fontP;    
    
    CntFontContent( pDestFont,uiWidth, uiHeight,&fontP);
    uiRealWidth = PreFontDraw_Position( (int*) &x, &fontP , uiWidth, &NoBGLeftwidth);
  
    #endif


    coordinate start;
    dimension size;
    DrawDimension draw_offset;    
    VppColor color;
    start.x = x;
    start.y = y;

  
    

#ifdef FSGUI_FONTFRAME
	const UINT8*  pFonttem;
	const UINT8*  pFonttmp1;
	pFonttem = (UINT8*) ( (UINT32)pFsJpeg + FSJPEG_BUF_OFFSET);

	UINT8 Amount;
	if(uiWidth%8 != 0)
	{
		#define FSJPEG_BUF_OFFSET  ( ( sizeof( FSJPEGDATA ) >> 2 ) << 2 )	
		OSD_AdjustFontWidth( (UINT8*) pFonttem, pDestFont, uiHeight, uiWidth);
   	    Amount = ((uiWidth+4)/8)*(uiHeight);
		uiWidth += 4;
	}                                             
    else
		Amount = (uiWidth/8)*(uiHeight); 

	pFonttmp1 = pFonttem;
	pFonttem = (UINT8*) ( (UINT32)pFsJpeg + FSJPEG_BUF_OFFSET+Amount);
	OSD_DrawFontFrame((UINT8*)pFonttem, (UINT8*)pFonttmp1, uiWidth, uiHeight, 1);  		

    size.x_length = pFonttem[0];
    size.y_length = pFonttem[1];
    draw_offset.draw_start.y = 0;
	draw_offset.draw_dimension.y_length = pFonttem[1];
    color.font_color.ui_y 		= 0xF1;
    color.font_color.ui_cbcr 	= 0x8A41;
    color.frame_color.ui_y 		= 0x67;
    color.frame_color.ui_cbcr 	= 0x807F;

	#define FONT_OUTLINE_WIDTH 1
    #ifdef FONT_WIDTH_ADJUSTMENT
	extern UINT8 RWid, LWid;
	CalcuteFontActualWidth((UINT8*)pFonttem, pFonttem[0], pFonttem[1], pFonttem[0], OSD_FORMAT_4COLOR);	

    draw_offset.draw_start.x = LWid;
    draw_offset.draw_dimension.x_length = (RWid-LWid+1);
    FSGUI_DrawFontBmp(video_buf, &start, (pFonttem+2), &size, &draw_offset, &color, 2);
	uiWidth = (RWid-LWid+1) - 3;
    #else
    draw_offset.draw_start.x = 0;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日日夜夜精品视频天天综合网| 在线观看日韩高清av| 91精品一区二区三区在线观看| 性做久久久久久| 欧美日韩激情一区| 五月天激情小说综合| 在线电影欧美成精品| 久久国产免费看| 中文乱码免费一区二区| 91在线观看污| 国产制服丝袜一区| 国产欧美精品日韩区二区麻豆天美| 波多野结衣中文字幕一区 | 日本一二三不卡| 5月丁香婷婷综合| 久久精品国产亚洲a| 久久免费看少妇高潮| 成人深夜福利app| 一区二区三区在线视频播放| 91黄色免费网站| 日本视频一区二区| 久久综合色8888| 99久久综合国产精品| 伊人开心综合网| 欧美日韩国产经典色站一区二区三区| 亚洲综合999| 日韩亚洲欧美一区二区三区| 久久不见久久见免费视频7| 国产欧美日韩精品在线| 91蝌蚪porny| 久久99精品一区二区三区三区| 久久久蜜桃精品| 色婷婷久久久亚洲一区二区三区 | 久久精品国产一区二区| 亚洲欧美自拍偷拍| 国产欧美一区视频| 99久久精品免费看国产 | 国产精品久久精品日日| 欧美色涩在线第一页| 成人毛片老司机大片| 午夜欧美电影在线观看| 亚洲日韩欧美一区二区在线| 日韩午夜电影av| 欧美另类高清zo欧美| 色婷婷av一区二区三区大白胸| 精品亚洲免费视频| 日韩精品每日更新| 午夜久久久久久久久| 一区二区三区精品久久久| 中文字幕在线一区免费| 国产亚洲综合在线| 精品国产乱子伦一区| 欧美理论片在线| 欧美日韩免费一区二区三区视频| 91在线观看污| 91免费版在线看| 欧美影视一区在线| 欧美日韩中文精品| 欧美三级电影一区| 制服丝袜中文字幕亚洲| 91久久国产最好的精华液| 色综合天天综合| 在线不卡欧美精品一区二区三区| 91精品在线一区二区| 日本一区二区动态图| 亚洲午夜久久久| 国产精品538一区二区在线| 99国产精品国产精品毛片| 欧美一区二区三区成人| 亚洲欧洲精品成人久久奇米网| 日韩主播视频在线| 99精品1区2区| 久久精品网站免费观看| 婷婷成人综合网| 欧美性受xxxx黑人xyx性爽| 日韩欧美色电影| 一区二区三区不卡视频| 懂色一区二区三区免费观看| 91麻豆精品国产自产在线| 国产精品不卡视频| 国产成人h网站| 日韩欧美激情在线| 亚洲成av人片在www色猫咪| 97精品久久久午夜一区二区三区 | 黄网站免费久久| 欧美一级二级三级乱码| 亚洲综合丝袜美腿| 日本道精品一区二区三区| 欧美国产一区二区在线观看| 久久精品国产成人一区二区三区| 欧美性大战久久久久久久| 亚洲精选视频在线| 国产婷婷色一区二区三区在线| 日本成人超碰在线观看| 欧美一区二区在线视频| 日韩av一级片| 欧美成人猛片aaaaaaa| 国产中文字幕精品| 国产精品色眯眯| 欧洲一区在线观看| 丝袜美腿亚洲色图| 欧美电影免费观看高清完整版| 国产一区二区三区日韩| 国产视频在线观看一区二区三区| 国产乱码精品1区2区3区| 国产精品视频一二三区| 91色porny蝌蚪| 三级成人在线视频| 国产亚洲欧美日韩俺去了| 99精品视频一区二区| 日韩在线播放一区二区| 国产无一区二区| 欧美亚洲一区二区在线| 韩国欧美国产1区| 亚洲欧洲制服丝袜| 欧美mv日韩mv国产网站| 一本一道波多野结衣一区二区| 午夜精品视频一区| 亚洲国产激情av| 日韩午夜在线影院| 91精品国产综合久久香蕉麻豆| 国产欧美一区二区三区在线看蜜臀| 日本欧美一区二区三区乱码| 国产精品网曝门| 欧美成人精品高清在线播放| 亚洲高清免费观看| 激情综合色播激情啊| 成人美女在线视频| 欧美群妇大交群的观看方式| 欧美成人一区二区三区| 亚洲少妇30p| 国产美女久久久久| 3d动漫精品啪啪1区2区免费| 中文字幕一区在线观看| 久久成人免费电影| 91黄视频在线观看| 舔着乳尖日韩一区| 欧日韩精品视频| 日本一区二区三区免费乱视频| 三级不卡在线观看| 欧美巨大另类极品videosbest | 国内精品国产成人| 欧美精品日韩一区| 亚洲成人激情社区| 在线看一区二区| 最新热久久免费视频| 成人毛片老司机大片| 国产日韩av一区二区| 免费观看在线综合色| 欧美美女网站色| 亚瑟在线精品视频| 欧美丝袜丝交足nylons图片| 亚洲精品国产无天堂网2021 | 国产自产高清不卡| 国产拍揄自揄精品视频麻豆| 国产成都精品91一区二区三| 久久精品视频在线看| 国产精品综合在线视频| 国产人成一区二区三区影院| 国产一区二区女| 国产精品女主播在线观看| 波多野结衣的一区二区三区| 国产精品不卡一区| 欧美色区777第一页| 久久成人麻豆午夜电影| 国产精品久久久久久久久免费相片 | 成人综合在线观看| 亚洲精品日韩一| 精品欧美一区二区久久| 国产成人99久久亚洲综合精品| 一区二区三区成人在线视频| 欧美三级在线播放| 国产成人自拍网| 尤物视频一区二区| 欧美国产日韩a欧美在线观看 | 91成人免费网站| 国产精一区二区三区| 亚洲成av人片www| 中文字幕精品综合| 777a∨成人精品桃花网| 懂色av一区二区三区蜜臀| 日韩成人精品在线| 亚洲一区二区三区精品在线| 久久久精品免费观看| 欧美一三区三区四区免费在线看| 91蜜桃在线免费视频| 国产69精品一区二区亚洲孕妇| 香蕉成人伊视频在线观看| 国产精品乱子久久久久| 欧美精品一区二区高清在线观看| 欧美亚洲高清一区二区三区不卡| 成人深夜福利app| 99国产精品一区| 99精品一区二区三区| 97久久精品人人做人人爽| k8久久久一区二区三区| 99re亚洲国产精品| 日本韩国视频一区二区| 欧美专区日韩专区| 欧美羞羞免费网站|