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

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

?? saa7105.c

?? 7105驅(qū)動(dòng)源碼
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):

/*
 * ======== setVideoDisplay ========
 */
static void setVideoDisplay(SAA7105_Mode displayType, 
    SAA7105_AnalogFormat outMode, SAA7105_InputFormat inFormat, Bool enableBT656Sync)
{                       
    Uint8 *charPtr;
    Uns activePixels,activeLines;     
    Uns hLen;
    Uns hStart,hEnd,fal, lal;
    volatile _SAA7105_Regs *regPtr = (_SAA7105_Regs *)&_SAA7105_settingsDef;    
    Uns yOffset;
    Uns xOffset;
    Uns yInc = 0; 
    Uns ySkip = 0;
    Uns yIWGTO = 100;
    Uns yIWGTE = 100;
    Uns xInc = 0;
    volatile Int i;


    hStart = 272;
    xOffset = modeTbl[displayType][0];      
    yOffset = modeTbl[displayType][1];
    hLen = modeTbl[displayType][2];;
    activePixels = modeTbl[displayType][3];
    activeLines = modeTbl[displayType][4];
    regPtr->inputFormat = inFormat;
    regPtr->pixClock0 = modeTbl[displayType][5];
    regPtr->pixClock1 = modeTbl[displayType][6];
    regPtr->pixClock2 = modeTbl[displayType][7];

    regPtr->chromaBinary = 1;
    regPtr->compSyncEnable = 0;
    regPtr->encOff = 1;
    regPtr->idel = 1;
    fal = 18;   

    if(regPtr->inputFormat == SAA7105_IFMT_YCBCR422_NONEINTERLACED) {
        /* 54MHz input clock (input mode 3) */
        xInc = 0;
        regPtr->edge = 0;
        regPtr->slot = 1;
    } else if(regPtr->inputFormat == SAA7105_IFMT_YCBCR422_INTERLACED){
        /* 27MHz input clock (input mode 4) */
        xInc = 2048;
        regPtr->edge = 1;
        regPtr->slot = 0;
        regPtr->encOff = 0;
        regPtr->idel = 3;  
        regPtr->compSyncEnable = 0;
    } else if(regPtr->inputFormat == SAA7105_IFMT_RGB565) {
        xInc = 0;
        regPtr->edge = 1;
        regPtr->slot = 1;       
        regPtr->chromaBinary = 0;
    } else if(regPtr->inputFormat == SAA7105_IFMT_COLOR_INDEX) {
        /* input mode 5*/
        xInc = 0;
        regPtr->edge = 1;
        regPtr->slot = 0;       
        regPtr->lutDisable = 1;     
        loadLUT(NULL);
    }
                  
    if(displayType == SAA7105_MODE_PAL720) {
        regPtr->palEnable = 1;
        regPtr->fise = 0;
        regPtr->burstStart = 0x21;
        regPtr->burstEnd = 0x1d;
        regPtr->chromaPhase = 0x6b;
        regPtr->burstAmplitude = 0x2d;      
        regPtr->subCarrier0 = 0xCB;
        regPtr->subCarrier1 = 0x8A;
        regPtr->subCarrier2 = 0x09;
        regPtr->subCarrier3 = 0x2A;
        regPtr->hTriggerMSBs = 0;   
        regPtr->hTrigger = 2;   

        if(enableBT656Sync) {
            hStart = 280;
            xOffset = 0;
            regPtr->syncVia656 = 1;
            fal = 21;
            regPtr->vTrigger = 0;   
        }
        else {
            hStart = 284;
            regPtr->syncVia656 = 0;
            fal = 21;             
            regPtr->vTrigger = 2;   
        }        

        regPtr->lumaDelay = 0;  
        regPtr->cbGain = 0x7b;
        regPtr->crGain = 0xAe;

    } else if(displayType == SAA7105_MODE_NTSC720){
        regPtr->hTriggerMSBs = 0;   
        regPtr->hTrigger = 2;
        
        if(enableBT656Sync) {
            regPtr->vTrigNegative = 1;
            regPtr->vTrigger = 4;   
            fal = 13;
            activeLines += 3;
            xOffset = 0;
            regPtr->syncVia656 = 1;

        }
        else {
            regPtr->vTrigNegative = 0;
            regPtr->vTrigger = 0;   
            fal = 17;
            regPtr->syncVia656 = 0;
        }        
        regPtr->lumaDelay = 0;  
        regPtr->chromaPhase = 0x33;
        regPtr->burstAmplitude = 0x3F;
        regPtr->subCarrier0 = 0x1F;
        regPtr->subCarrier1 = 0x7C;
        regPtr->subCarrier2 = 0xF0;
        regPtr->subCarrier3 = 0x21;
        regPtr->cbGain = 0x7b;
        regPtr->crGain = 0xAe;
    }

    regPtr->hLen = hLen;
    regPtr->hLenMsb = hLen >>  8;
    regPtr->xInc = xInc;
    regPtr->xIncMsb = xInc >> 8;
    regPtr->yInc = yInc;
    regPtr->yIncMsb = yInc >> 8;
    regPtr->yIWGTO = yIWGTO;
    regPtr->yIWGTOMsb = yIWGTO >> 8;
    regPtr->yIWGTE = yIWGTE;
    regPtr->yIWGTEMsb = yIWGTE >> 8;
    regPtr->ySkip = ySkip;
    regPtr->ySkipMsb = ySkip >> 8;

    hEnd = hStart + (2 * activePixels);
    regPtr->hStart = hStart; 
    regPtr->hEnd = hEnd;
    regPtr->hStartMSB = hStart >> 8;
    regPtr->hEndMSB = hEnd >> 8;
    
    if(regPtr->inputFormat != SAA7105_IFMT_YCBCR422_INTERLACED){
        activePixels /= 2;
    }
    regPtr->xPix = activePixels;
    regPtr->xPixMsb = activePixels >> 8;
    regPtr->yPix = activeLines;
    regPtr->yPixMsb = activeLines >> 8; 
    

    lal = fal + activeLines;
    regPtr->fal = fal;
    regPtr->falMsb = fal >> 8;
    regPtr->lal = lal;
    regPtr->lalMsb = lal >> 8;

    regPtr->xOfs = xOffset;
    regPtr->xOfsMsb = xOffset >> 8;
    regPtr->yOfsOdd = yOffset;
    regPtr->yOfsOddMsb = yOffset >> 8;
    regPtr->yOfsEven = yOffset;
    regPtr->yOfsEvenMsb = yOffset >> 8; 

    charPtr = (Uint8 *)&_SAA7105_settingsDef;
    _IIC_write(hI2C, _SAA7105_IICADDR,1,&charPtr[1],0xA3);
    _IIC_write(hI2C, _SAA7105_IICADDR,0xfd,&charPtr[0xfd],1);

    *(volatile Uint8 *)(0x90080010) = 0x28; //reset OSD     

    if(displayType >= SAA7105_MODE_VGA){
        clearHDSyncEngine();
        loadHDSyncEngine(displayType);
        startHDSyncEngine(displayType);
        setOutputMode(SAA7105_AFMT_RGB);
        /* reset the DLL and configure it in approciate mode */
        if(inFormat != SAA7105_IFMT_COLOR_INDEX) {
            *(volatile Uint8 *)(0x90080010) &= ~0x08; // 16-bit mode
        }
        else {
            *(volatile Uint8 *)(0x90080010) |= 0x8; // 8-bit mode        
        }
    }else{
        setOutputMode(outMode);
        /* reset the DLL and configure it in approciate mode */
        *(volatile Uint8 *)(0x90080010) |= 0x8; // 8-bit mode
    }
    /* reset the DLL */
//    *(volatile Uint8 *)(0x90080010) |= 0x20; 
    for(i = 0; i < 200000; i ++);
    /* un-reset OSD DLL */
    *(volatile Uint8 *)(0x90080010) &= ~0x20; 
    for(i = 0; i < 200000; i ++);
//    while(!(*(volatile Uint8 *)(0x90080013) & 0x40));
}

 
/*
 * ======== startHDSyncEngine ========
 */

static void startHDSyncEngine(SAA7105_Mode displayType)
{
    _SAA7105_Regs *regPtr;
    Uint8 *charPtr;
        
    regPtr = &_SAA7105_settingsDef;
    regPtr->hdRGB_YCbCr = 0;
    regPtr->hdFullGain = 1;
    regPtr->hdTriggerPhaseY = 0;
    switch(displayType) {
        case SAA7105_MODE_VGA:
        regPtr->hdLineCounter = 2;
        regPtr->hdTriggerPhaseX = 12;
        break;
        case SAA7105_MODE_SVGA:
        regPtr->hdLineCounter = 4;
        regPtr->hdTriggerPhaseX = 12;
        break;
        case SAA7105_MODE_XGA:
        regPtr->hdLineCounter = 6;
        regPtr->hdTriggerPhaseX = 12;
        break;
        case SAA7105_MODE_HD1080I30F:
        regPtr->hdLineCounter = 2;
        regPtr->hdTriggerPhaseX = 0;
        regPtr->hdRGB_YCbCr = 1;
        regPtr->hdFullGain = 0;
        regPtr->hdTriggerPhaseY = 95;
        break;
        case SAA7105_MODE_HD480P60F:
        regPtr->hdLineCounter = 2;
        regPtr->hdTriggerPhaseX = 5;
        regPtr->hdRGB_YCbCr = 1; 
        regPtr->hdFullGain = 0;
        regPtr->hdTriggerPhaseY = 0;
        break;
        case SAA7105_MODE_HD720P60F:
        regPtr->hdLineCounter = 2;
        regPtr->hdTriggerPhaseX = 15;
        regPtr->hdRGB_YCbCr = 1;
        regPtr->hdFullGain = 0;
        regPtr->hdTriggerPhaseY = 0;
        break;

        default:
        regPtr->hdLineCounter = 2;
        regPtr->hdTriggerPhaseX = 5;
        regPtr->hdRGB_YCbCr = 1;
        regPtr->hdFullGain = 0;
        regPtr->hdTriggerPhaseY = 0;        
        break;
    }       
    
    regPtr->hdLineTypePtr = 0;
    regPtr->hdLinePatternPtr = 0;
    regPtr->hdDurationCtr = 0;
    regPtr->hdEventTypePtr = 0;
    regPtr->hdColorInterpolator = 1;
    regPtr->hdActive = 1;

    charPtr = (Uint8 *)&_SAA7105_settingsDef;
    _IIC_write(hI2C, _SAA7105_IICADDR,0xD4,&charPtr[0xD4],9);
    return;
}



/*
 * ======== SAA7105_close ========
 */
static Int SAA7105_close(EDC_Handle handle) 
{
    Int devId = (Int)handle;


    /*First Check if the Handle is correct */
    if(devId == _SAA7105_IICADDR) {
        /*Put _SAA7105 in power down mode */
        powerdownSAA7105(TRUE);
        return EDC_SUCCESS;    
    } else 
        return EDC_FAILED;
}

/*
 * ======== SAA7105_ctrl ========
 */
static Int SAA7105_ctrl(EDC_Handle handle, SAA7105_Cmd cmd, Arg param)
{
    Int devId = (Int)handle;


    /*First Check if the Handle is correct */
    if(devId != _SAA7105_IICADDR){
        return EDC_FAILED;        
    }
    switch(cmd) {
        case EDC_CONFIG: {
            SAA7105_ConfParams *saa7105Params = (SAA7105_ConfParams *)param;
            hI2C = saa7105Params->hI2C;
            configSAA7105(saa7105Params->mode, saa7105Params->enableSlaveMode, 
                saa7105Params->aFmt, saa7105Params->iFmt, saa7105Params->enableBT656Sync);
            setSAA7105SyncMode(saa7105Params->mode,
                saa7105Params->enableBT656Sync);
        }
        break;
        case EDC_RESET:
        resetSAA7105();
        break;
        case SAA7105_POWERDOWN:
        powerdownSAA7105(TRUE);
        break;                 
        case SAA7105_POWERUP:
        powerdownSAA7105(FALSE);
        break;
        case SAA7105_ENABLE_SLAVE_MODE:  
        enableSlaveMode((Bool)param);
        break;
        case SAA7105_ENABLE_COLORBAR:     
        enableColorBars((Bool)param);
        break;
        case SAA7105_LOAD_CURSOR:/* load hardware cursor */
        break;
        case SAA7105_LOAD_LUT: /* load look-up table */   
        loadLUT((SAA7105_LookUpTable *)param);
        break;
    }
    return EDC_SUCCESS;        
}


/*
 * ======== SAA7105_open ========
 */
static EDC_Handle SAA7105_open(String devName, Arg optArg)
{
    resetSAA7105();
    return (EDC_Handle)_SAA7105_IICADDR;
}




/**************************************************************************/
/* End of file                                                                            */
/**************************************************************************/

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产乱码久久久久久久 | 2020国产成人综合网| 久久久国产综合精品女国产盗摄| 亚洲精品免费一二三区| 蜜桃av一区二区三区电影| 成人的网站免费观看| 日韩欧美一区电影| 亚洲一区二区美女| 成人av网站在线| 日韩一级片网站| 亚洲一区二区三区激情| 成人午夜在线免费| 日韩女优毛片在线| 午夜免费久久看| 欧美主播一区二区三区美女| 中文字幕一区二区三| 国产主播一区二区三区| 欧美一二三在线| 亚洲第一成年网| 一本到三区不卡视频| 久久精品欧美一区二区三区麻豆| 亚洲成人一二三| 在线观看区一区二| 亚洲精品国产一区二区精华液| 粉嫩av一区二区三区在线播放| 欧美一卡二卡三卡| 日韩国产高清影视| 欧美美女黄视频| 日日骚欧美日韩| 在线电影一区二区三区| 亚洲18色成人| 6080午夜不卡| 日本伊人午夜精品| 日韩免费视频一区二区| 日本不卡高清视频| 91精品国产色综合久久久蜜香臀| 亚洲成人精品在线观看| 欧美日韩综合一区| 亚洲 欧美综合在线网络| 在线播放日韩导航| 另类小说综合欧美亚洲| 337p粉嫩大胆色噜噜噜噜亚洲| 激情深爱一区二区| 国产精品乱码人人做人人爱| 99视频热这里只有精品免费| 亚洲欧美视频在线观看视频| 在线一区二区视频| 天天综合天天做天天综合| 欧美男男青年gay1069videost | 欧美三级在线看| 亚洲444eee在线观看| 日韩欧美一区二区视频| 精品一区二区三区在线视频| 久久蜜臀精品av| 91玉足脚交白嫩脚丫在线播放| 樱桃视频在线观看一区| 欧美一区二区精品在线| 国内精品久久久久影院色| 欧美激情综合五月色丁香| 91香蕉视频污| 日韩和欧美一区二区| 欧美精品一区二区三区蜜桃视频 | 黄色小说综合网站| 国产精品不卡一区| 在线成人午夜影院| 国产91精品免费| 亚洲国产日韩综合久久精品| 久久久久久久免费视频了| 99精品久久99久久久久| 日本不卡的三区四区五区| 久久精品亚洲精品国产欧美kt∨| 99精品热视频| 成人在线综合网站| 青青草国产精品亚洲专区无| 中文字幕欧美激情一区| 欧美视频一区二区三区| 国产精品一区二区无线| 亚洲第一av色| 国产精品女主播在线观看| 欧美老肥妇做.爰bbww| 成人一区二区视频| 麻豆精品一区二区av白丝在线| 综合分类小说区另类春色亚洲小说欧美| 欧美在线一二三| av一区二区三区黑人| 国产真实精品久久二三区| 一区二区免费视频| 国产精品免费视频一区| 日韩欧美在线不卡| 欧美性极品少妇| 99久久精品一区| 国产精品一区二区三区99| 午夜欧美电影在线观看| 亚洲欧美一区二区三区孕妇| 国产亚洲综合色| 欧美一区二区在线播放| 欧美三区在线视频| 在线亚洲精品福利网址导航| 成人精品免费网站| 国产精品一线二线三线| 日欧美一区二区| 亚洲观看高清完整版在线观看| 1024成人网色www| 国产精品人成在线观看免费| 久久综合久久鬼色| 日韩精品一区二区三区视频| 欧美日韩国产不卡| 91黄色在线观看| 在线亚洲高清视频| 欧美在线一区二区| 欧美无砖专区一中文字| 97国产精品videossex| av亚洲产国偷v产偷v自拍| 大陆成人av片| www.欧美.com| 9i看片成人免费高清| 一本大道av一区二区在线播放| 成人一区二区三区在线观看| 99精品国产99久久久久久白柏| 99国产精品久久久久久久久久久| av亚洲产国偷v产偷v自拍| 99久久综合国产精品| 91丨porny丨户外露出| 91女厕偷拍女厕偷拍高清| 99精品视频在线播放观看| 在线观看视频一区二区欧美日韩| 欧美午夜不卡在线观看免费| 3751色影院一区二区三区| 日韩一级黄色大片| 国产亚洲欧美色| 亚洲免费在线视频一区 二区| 一区二区三区在线看| 午夜精品爽啪视频| 免费精品视频最新在线| 极品美女销魂一区二区三区免费| 国产一区福利在线| 99视频一区二区三区| 欧美日韩综合在线| 久久免费看少妇高潮| 亚洲欧美日韩一区二区三区在线观看| 一级女性全黄久久生活片免费| 日韩精品乱码免费| 国产精品一品二品| 欧美日韩一区二区三区四区| 欧美tickling网站挠脚心| 美女在线视频一区| 夜夜精品浪潮av一区二区三区 | 日韩欧美一二三区| 国产色产综合产在线视频| 一区二区三区在线影院| 欧美日韩在线观看一区二区| 欧美一二三区在线| 国产精品美女久久久久久久久| 亚洲国产成人91porn| 国产精品亚洲а∨天堂免在线| 色婷婷激情综合| 久久久99精品免费观看| 一区二区免费看| 国产成人h网站| 欧美喷潮久久久xxxxx| 国产欧美视频在线观看| 26uuu亚洲综合色| 国产a久久麻豆| 国产美女精品人人做人人爽| 色猫猫国产区一区二在线视频| 国产精品素人视频| 日韩欧美123| 亚洲天堂中文字幕| 韩日av一区二区| 欧美日韩精品电影| 国产精品第一页第二页第三页 | 亚洲欧美视频在线观看| 日本伊人精品一区二区三区观看方式 | 精品一区二区av| 欧美性受xxxx| 综合自拍亚洲综合图不卡区| 国模一区二区三区白浆| 欧美精品在线一区二区| 亚洲黄色免费网站| 波多野结衣亚洲| 亚洲国产精品ⅴa在线观看| 麻豆久久一区二区| 欧美精品三级在线观看| 亚洲蜜臀av乱码久久精品| 成人免费毛片app| 久久久久久99久久久精品网站| 毛片av中文字幕一区二区| 欧美一级在线视频| 午夜久久久影院| 欧美精品欧美精品系列| 亚洲电影视频在线| 欧美午夜精品理论片a级按摩| 一区二区三区精密机械公司| av福利精品导航| 中文字幕在线一区免费| 成人精品在线视频观看| 久久久久成人黄色影片| 国产制服丝袜一区| 国产亚洲一区二区三区在线观看| 久久成人18免费观看|