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

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

?? dcautl.cpp

?? Vxworks 下的視頻采集程序
?? CPP
?? 第 1 頁 / 共 3 頁
字號:
                      _dSDRAM_Data[i] = W99200Inpdw( _IOBase+4 );     //_ulODPR );
                 }
                 fwrite( _dSDRAM_Data, sizeof(int), 127, fp1 );              
              }
              
               end_time=clock(); 
           if((int)(end_time-start_time) > dwLimit*1000 ) // "s" key is pressed
           {
                dAudioTemp=W99200ReadReg (AFCR1);
                dAudioTemp=dAudioTemp | 0x0008;
                W99200WriteReg(AFCR1,dAudioTemp);// write "1" into A_START bit4  
           }           
        }while(((int)(end_time-start_time) <=dwLimit*1000) && (dAudioTemp=W99200ReadReg(AFISR) & 0x0020)!= 0x0020 ); 
    }            
    fclose(fp1);  
    end_time=clock();
    printf("\n Capture Time : %d second", (end_time-start_time)/1000 );

    // ### check lost data
    dAudioTemp=W99200ReadReg(AFISR);
    if ( dAudioTemp & 0x04 == 0x04 )
    {
        dAudioTemp=W99200ReadReg(ALDR0) & 0x00ff;  
        LostData=dAudioTemp;
        dAudioTemp=W99200ReadReg(ALDR1) & 0x00ff;
        dAudioTemp<<=8;
        LostData=LostData + dAudioTemp;
        printf(" \n Lost Data: %ldK ~ %ldK bytes\n ",LostData, LostData+1);
    }
    printf(" \n Ok! The audio data has been saved as the audio.pcm!\n");
    return TRUE;
} 

    
void DumpI2c(void)
{
   int k;
   int dwTemp;
   for (k=0;k<0x1f;k++)
   {
        W99200I2CRead(k,&dwTemp);
        printf("i2c[%x]=%x \t",k, dwTemp);
        if (!(k%5))
            printf("\n");
    }   
    getchar();
   for (k=0x30;k<0x5f;k++)
   {
        W99200I2CRead(k,&dwTemp);
        printf("i2c[%x]=%x \t",k, dwTemp);
//        if (!(k%5))
  //          printf("\n");
    }   
    getchar();
   for (k=0x80;k<0xef;k++)
   {
        W99200I2CRead(k,&dwTemp);
        printf("i2c[%x]=%x \t",k, dwTemp);
//        if (!(k%5))
  //          printf("\n");
    }   
    getchar();
}    


//**************************************************************************
//    Function    :UTL_LE
//    Description :Live video encoding and audio capture
//    Return      :BOOL
//    added JJDS 16/3/2001
//************************************************************************** 
BOOL UTL_LE(char *szVideoFileName, char *szAudioFileName, int dwLimit, int iUseMaster)
{   

// ##### for Maste mode buffer
   char _cc0[REL_MASTER_BUFFER_SIZE+4], _cc1[REL_MASTER_BUFFER_SIZE+4];
   void  *_pp0 = _cc0, *_pp1 = _cc1;
   char *_pcc0 = _cc0, *_pcc1 = _cc1;
   unsigned long _ulSeg, _ulOff, _ulAddr0, _ulAddr1;
// ##### for Maste mode buffer 
   int dRead=0; 
   int iMBufferIndex=0; 
   int key;
   int done=FALSE;
   int i;
   FILE *fp1; // Output file
   int *pRam;
   int j;  
   clock_t start_time,end_time;
   key=0;
   static int iFileCount = 0; 
   int nTemp=0;

    int dAudioTemp;
    int LostData;
    FILE *fp2;
    int countIndex=0;
   
   _LVE_Bitrate=1024000;
   
   W99200WriteReg( PCR,0x61 ); 
   W99200WriteReg( PCR,0x60 );  
   for ( j=0 ; j < 4096 ; j++)
   {
      _cc0[j]= _cc1[j]=0;
   } 

    if (!szVideoFileName)
    {
        printf("invalid video filename\n");
        return FALSE;
    }
    if (!szAudioFileName)
    {
        printf("invalid audio filename\n");
        return FALSE;
    }
    
   fp1=fopen(szVideoFileName,"w+b");
   if ( fp1==NULL)
   {
       printf(" \n encoding file open error !!! ");
       return FALSE;
   }
   fp2=fopen(szAudioFileName,"w+b");
   if ( fp1==NULL)
   {
       printf(" \n encoding file open error !!! ");
       return FALSE;
   }
   

   // Set SAA7114
   UTL_SET_I2CVIDEO();

   // #### Video Reset          
   W99200WriteReg(Video_reset, 0xFF);//any data 

   // #### Initial the Internal memory:index 01~04 and 0c 

   BYTE DefaultRam[] = 
   {
     #include "Ram.h"
   };
   // index: 00~04  256 bytes
   for ( i=0 ; i < 5 ; i++)
   {
     pRam=(int *)(DefaultRam+(i*256));
     for ( j=0 ; j < 64 ; j++)
     {
        _dMem_Data[j]=*(pRam+j);
     }
     W99200IMEM_Write(i);
   } 
   // index: 0c  128 bytes
   pRam=(int *)(DefaultRam+(5*256));
   for ( j=0 ; j < 32 ; j++)
   {
        _dMem_Data[j]=*(pRam+j);
   }
   W99200IMEM_Write(0x0c); 
   
   // index:06    128 bytes 
   pRam=(int *)(DefaultRam+(6*256));
   for ( j=0 ; j < 32 ; j++)
   {
        _dMem_Data[j]=*(pRam+j);
   }
   W99200IMEM_Write(0x06);
     
   //5. Soft Reset          
   W99200WriteReg(Video_reset, 0xFF);//any data 

   //6. Configuration

   W99200WriteReg(Vint_enable, 0x00);
   W99200WriteReg(Vthreshold, 0x0f);// 60=15*4 int  
   W99200WriteReg(Vwork_mode,0x00); 
   
   if ( _LVE_PictureResoultion ==1 && _VideoStard==0) //NTSC,SIF 
      W99200WriteReg(Video_format,0x01); // SIF
   if ( _LVE_PictureResoultion ==2 && _VideoStard==0) //NTSC,QSIF
      W99200WriteReg(Video_format,0x02); // QSIF
   if ( _LVE_PictureResoultion ==1 && _VideoStard==1) //SQUARE,SIF 
      W99200WriteReg(Video_format,0x05); // SIF
   if ( _LVE_PictureResoultion ==2 && _VideoStard==1) //SQUARE,QSIF
      W99200WriteReg(Video_format,0x06); // QSIF      
   if ( _LVE_PictureResoultion ==1 && _VideoStard==2) //PAL,SIF 
      W99200WriteReg(Video_format,0x09); // SIF
   if ( _LVE_PictureResoultion ==2 && _VideoStard==2) //PAL,QSIF
      W99200WriteReg(Video_format,0x0a); // QSIF
   W99200WriteReg(Venc_cntl,0x6c);
          
   W99200WriteReg(Vframe_pattern,0x12);
   _LVE_Bitrate=_LVE_Bitrate/400; 
   int rate_m;
   int rate_l;
   rate_m= _LVE_Bitrate >> 8;
   rate_l= _LVE_Bitrate & 0x000000FF;
   W99200WriteReg(Vbit_rate_m,rate_m); // Bit-rate
   W99200WriteReg(Vbit_rate_l,rate_l); //
   W99200WriteReg(Vbv_size,0x32);//0x14);
   W99200WriteReg(Vbv_initial,0x31);//0x13);
   W99200WriteReg(Vquality,_Quality);    // 01(High) ~ 1F (Low) 
   W99200WriteReg(Vslice_header,0x01);
   W99200WriteReg(Vgop_header,0x01); 
   W99200WriteReg(Vit_hour,0x00);
   W99200WriteReg(Vit_minute,0x00);
   W99200WriteReg(Vit_second,0x00);
   W99200WriteReg(Vit_frame,0x00); 

   W99200WriteReg(Vin_offset,0x00);//00);
      
   if ( _LVE_RC_Mtehod == 0 ) // Constant Bitrate
      W99200WriteReg(Venc_cntl,0x4c);
    if ( _LVE_RC_Mtehod == 1 ) // Maximum Bitrate  
      W99200WriteReg(Venc_cntl,0x4d);
   if ( _LVE_RC_Mtehod == 2 ) // Variable Bitrate 
      W99200WriteReg(Venc_cntl,0x4e);  
   W99200WriteReg(Vin_picture,0x00);

   // #### for Master mode
   if ( iUseMaster == 1 )
   {
   // ##### Allocate Master Mode Buffer0  
       _ulSeg = _FP_SEG(_pp0);
       _ulOff = _FP_OFF(_pp0);
       _ulAddr0 = (_ulSeg << 4) + _ulOff;
       for( i = 1; i < 4; i ++ )    // Find the 4 address
       {
          if((_ulAddr0 & 0x0003L) == 0)
              break;
          _ulAddr0 ++;
          _pcc0 ++;
       }
   // ##### Allocate Master Mode Buffer1
       _ulSeg = _FP_SEG(_pp1);
       _ulOff = _FP_OFF(_pp1);
       _ulAddr1 = (_ulSeg << 4) + _ulOff;
       for( i = 1; i < 4; i ++ )    // Find the 4 address
       {
          if((_ulAddr1 & 0x0003L) == 0)
              break;
          _ulAddr1 ++;
          _pcc1 ++;
       }
      // ##### Set W99200 register for master mode
      W99200WriteReg(Vthreshold, 0x000F);// 15*4 double-word(60*4 bytes)
      W99200WriteReg(BBSR,0x03FB03FBL);  // Buffer Size -1 ( 1020-1 =1019=0x03FB ) uint is int 
                                         // Buffer Size must be multiple of threshold level int
                                         // So 1024/60=17.066 Buffer Size= 17*60=1020     
      // ##### Buffer 0
      W99200WriteReg(BBSAR0, _ulAddr0); // Main Memory address (Buffer0)
      W99200WriteReg(BBSTR0,0x03);      // Buffer ready
      // ##### Buffer 1
      W99200WriteReg(BBSAR1, _ulAddr1); // Main Memory address (Buffer1)
      W99200WriteReg(BBSTR1,0x03);      // Buffer ready
      // ##### Open Master Enable
      W99200WriteReg(PCICR,0x02);     
   }

    dAudioTemp=0x07;
    // ### Initial OKI FIFO
    
    W99200WriteReg(AFCR1,dAudioTemp);

    dAudioTemp=0x0040;//Clear AIN_RST for lost data, first writ 1 then write 0                                  
    W99200WriteReg(AFCR0,dAudioTemp);
    W99200WriteReg(AFCR0,0x0003);
                        
    // ### Set Audio Start
    dAudioTemp=W99200ReadReg (AFCR1);
    dAudioTemp=dAudioTemp | 0x10;
    W99200WriteReg(AFCR1,dAudioTemp);// write "1" into A_START bit4  

     //7. VStart Command
   W99200WriteReg(Vstart,0xff); // any data
   start_time=clock();
   if ( dwLimit == 0) // No Time Limit=> until Press 'S'
   {
        printf(" \n Press 's' or 'S' to stop live video encoding\n");
        do
        {
            
            key=_bios_keybrd(_KEYBRD_READY)&0xff;
            if (key!=0 ) // any key is pressed
            {
                  key=_bios_keybrd(_KEYBRD_READ)&0xff;
                  if((key=='S')||(key=='s') ) // "s" key is pressed
                  {
                        W99200WriteReg(Vstop,0xff);//9. Stop command
                       dAudioTemp=W99200ReadReg (AFCR1);
                           dAudioTemp=dAudioTemp | 0x0008;
                       W99200WriteReg(AFCR1,dAudioTemp);// write "1" into A_START bit4  
                        
                  }
            }
            //8. Reverse Data transfer + handling interrupts
            if ( iUseMaster == 1 )
            {      
                  // Poll BSTR0 to check if Buffer 0 is full 
                  dRead=W99200ReadReg(BBSTR0);
                  if ( ((dRead & 0x02) == 0x02 )  && iMBufferIndex == 0 )
                  {
                        if ( fwrite(_pcc0, sizeof(BYTE),4080,fp1) != 4080 )
                                printf( " Buffer 0 write file error!\n" );
                        W99200WriteReg(BBSTR0,0x03);
                        iMBufferIndex=1;
                  } 
                  // Poll BSTR1 to check if Buffer 1 is full 
                  dRead=W99200ReadReg(BBSTR1);
                  if ( ((dRead & 0x02) == 0x02 ) && iMBufferIndex ==1 )
                  {
                        if ( fwrite(_pcc1, sizeof(BYTE),4080,fp1) != 4080 )
                             printf( " Buffer 1 write file error!\n" );
                        W99200WriteReg(BBSTR1,0x03);
                        iMBufferIndex=0;
                  }
            } //if ( iUseMaster == 1 )
            else
            {
                  if ( W99200FIFO_Thr()== TRUE )
                  {
                        for( i=0 ; i <60  ; i++)
                        {
                            _dMem_Data[i]=W99200Inpdw(_IOBase+_ulODPR);
                        }
                        fwrite(_dMem_Data,sizeof(int),60,fp1);
                        
                  }
            }

             dAudioTemp=W99200ReadReg(AFISR);
             if((dAudioTemp=dAudioTemp & 0x01) == 0x01) // Audio Ready
             {
                 W99200WriteReg( AFIRR, 0x01);
                 countIndex++;
                 W99200Outpdw( _IOBase, 0x67 );
                 for( i=0 ; i < 127  ; i++) // 508 bytes => 127 times: 127*4=508 bytes
                 {
                      _dSDRAM_Data[i] = W99200Inpdw( _IOBase+4 );     //_ulODPR );
                 }
                 fwrite( _dSDRAM_Data, sizeof(int), 127, fp2 );              
              }
            
        }while((key!='s')&&(key!='S') && (W99200FIFO_End()!=TRUE) && ((dAudioTemp=W99200ReadReg(AFISR) & 0x0020)!= 0x0020));
   }
   else
   {
        printf(" \n Stop After %d Second",dwLimit);
        do
        {
           //8. Reverse Data transfer + handling interrupts
            if ( iUseMaster == 1 )
            {      
                  // Poll BSTR0 to check if Buffer 0 is full 
                  dRead=W99200ReadReg(BBSTR0);
                  if ( ((dRead & 0x02) == 0x02 )  && iMBufferIndex == 0 )
                  {
                        if ( fwrite(_pcc0, sizeof(BYTE),4080,fp1) != 4080 )
                                printf( " Buffer 0 write file error!\n" );
                        W99200WriteReg(BBSTR0,0x03);
                        iMBufferIndex=1;
                  } 
                  // Poll BSTR1 to check if Buffer 1 is full 
                  dRead=W99200ReadReg(BBSTR1);
                  if ( ((dRead & 0x02) == 0x02 ) && iMBufferIndex ==1 )
                  {
                        if ( fwrite(_pcc1, sizeof(BYTE),4080,fp1) != 4080 )
                             printf( " Buffer 1 write file error!\n" );
                        W99200WriteReg(BBSTR1,0x03);
                        iMBufferIndex=0;
                  }
            } //if ( iUseMaster == 1 )
            else
            {
                  if ( W99200FIFO_Thr()== TRUE )
                  {
                        for( i=0 ; i <60  ; i++)
                        {
                            _dMem_Data[i]=W99200Inpdw(_IOBase+_ulODPR);
                        }
                        fwrite(_dMem_Data,sizeof(int),60,fp1);
                        
                  }
            }

             dAudioTemp=W99200ReadReg(AFISR);
             if((dAudioTemp=dAudioTemp & 0x01) == 0x01) // Audio Ready
             {
                 W99200WriteReg( AFIRR, 0x01);
                 countIndex++;
                 W99200Outpdw( _IOBase, 0x67 );
                 for( i=0 ; i < 127  ; i++) // 508 bytes => 127 times: 127*4=508 bytes
                 {
                      _dSDRAM_Data[i] = W99200Inpdw( _IOBase+4 );     //_ulODPR );
                 }
                 fwrite( _dSDRAM_Data, sizeof(int), 127, fp2 );              
              }
            
           end_time=clock(); 
           if((int)(end_time-start_time) > dwLimit*1000 ) // "s" key is pressed
           {
                W99200WriteReg(Vstop,0xff);//9. Stop command       
                dAudioTemp=W99200ReadReg (AFCR1);
                dAudioTemp=dAudioTemp | 0x0008;
                W99200WriteReg(AFCR1,dAudioTemp);// write "1" into A_START bit4  
            }                
        }while(((int)(end_time-start_time) <=dwLimit*1000) && (W99200FIFO_End()!=TRUE) && ((dAudioTemp=W99200ReadReg(AFISR) & 0x0020)!= 0x0020));
     
   }   
    //10. Reverse Data transfer + handling interrupts 
    if ( iUseMaster == 1 )
    {   
        
        if ( iMBufferIndex == 0 )
        {
            dRead=W99200ReadReg(BBFR);
            if ( fwrite(_pcc0, sizeof(BYTE),(unsigned int)dRead*4,fp1) != (unsigned int)(dRead*4) )
                   printf( " Buffer 0 write file error!\n" );
        }
        else
        {
            dRead=W99200ReadReg(BBFR);
            if ( fwrite(_pcc1, sizeof(BYTE),(unsigned int)(dRead*4),fp1) != (unsigned int)(dRead*4) )
                   printf( " Buffer 1 write file error!\n" );
        }
        W99200WriteReg(PCICR,0x00);     // Close Master Enable    
    }
    else
    {                    
      do 
      {
         if ( W99200FIFO_Thr()== TRUE )
         {
            for( i=0 ; i < 60 ; i++)
               _dMem_Data[i]=W99200Inpdw(_IOBase+_ulODPR);
            fwrite(_dMem_Data,sizeof(int),60,fp1);
         }
      } while ( W99200FIFO_End()!=TRUE  );// Pooling the End of Data
    }
    if ( dwLimit == 0)
    {
      end_time=clock();
      printf("\n Time : %ld second", (end_time-start_time)/1000 );
    }

    dAudioTemp=W99200ReadReg(AFISR);
    if ( dAudioTemp & 0x04 == 0x04 )
    {
        dAudioTemp=W99200ReadReg(ALDR0) & 0x00ff;  
        LostData=dAudioTemp;
        dAudioTemp=W99200ReadReg(ALDR1) & 0x00ff;
        dAudioTemp<<=8;
        LostData=LostData + dAudioTemp;
        printf(" \n Lost Data: %ldK ~ %ldK bytes\n ",LostData, LostData+1);
    }

    printf("\n Video OutPutFile : %s\n",szVideoFileName);   
    fclose(fp1);
    printf("\n Audio OutPutFile : %s\n",szVideoFileName);   
    fclose(fp2);
    return TRUE;
}  

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
狠狠v欧美v日韩v亚洲ⅴ| 色av成人天堂桃色av| www.av精品| 欧美一区二区三区小说| 中文字幕av一区二区三区| 视频一区欧美日韩| 不卡的电视剧免费网站有什么| 欧美三级蜜桃2在线观看| 国产精品色眯眯| 韩国三级在线一区| 欧美日韩美女一区二区| 中文字幕一区二区三区蜜月| 久久国产综合精品| 欧美日韩另类一区| 一区二区三区高清| 成年人国产精品| 久久久99久久| 精品一区二区三区在线视频| 正在播放亚洲一区| 亚洲一区二区三区四区在线免费观看| 精品中文字幕一区二区| 欧美精品在线视频| 亚洲国产毛片aaaaa无费看| 97国产精品videossex| 国产午夜精品一区二区三区嫩草 | 最新不卡av在线| 久久精品国产99| 91精品国产手机| 亚洲一级二级三级| 欧美无砖专区一中文字| 日韩伦理av电影| 9l国产精品久久久久麻豆| 中文字幕第一区二区| 国产91富婆露脸刺激对白| 久久综合丝袜日本网| 久久国产精品99精品国产 | 国产午夜精品久久久久久久 | 亚洲国产精品一区二区www| 99久久99久久精品国产片果冻| 久久综合色之久久综合| 久色婷婷小香蕉久久| 欧美一区二区三区色| 日本欧美韩国一区三区| 日韩美一区二区三区| 日本不卡的三区四区五区| 在线成人免费观看| 久久69国产一区二区蜜臀| 日韩亚洲电影在线| 国产精品白丝av| 国产精品素人一区二区| 不卡大黄网站免费看| 亚洲人成伊人成综合网小说| 91丨porny丨中文| 亚洲国产日韩一级| 欧美一区二区播放| 国产激情一区二区三区四区| 国产视频911| 色视频成人在线观看免| 亚洲电影中文字幕在线观看| 日韩一区二区三区在线观看| 久久91精品国产91久久小草| 国产精品区一区二区三| 在线一区二区三区四区五区 | 老汉av免费一区二区三区| 精品久久一二三区| 91精品福利在线一区二区三区| 日韩精品一级二级 | 亚洲靠逼com| 欧美一区日本一区韩国一区| 狠狠色综合色综合网络| 亚洲欧洲美洲综合色网| 欧美丰满美乳xxx高潮www| 九九视频精品免费| 一区二区三区精品久久久| 日韩一区二区三区在线观看| 成人黄色777网| 日韩av一区二区三区| 国产日本欧美一区二区| 欧美日韩精品综合在线| 国产成人精品免费网站| 亚洲午夜在线电影| 国产欧美一区二区精品忘忧草 | 亚洲精品精品亚洲| 日韩精品最新网址| 91久久精品网| 成人永久aaa| 免费在线看一区| 亚洲欧洲综合另类在线| 久久久久久一二三区| 欧美日韩一区二区三区在线| 成人精品在线视频观看| 石原莉奈在线亚洲三区| 成人免费一区二区三区视频| 337p日本欧洲亚洲大胆精品| 欧美影院午夜播放| 成人av免费在线| 国产乱码精品一区二区三区五月婷| 亚洲愉拍自拍另类高清精品| 久久久精品国产免费观看同学| 欧美日本韩国一区| 日本韩国精品一区二区在线观看| 国产精品1区2区3区| 蜜臀a∨国产成人精品| 亚洲午夜久久久久久久久电影院| 国产精品久久久久四虎| 国产日韩欧美激情| 久久精品这里都是精品| 欧美精品一区二区在线观看| 欧美一区二区大片| 7777精品伊人久久久大香线蕉超级流畅| 99久久久无码国产精品| 风流少妇一区二区| 国产成人午夜精品5599| 国产伦精一区二区三区| 国产资源精品在线观看| 精品在线播放免费| 国产一区欧美二区| 国产在线麻豆精品观看| 久久国产综合精品| 国产一区不卡精品| 国产成人av一区二区三区在线| 紧缚捆绑精品一区二区| 国产在线一区观看| 国产91精品欧美| 成人精品电影在线观看| 国产激情一区二区三区| 成人h动漫精品一区二| 国产成人综合亚洲网站| 国产成人综合视频| 99久久久国产精品| 色国产综合视频| 91精品国产一区二区三区香蕉| 欧美日韩精品久久久| 4438x成人网最大色成网站| 3atv一区二区三区| 久久综合色播五月| 中文字幕一区二区在线播放| 一区二区日韩av| 男人操女人的视频在线观看欧美| 日本美女一区二区三区视频| 久久99久久久久| 成人午夜电影网站| 日本乱人伦aⅴ精品| 欧美视频精品在线观看| 日韩欧美高清dvd碟片| 日本一区二区成人| 亚洲国产精品一区二区久久| 九色|91porny| 99视频精品在线| 91精品国产综合久久久久久久久久 | 日韩美女久久久| 亚洲va天堂va国产va久| 国产酒店精品激情| 在线精品国精品国产尤物884a| 91麻豆精品国产| 国产精品久久久久影视| 午夜成人在线视频| 成人高清视频在线| 欧美一区二区视频观看视频| 国产欧美日韩视频一区二区| 夜夜精品视频一区二区 | av网站一区二区三区| 欧美日韩日日骚| 欧美韩国日本一区| 日韩高清一级片| 成人av第一页| 久久蜜臀中文字幕| 亚洲成国产人片在线观看| 国产精品主播直播| 日韩视频123| 亚洲少妇30p| 国产一区二区精品在线观看| 欧美日韩国产一级| 怡红院av一区二区三区| 国产福利精品一区二区| 欧美精品成人一区二区三区四区| 国产日韩欧美a| 男男成人高潮片免费网站| 久久久亚洲欧洲日产国码αv| 亚洲成在人线免费| 一本一道波多野结衣一区二区| 日韩美一区二区三区| 日韩在线播放一区二区| 色欧美88888久久久久久影院| 2020国产精品自拍| 九九**精品视频免费播放| 欧美精品在线一区二区| 亚洲一区二区av电影| a级精品国产片在线观看| 国产亚洲一区二区三区在线观看| 日韩电影一区二区三区四区| 欧美性色aⅴ视频一区日韩精品| 欧美极品美女视频| 国产精品综合二区| 久久久久久久性| 美女视频网站黄色亚洲| 欧美精品v国产精品v日韩精品| 一个色妞综合视频在线观看| 91美女在线看| 亚洲综合av网|