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

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

?? dcautl.cpp

?? Vxworks 下的視頻采集程序
?? CPP
?? 第 1 頁 / 共 3 頁
字號:

     W99200WriteReg(Vin_picture,0x00);  
     //5. Vstart command 
     W99200WriteReg(Vstart, 0xff);//  any data 
     //6. Wait to end of data
     do
     {
        dEnd=W99200ReadReg (Vint_source);
     } while(!kbhit() && ((dEnd & 0x0001)!= 0x0001));
    return TRUE;
}  

//**************************************************************************
//    Function    :UTL_SFE
//    Description :Single frame encoding
//    Return      :BOOL
//************************************************************************** 
BOOL UTL_SFE(int Size_H, int Size_V,int iCompress)
{   
     int i;
     FILE *fp1;
     int dSize_H=0x00;
     int dSize_V=0x00; 

     dSize_H=Size_H >>4;
     dSize_V=Size_V >>4;   
      
     fp1=fopen(_SFE_OutFileName,"w+b");
     if ( fp1==NULL)
     {
       printf(" \n encoding file open error !!! ");
       return FALSE;
     }
     //1. Video Reset     
     W99200WriteReg(Video_reset, 0xFF);//any data
    
     //2. Configuration 
     if ( iCompress==1)
        W99200WriteReg(Vwork_mode, 0x03); // MPEG
     else
        W99200WriteReg(Vwork_mode, 0x13); // JPEG    
     W99200WriteReg(Vint_enable, 0x03);
     W99200WriteReg(Vthreshold, 0x0f);// 60=15*4 int
   
     W99200WriteReg(Vsize_h,dSize_H);  //704:2c  352:16
     W99200WriteReg(Vsize_v,dSize_V);  //480:1e  240:0f   
     W99200WriteReg(Vquality,_Quality);    // 01(High) ~ 1F (Low) 
     if ( _VideoStard==0 ) //NTSC
      W99200WriteReg(Video_format,0x00);// 8:PAL, 0: NTSC, 4:SQUARE
     if ( _VideoStard==1 ) //SQUARE
      W99200WriteReg(Video_format,0x04);// 8:PAL, 0: NTSC, 4:SQUARE
     if ( _VideoStard==2 ) //PAL
      W99200WriteReg(Video_format,0x08);// 8:PAL, 0: NTSC, 4:SQUARE     
         //3. Start Command
          
     W99200WriteReg(Vstart, 0xff);//  any data   
     
     //4. Reverse data transfer according to data format
     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 
    
   //5. Stop command
     W99200WriteReg(Vstop,0xff); // any data  
     
     printf("\n OutPutFile : %s (Single Frame Encoding)",_SFE_OutFileName);   
     fclose(fp1);         
     return TRUE;
        
}  

//**************************************************************************
//    Function    :UTL_WFR
//    Description :Write a frame
//    Return      :BOOL
//************************************************************************** 
BOOL UTL_WFR(int Size_H, int Size_V)
{    
     int dSize_H=0x00;
     int dSize_V=0x00; 
     int *dtemp;
     FILE *fp1;
     
     dSize_H=Size_H >>4; // One Unit is 16 Pixel
     dSize_V=Size_V >>4; // One Unit is 16 Pixel
      
     fp1=fopen(_SFE_InFileName,"r+b");
     if ( fp1==NULL)
     {
       printf(" \n File( %s ) open error (Write a Frame) !!!",_SFE_InFileName);
       return FALSE;
     }
     
   //1. Video Reset
     W99200WriteReg(Video_reset, 0xff);//any data
   //2. Configuration
     W99200WriteReg(Vwork_mode, 0x0004);
     W99200WriteReg(Vsize_h, dSize_H);
     W99200WriteReg(Vsize_v, dSize_V);
   //3. Start Command 
     W99200WriteReg(Vstart, 0xff);// any data
     
   //4. Forward data transfer according to data format 
     while ( fread(dtemp,sizeof(int),1,fp1) >= 1 )
     {
        W99200WriteReg(Vdata_in, *dtemp);  
     }

   //5. Stop command
     W99200WriteReg(Vstop,0xff); // any data  
     fclose(fp1);
          return TRUE;
}  

//**************************************************************************
//    Function    :UTL_RFR
//    Description :Read a frame
//    Return      :BOOL
//************************************************************************** 
BOOL UTL_RFR(int Size_H, int Size_V)
{
         FILE *fp1; 
         int i;
     int dSize_H=0x00;
     int dSize_V=0x00; 

     dSize_H=Size_H >>4;
     dSize_V=Size_V >>4;   
      
     fp1=fopen(_SFE_OutFileName,"w+b"); 
        //1. Soft Reset   
          
     W99200WriteReg(Video_reset, 0xFF);//any data
    
   // 2. Configuration
     W99200WriteReg(Vint_enable, 0x03);
     W99200WriteReg(Vthreshold, 0x0f);// 60=15*4 int
     W99200WriteReg(Vsize_h,dSize_H);  //704:2c  352:16
     W99200WriteReg(Vsize_v,dSize_V);  //480:1e  240:0f 
     W99200WriteReg(Vwork_mode, 0x0005);   
  // 3. Start   
     W99200WriteReg(Vstart, 0xff);//  any data
   //4. Reverse data transfer according to data format
     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 
    fclose(fp1);  
    return TRUE;        
} 

BOOL UTL_RSDRam(int dwPage)
{
         FILE *fp1; 
         int i;
         
         int start, count, j;
         
         char FileName[13];
         sprintf(FileName, "sdram%03x.hex", dwPage);
      
     fp1=fopen(FileName,"w+b"); 
        //1. Soft Reset   
          
    if (dwPage==0x100)
    {
        start=0x00;
        count=0x100;
    }        
    else
    {
        start=dwPage;
        count=1;
    }        
    printf("start=%x, count=%x, dwPage=%x\n", start, count, dwPage);            
    for (j=start;j<(start+count);j++)
    {
         printf("Reading page %x\n", j);
//         getch();
         W99200WriteReg(Video_reset, 0xFF);//any data
        
       // 2. Configuration
         W99200WriteReg(Vint_enable, 0x03);
         W99200WriteReg(Vthreshold, 0x0f);// 60=15*4 int
         W99200WriteReg(Vmem_select, j);   
         W99200WriteReg(Vwork_mode, 0x0007);   
      // 3. Start   
         W99200WriteReg(Vstart, 0xff);//  any data
       //4. Reverse data transfer according to data format
         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 
    }        
    fclose(fp1);  
    return TRUE;        
} 

#define PAGE_SIZE 8192

BOOL UTL_WSDRam(int dwPage, char *szFilename)
{    
     int i;
     
      
/*     fp1=fopen(szFilename,"r+b");
     if ( fp1==NULL)
     {
       printf(" \n File( %s ) open error (Write a Frame) !!!",szFilename);
       return FALSE;
     }
  */   
   //1. Video Reset
     W99200WriteReg(Video_reset, 0xff);//any data
   //2. Configuration
     W99200WriteReg(Vwork_mode, 0x0006);
     W99200WriteReg(Vmem_select, dwPage);
   //3. Start Command 
     W99200WriteReg(Vstart, 0xff);// any data
     
   //4. Forward data transfer according to data format 
//     while ( fread(dtemp,sizeof(int),1,fp1) >= 1 )
    for(i=0;i<PAGE_SIZE;i++)
     {
        W99200WriteReg(Vdata_in, 0);  
     }

   //5. Stop command
     W99200WriteReg(Vstop,0xff); // any data  
//     fclose(fp1);
          return TRUE;
}  

BOOL UTL_ClearSDRam(void)
{    
     int i, j;
     
      
/*     fp1=fopen(szFilename,"r+b");
     if ( fp1==NULL)
     {
       printf(" \n File( %s ) open error (Write a Frame) !!!",szFilename);
       return FALSE;
     }
  */   
   //1. Video Reset
    for (j=0;j<=0xff;j++)
    {
         W99200WriteReg(Video_reset, 0xff);//any data
       //2. Configuration
         W99200WriteReg(Vwork_mode, 0x0006);
         W99200WriteReg(Vmem_select, j);
       //3. Start Command 
         W99200WriteReg(Vstart, 0xff);// any data
         
       //4. Forward data transfer according to data format 
    //     while ( fread(dtemp,sizeof(int),1,fp1) >= 1 )
        for(i=0;i<PAGE_SIZE;i++)
         {
            W99200WriteReg(Vdata_in, 0);  
         }

   //5. Stop command
        W99200WriteReg(Vstop,0xff); // any data  
    }
//     fclose(fp1);
          return TRUE;
}  


BOOL UTL_RSDRaml(void)
{
         int i;
         
         int start, count, j;
         
        //1. Soft Reset   
          
    start=0x00;
    count=0x100;
    printf("start=%x, count=%x\n", start, count);            
    while(!kbhit())
    {    
        for (j=start;j<(start+count);j++)
        {
             printf("Reading page %x\n", j);
    //         getch();
             W99200WriteReg(Video_reset, 0xFF);//any data
            
           // 2. Configuration
             W99200WriteReg(Vint_enable, 0x03);
             W99200WriteReg(Vthreshold, 0x0f);// 60=15*4 int
             W99200WriteReg(Vmem_select, j);   
             W99200WriteReg(Vwork_mode, 0x0007);   
          // 3. Start   
             W99200WriteReg(Vstart, 0xff);//  any data
           //4. Reverse data transfer according to data format
             do 
             {
              if ( W99200FIFO_Thr()== TRUE )
              {
                for( i=0 ; i < 60 ; i++)
                   _dMem_Data[i]=W99200Inpdw(_IOBase+_ulODPR);
              }
            } while ( W99200FIFO_End()!=TRUE  );// Pooling the End of Data 
        }        
    }        
    return TRUE;        
} 


//**************************************************************************
//    Function    :UTL_SET_I2CVIDEO
//    Description :Through I2C Set SAA7114
//    Return      :BOOL
//************************************************************************** 
BOOL UTL_SET_I2CVIDEO(void)
{
  FILE *fp;
  int dIndex,dValue;
  int dCount,i;
  dIndex=0;
  dValue=0;
  dCount=0; 
  if ( _VideoStard == 0 ) // NTSC 
  {
    if( (fp = fopen( "I2C_114N.IN", "r+" )) == NULL )
    {
        printf( "The file 'I2C_114N.IN' was not opened\n" );
        return 0;
    }        
  } 
  else
  {
    if( (fp = fopen( "I2C_114P.IN", "r+" )) == NULL )
    {
        printf( "The file 'I2C_114P.IN' was not opened\n" );
        return 0;
    }
  }
    
  fscanf(fp,"%d",&dCount); // Read the Count of Data
  for ( i=0 ; i < dCount ; i++ )
  {
    fscanf(fp,"%x %x",&dIndex, &dValue); // Read the index and value  
    //printf(" Write I2C(114), index->%x,%x\n",dIndex,dValue);
    W99200I2CWrite(dIndex,&dValue,1);
  }
  fclose(fp);
  return 1;   
           
} 

BOOL UTL_AUDIOFIFO(char *szFileName, int dwLimit)// 11/18 Adding
{
    //    char cKey;
    int dAudioTemp;
    int LostData;
    FILE *fp1;
    int countIndex=0;
    clock_t start_time,end_time;
    int i;   
    int key;
    key=0;
    if (!szFileName)
    {
        printf("invalid filename\n");
        return FALSE;
    }        
    
    fp1=fopen(szFileName,"w+b");
    // Initial the video decoder
    UTL_SET_I2CVIDEO();
   
/*    //---------
    printf( " \n Please seletc external FIFO type: <1>4K <2>16K <3>64K <4>256K :");
    cKey =getche();
    switch (cKey)
    {
      case '1':dAudioTemp=0x04; // 0x04: 4K; 0x05: 16K; 0x06:64K; 0x07:256K;   
               break;
      case '2':dAudioTemp=0x05; // 0x04: 4K; 0x05: 16K; 0x06:64K; 0x07:256K;   
               break;
      case '3':dAudioTemp=0x06; // 0x04: 4K; 0x05: 16K; 0x06:64K; 0x07:256K;   
               break;
      case '4':dAudioTemp=0x07; // 0x04: 4K; 0x05: 16K; 0x06:64K; 0x07:256K;   
               break;
    }                              
*/    
    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  
    
   // ### Polling and Get Audio data 
    start_time=clock();
    if (!dwLimit)
    {
        printf(" \n Press 's' or 'S' to stop audio capture \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 
                {   
                   // ### Stop capture 
                   dAudioTemp=W99200ReadReg (AFCR1);
                       dAudioTemp=dAudioTemp | 0x0008;
                   W99200WriteReg(AFCR1,dAudioTemp);// write "1" into A_START bit4  
                   break; 
                }  
             }
             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, fp1 );              
              }
        }while((key!='S')|| (key!='s')|| (dAudioTemp=W99200ReadReg(AFISR) & 0x0020)!= 0x0020 ); 
    }
    else
    {
        do
        {
             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
                 {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美视频三区在线播放| 成人精品国产免费网站| 成人av电影观看| 捆绑紧缚一区二区三区视频 | 日韩中文字幕91| 91精品办公室少妇高潮对白| 亚洲免费在线电影| 色香色香欲天天天影视综合网 | 99精品国产99久久久久久白柏| 国产精品久久久久影院色老大| 99久久久国产精品| 99综合电影在线视频| 天天免费综合色| 国产日韩欧美a| 在线欧美日韩国产| 国产高清不卡二三区| 一区二区三区四区视频精品免费| 精品视频在线看| 成人性生交大片免费| 日韩avvvv在线播放| 欧美国产精品v| 欧美日韩黄色一区二区| 国产电影一区二区三区| 成人美女在线视频| 色婷婷综合久久久中文字幕| 日本一区免费视频| 亚洲免费观看高清完整版在线观看| 中文字幕五月欧美| 精品精品国产高清a毛片牛牛| 91在线视频免费91| 欧美日韩在线直播| 欧美第一区第二区| 欧美午夜电影在线播放| 欧美一区二区视频网站| 在线观看亚洲精品视频| 日韩一区国产二区欧美三区| 欧美三级乱人伦电影| 日韩一卡二卡三卡| 国产蜜臀av在线一区二区三区| 亚洲午夜av在线| 中文字幕va一区二区三区| 一二三区精品福利视频| 久久国产三级精品| 日本道免费精品一区二区三区| 日韩视频一区二区在线观看| 中文字幕色av一区二区三区| 热久久久久久久| 日韩国产一二三区| 不卡免费追剧大全电视剧网站| 777久久久精品| 欧美电影一区二区三区| 欧美日韩一区二区三区视频| 欧美精品一区二区高清在线观看| 欧洲av一区二区嗯嗯嗯啊| 精品国产乱码久久久久久闺蜜| 一区二区成人在线| 成人免费视频视频在线观看免费| 777亚洲妇女| 一区二区久久久久久| 成人国产在线观看| 国产日韩av一区| 久久99精品久久久久久国产越南| 六月丁香婷婷久久| 欧美日韩在线不卡| 一个色综合av| 在线观看视频一区| 亚洲另类一区二区| 首页国产欧美久久| 色综合天天综合色综合av| 色天使色偷偷av一区二区| 国产精品久久久久影视| 国产在线精品一区二区三区不卡| 亚洲猫色日本管| 日韩在线一区二区| 9l国产精品久久久久麻豆| 久久综合久色欧美综合狠狠| 亚洲二区视频在线| 91在线视频播放地址| 久久蜜桃香蕉精品一区二区三区| 国产精品系列在线| 日韩欧美在线网站| 亚洲区小说区图片区qvod| 国产乱理伦片在线观看夜一区| 午夜视频一区在线观看| 99re成人精品视频| 国产精品久久毛片a| 国产精品一品二品| 欧美激情在线看| 国产精品自拍网站| 久久精品在线免费观看| 国产亚洲欧美日韩俺去了| 日本不卡不码高清免费观看| 欧美一区二区三区在线看| 蜜臀av一区二区在线观看| 石原莉奈在线亚洲二区| 精品视频一区二区不卡| 另类中文字幕网| 亚洲精品在线观看视频| 不卡的av电影在线观看| 自拍视频在线观看一区二区| 久久精品99国产精品| 日韩一区二区视频在线观看| 韩国女主播一区二区三区| 欧美性三三影院| 激情综合五月天| 成年人国产精品| 午夜精品免费在线| 日韩视频在线永久播放| 精品系列免费在线观看| 26uuu久久综合| av电影在线观看一区| 一区二区三区成人在线视频| 欧美综合亚洲图片综合区| 18欧美亚洲精品| 欧美精品一卡二卡| 久久99国内精品| 最新热久久免费视频| 欧美日韩一区 二区 三区 久久精品| 亚洲综合丝袜美腿| 日韩一区二区三区精品视频| 精品制服美女久久| 中文字幕在线观看不卡| 欧美日韩一区视频| 久久99精品久久久久久久久久久久| 欧美一级午夜免费电影| 91蜜桃网址入口| 蜜桃一区二区三区四区| 欧美国产1区2区| 欧美日本视频在线| 国产资源在线一区| 一区二区三区中文字幕电影| 久久久久国产一区二区三区四区| 在线免费视频一区二区| 黑人巨大精品欧美黑白配亚洲| 亚洲人妖av一区二区| 精品sm在线观看| 在线观看日韩精品| 色88888久久久久久影院野外| 2019国产精品| 日韩一区国产二区欧美三区| 国产v综合v亚洲欧| 精品免费99久久| 日本精品一级二级| 91麻豆国产香蕉久久精品| 午夜精品久久久久影视| 日韩一区有码在线| 中文字幕一区二区三区四区| 亚洲一区在线视频| 亚洲制服丝袜av| 中文欧美字幕免费| 中文字幕的久久| 久久免费看少妇高潮| 久久久久高清精品| 日韩女同互慰一区二区| 欧美久久久久久久久| 欧美视频一区二区三区| 91论坛在线播放| 91丨九色丨蝌蚪丨老版| 波多野结衣91| 91视视频在线观看入口直接观看www | 亚洲国产毛片aaaaa无费看 | 精品成人免费观看| 91精品国产综合久久久久| 91国产精品成人| 99久久亚洲一区二区三区青草| 国产精品一卡二| 国产精品自在在线| 国产精品一区二区久激情瑜伽| 国产在线精品一区二区三区不卡 | 国产精品一卡二| 久久草av在线| 秋霞影院一区二区| 国产精品18久久久久久久网站| 免费观看在线综合色| 日本亚洲一区二区| 麻豆精品久久久| 免费高清不卡av| 日本伊人色综合网| 激情综合网最新| 丰满白嫩尤物一区二区| 成年人国产精品| 91网站在线播放| 在线91免费看| 久久人人超碰精品| 国产精品久久夜| 亚洲一区二区视频| 亚洲综合在线观看视频| 日本vs亚洲vs韩国一区三区二区 | 美女精品一区二区| 丁香啪啪综合成人亚洲小说| 91蜜桃视频在线| 精品盗摄一区二区三区| 中文字幕一区免费在线观看| 免费观看一级特黄欧美大片| 国产在线精品一区二区| 欧美日韩综合不卡| 久久综合资源网| av在线不卡观看免费观看| av在线这里只有精品| 精品国产一区二区在线观看|