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

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

?? video_loopback.c

?? DM643開發板字符疊加功能實現代碼
?? C
字號:
/*
 *  Copyright 2004 by Texas Instruments Incorporated.
 *  All rights reserved. Property of Texas Instruments Incorporated.
 *  Restricted rights to use, duplicate or disclose this code are
 *  granted through contract.
 *  
 */
#include <std.h>
#include <tsk.h>  
#include <sem.h>   
#include <gio.h>

#include <csl_dat.h>
#include <csl_cache.h>


#include <fvid.h>
#include <edc.h>
#include <vport.h>
#include <vportcap.h>
#include <vportdis.h>
#include <saa7105.h>
#include <tvp51xx.h>    

#include <DEC643.h>    
#include <evmdm642_capParamsSDTVDefault.h>
#include <evmdm642_disParamsSDTVDefault.h>
#include <evmdm642_disParamsHDTVDefault.h>


VPORT_PortParams EVMDM642_vCapParamsPort 
  = EVMDM642_CAP_PARAMS_PORT_EMBEDDED_DEFAULT;


#if defined _PAL
static VPORTCAP_Params EVMDM642_vCapParamsChan 
  = EVMDM642_CAP_PARAMS_CHAN_EMBEDDED_DEFAULT(PAL720);

static TVP51XX_ConfParams EVMDM642_vCapParamsTVP5146 
  = EVMDM642_CAP_PARAMS_TVP51XX_EMBEDDED_DEFAULT(NTSC601, COMPOSITE, 0);

static VPORTDIS_Params EVMDM642_vDisParamsChan 
  = EVMDM642_DIS_PARAMS_CHAN_BT656_DEFAULT(PAL);

static SAA7105_ConfParams EVMDM642_vDisParamsSAA7105 
  = EVMDM642_DIS_PARAMS_SAA7105_SDTV_DEFAULT(PAL720, SVIDEO);

#else 

static VPORTCAP_Params EVMDM642_vCapParamsChan 
  = EVMDM642_CAP_PARAMS_CHAN_EMBEDDED_DEFAULT(NTSC720);

static TVP51XX_ConfParams EVMDM642_vCapParamsTVP5146 
  = EVMDM642_CAP_PARAMS_TVP51XX_EMBEDDED_DEFAULT(PAL601, COMPOSITE, 0);

#if defined _HD480P
static VPORTDIS_Params EVMDM642_vDisParamsChan 
  = EVMDM642_DIS_PARAMS_CHAN_YCBCR_DEFAULT(HD480P60F);

static SAA7105_ConfParams EVMDM642_vDisParamsSAA7105 
  = EVMDM642_DIS_PARAMS_SAA7105_HDTV_DEFAULT(HD480P60F);

#elif defined _HD720P
static VPORTDIS_Params EVMDM642_vDisParamsChan 
  = EVMDM642_DIS_PARAMS_CHAN_YCBCR_DEFAULT(HD720P60F);

static SAA7105_ConfParams EVMDM642_vDisParamsSAA7105 
  = EVMDM642_DIS_PARAMS_SAA7105_HDTV_DEFAULT(HD720P60F);

#elif defined _HD1080I
static VPORTDIS_Params EVMDM642_vDisParamsChan 
  = EVMDM642_DIS_PARAMS_CHAN_YCBCR_DEFAULT(HD1080I30F);

static SAA7105_ConfParams EVMDM642_vDisParamsSAA7105 
  = EVMDM642_DIS_PARAMS_SAA7105_HDTV_DEFAULT(HD1080I30F);

#elif defined _NTSC
static VPORTDIS_Params EVMDM642_vDisParamsChan 
  = EVMDM642_DIS_PARAMS_CHAN_BT656_DEFAULT(NTSC);

static SAA7105_ConfParams EVMDM642_vDisParamsSAA7105 
  = EVMDM642_DIS_PARAMS_SAA7105_SDTV_DEFAULT(NTSC720, SVIDEO);
#endif

#endif

VPORT_PortParams EVMDM642_vDisParamsPort = {
    FALSE,                      /*  enableDualChan;     */ 
    VPORT_POLARITY_ACTIVE_HIGH, /* vport control pin 1 polarity    */
    VPORT_POLARITY_ACTIVE_HIGH, /* vport control pin 2 polarity    */
    VPORT_POLARITY_ACTIVE_LOW, /* vport control pin 3 polarity    */
    &SAA7105_Fxns,
    INV,
};    



/* heap IDs defined in the BIOS configuration file */
extern Int EXTERNALHEAP;


/*
 * ======== main ========
 */
main()
{
    /******************************************************/
    /* open CSL DAT module for fast copy                  */
    /******************************************************/
    CSL_init();                                             
    CACHE_clean(CACHE_L2ALL, 0, 0);
    CACHE_setL2Mode(CACHE_256KCACHE);       
    CACHE_enableCaching(CACHE_EMIFA_CE00);
    CACHE_enableCaching(CACHE_EMIFA_CE01);
    DAT_open(DAT_CHAANY, DAT_PRI_LOW, DAT_OPEN_2D);

}
extern void tskOSD();
/*
 * ======== tskVideoLoopback ========
 * video loopback function.
 */
void tskVideoLoopback()
{
    Int status;
    FVID_Handle disChan; 
    Int frames = 0;
    FVID_Frame *disFrameBuf;
    Int numLinesDis = EVMDM642_vDisParamsChan.imgVSizeFld1;
    Int numLinesCap = EVMDM642_vCapParamsChan.fldYStop1 -
       EVMDM642_vCapParamsChan.fldYStrt1+1;

    
    Int numLines = (numLinesDis > numLinesCap) ? numLinesCap : numLinesDis;

    Int i;
    FVID_Handle capChan; 
    Int numPixels = EVMDM642_vCapParamsChan.fldXStop1 - 
       EVMDM642_vCapParamsChan.fldXStrt1+1;
    FVID_Frame *capFrameBuf;
    Int capLinePitch = EVMDM642_vCapParamsChan.fldXStop1 - 
       EVMDM642_vCapParamsChan.fldXStrt1+1;
    Int disLinePitch = EVMDM642_vDisParamsChan.imgHSizeFld1;

    numLines *= 2; /* both fields */
    /******************************************************/
    /* allocate both capture and display frame buffers    */
    /* in external heap memory                            */
    /******************************************************/
    EVMDM642_vCapParamsChan.segId = EXTERNALHEAP;
    EVMDM642_vDisParamsChan.segId = EXTERNALHEAP;
    EVMDM642_vDisParamsSAA7105.hI2C = DEC643_I2C_hI2C;
    EVMDM642_vCapParamsTVP5146.hI2C = DEC643_I2C_hI2C;

    /******************************************************/
    /* Modify display parameters to work with OSD FPGA    */
    /******************************************************/
    EVMDM642_vDisParamsChan.vctl3Config = VPORTDIS_VCTL3_CBLNK;
    
    /******************************************************/
    /* initialization of capture driver                   */
    /******************************************************/
    capChan = FVID_create("/VP1CAPTURE/A/1", 
            IOM_INPUT, &status, (Ptr)&EVMDM642_vCapParamsChan, NULL);

    /******************************************************/
    /* initialization of display driver                   */
    /******************************************************/
    disChan = FVID_create("/VP2DISPLAY", IOM_OUTPUT, 
        &status, (Ptr)&EVMDM642_vDisParamsChan, NULL);

    
    /******************************************************/
    /* configure video encoder & decoder                  */
    /******************************************************/
    FVID_control(disChan, VPORT_CMD_EDC_BASE + EDC_CONFIG, 
        (Ptr)&EVMDM642_vDisParamsSAA7105);
    FVID_control(capChan, VPORT_CMD_EDC_BASE + EDC_CONFIG, 
        (Ptr)&EVMDM642_vCapParamsTVP5146);


    /******************************************************/
    /* start capture & display operation                  */    
    /******************************************************/
    FVID_control(disChan, VPORT_CMD_START, NULL);
    FVID_control(capChan, VPORT_CMD_START, NULL);
    

    /* Now that capture & display are going, start OSD task */
    TSK_create((Fxn)&tskOSD, &TSK_ATTRS);

    /********************************************************/
    /* request a frame buffer from display & capture driver */
    /********************************************************/
    FVID_alloc(capChan, &capFrameBuf);
    FVID_alloc(disChan, &disFrameBuf);
    frames ++;

    while(1){/* loop forever */
        /* copy data from capture buffer to display buffer */
        /***************************************************/

        for(i = 0; i < numLines; i ++) {
            DAT_copy(capFrameBuf->frame.iFrm.y1 + i * capLinePitch, 
                     disFrameBuf->frame.iFrm.y1 + i * disLinePitch,
                     numPixels);
            DAT_copy(capFrameBuf->frame.iFrm.cb1 + i * (capLinePitch >> 1), 
                     disFrameBuf->frame.iFrm.cb1 + i * (disLinePitch >> 1),
                     numPixels>>1);

            DAT_copy(capFrameBuf->frame.iFrm.cr1 + i * (capLinePitch >> 1), 
                     disFrameBuf->frame.iFrm.cr1 + i * (disLinePitch >> 1),
                     numPixels>>1);
        }
        FVID_exchange(capChan, &capFrameBuf);
        FVID_exchange(disChan, &disFrameBuf);
        
        frames ++;              
   }
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久97国产精华液好用吗| 白白色 亚洲乱淫| 洋洋成人永久网站入口| 国产精品国产成人国产三级| 久久久777精品电影网影网 | 国产成人免费在线| 韩国成人在线视频| 国产毛片精品国产一区二区三区| 久久99国产精品免费网站| 久久国产精品区| 国产一区二区三区免费观看| 国产激情一区二区三区| 国产999精品久久久久久绿帽| 国产大片一区二区| 成人福利视频网站| 91行情网站电视在线观看高清版| 99久久久久免费精品国产 | 一区二区三区免费看视频| 日韩一区在线播放| 亚洲国产日韩一级| 蜜臀av在线播放一区二区三区| 久草精品在线观看| 成人av在线电影| 欧美亚洲综合久久| 亚洲色图另类专区| 日韩电影在线免费看| 国内精品伊人久久久久影院对白| 成人激情免费视频| 欧洲精品一区二区| 欧美tickle裸体挠脚心vk| 欧美国产禁国产网站cc| 一区二区三区丝袜| 奇米一区二区三区| 成人黄色电影在线| 欧美二区乱c少妇| 久久一日本道色综合| 亚洲日本一区二区| 久久99精品网久久| 在线欧美日韩国产| 国产亚洲精品aa| 亚洲国产精品欧美一二99| 久久99日本精品| 在线亚洲欧美专区二区| 亚洲精品一区二区三区香蕉| 亚洲精品国产成人久久av盗摄| 美国毛片一区二区三区| 91在线你懂得| 欧美精品一区二区三区很污很色的 | 久久久久久麻豆| 一区二区三区高清| 风间由美一区二区三区在线观看| 欧美性videosxxxxx| 国产亚洲一二三区| 蜜乳av一区二区| 欧美午夜精品电影| 亚洲欧美综合另类在线卡通| 欧美午夜精品一区| 国产午夜精品久久久久久久| 日韩激情一二三区| 在线一区二区三区四区| 国产欧美精品一区二区色综合朱莉 | 国产麻豆精品95视频| 欧美乱妇23p| 亚洲精品国产a久久久久久| 国产精品99久久不卡二区| 欧美一区二区三区四区高清 | 欧美优质美女网站| 一区在线观看视频| av不卡一区二区三区| 欧美极品少妇xxxxⅹ高跟鞋 | 丰满放荡岳乱妇91ww| 精品久久人人做人人爱| 日本不卡高清视频| 91精品久久久久久久99蜜桃 | 久久日一线二线三线suv| 美女在线视频一区| 日韩欧美中文字幕一区| 免费人成网站在线观看欧美高清| 欧美精品1区2区3区| 午夜欧美在线一二页| 欧美日韩你懂的| av不卡免费电影| 一区二区三区在线看| 日本高清不卡视频| 亚洲午夜视频在线观看| 在线播放91灌醉迷j高跟美女| 亚洲精品免费在线| 91麻豆福利精品推荐| 亚洲一线二线三线久久久| 欧美色爱综合网| 秋霞午夜av一区二区三区| 日韩欧美国产一二三区| 国产麻豆精品一区二区| 欧美国产精品中文字幕| 91丨九色丨蝌蚪富婆spa| 亚洲综合一区二区三区| 在线播放亚洲一区| 国产激情一区二区三区桃花岛亚洲 | 欧美主播一区二区三区| 肉色丝袜一区二区| 久久综合九色欧美综合狠狠| 成人免费高清视频在线观看| 亚洲综合在线五月| 日韩欧美一级特黄在线播放| 国产成a人亚洲精| 亚洲精品成人精品456| 3atv在线一区二区三区| 国产一区二区三区久久久| 亚洲欧美视频在线观看视频| 在线播放一区二区三区| 国产**成人网毛片九色| 亚洲成在线观看| 午夜精品成人在线视频| 精品精品欲导航| 91久久精品国产91性色tv| 麻豆成人av在线| 亚洲欧美激情视频在线观看一区二区三区| 欧美日韩一区二区三区四区| 国产精品自拍av| 五月天丁香久久| 国产精品的网站| 精品久久久三级丝袜| 欧美在线啊v一区| 成人av在线资源网站| 麻豆高清免费国产一区| 亚洲女人****多毛耸耸8| 26uuu久久天堂性欧美| 欧美日韩第一区日日骚| 成人免费视频免费观看| 奇米精品一区二区三区在线观看| 国产精品国产三级国产aⅴ入口| 欧美一区二区三区日韩| 色综合久久久网| av一区二区不卡| 国产一区二区三区在线观看免费 | 亚洲午夜激情av| 国产精品久久久久7777按摩| 日韩免费观看高清完整版| 在线观看视频91| 99精品国产91久久久久久| 国产一区二区福利| 麻豆成人免费电影| 日本乱码高清不卡字幕| 国产成人亚洲综合a∨婷婷图片| 国产精品18久久久久久vr| 人人精品人人爱| 亚洲免费资源在线播放| 中文字幕的久久| 国产人伦精品一区二区| xnxx国产精品| 日韩精品中午字幕| 日韩欧美一区二区久久婷婷| 777欧美精品| 91精品婷婷国产综合久久竹菊| 欧美影片第一页| 在线观看免费亚洲| 91女人视频在线观看| 91美女在线看| 色噜噜久久综合| 欧美色爱综合网| 欧美一区二区视频在线观看2020| 欧美日韩高清一区二区不卡| 欧美日韩一区在线| 欧美放荡的少妇| 日韩欧美成人午夜| 久久久综合网站| 国产欧美中文在线| 亚洲色图清纯唯美| 亚洲最新视频在线播放| 亚洲国产精品一区二区www在线| 亚洲国产一区视频| 青青草视频一区| 国产一区欧美二区| www.亚洲精品| 91成人免费电影| 欧美一区二区三区白人| 久久伊99综合婷婷久久伊| 中日韩免费视频中文字幕| 亚洲视频一区二区在线| 亚洲第一福利视频在线| 激情六月婷婷久久| 99久久伊人久久99| 欧美日韩精品一区二区| 欧美哺乳videos| 《视频一区视频二区| 性做久久久久久免费观看| 另类调教123区 | 国产欧美日韩三区| 亚洲国产一区二区在线播放| 久久97超碰色| 色婷婷精品大视频在线蜜桃视频| 欧美浪妇xxxx高跟鞋交| 久久久精品黄色| 亚洲一区二区在线视频| 久久99热这里只有精品| 在线免费观看成人短视频| 天堂成人免费av电影一区| 国产美女精品人人做人人爽| 欧洲精品视频在线观看| 久久久噜噜噜久久中文字幕色伊伊 |