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

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

?? vportcap.c

?? 使用DM642 來進行scaling 有說明檔
?? C
?? 第 1 頁 / 共 3 頁
字號:
                EDMA_OPT_2DS_NO,
                EDMA_OPT_SUM_NONE,
                EDMA_OPT_2DD_YES,
                EDMA_OPT_DUM_INC,
                EDMA_OPT_TCINT_NO,
                EDMA_OPT_TCC_OF(0), 
                EDMA_OPT_TCCM_OF(0),
                EDMA_OPT_ATCINT_NO,    
                EDMA_OPT_ATCC_DEFAULT,
                EDMA_OPT_PDTS_DISABLE,
                EDMA_OPT_PDTD_DISABLE,
                EDMA_OPT_LINK_YES,
                EDMA_OPT_FS_NO
            );
    
            Int optFld2a = EDMA_OPT_RMK(
                params->edmaPri,
                EDMA_OPT_ESIZE_32BIT,
                EDMA_OPT_2DS_NO,
                EDMA_OPT_SUM_NONE,
                EDMA_OPT_2DD_YES,
                EDMA_OPT_DUM_INC,
                (i == 0 ? EDMA_OPT_TCINT_YES:EDMA_OPT_TCINT_NO),
                EDMA_OPT_TCC_OF(i == 0 ? chan->tcc[0] & 0x0f : 0), 
                EDMA_OPT_TCCM_OF(i == 0 ? chan->tcc[0] >> 4 : 0),
                EDMA_OPT_ATCINT_NO,    
                EDMA_OPT_ATCC_DEFAULT,
                EDMA_OPT_PDTS_DISABLE,
                EDMA_OPT_PDTD_DISABLE,
                EDMA_OPT_LINK_YES,
                EDMA_OPT_FS_NO
            );
            Int optFld2b = EDMA_OPT_RMK(
                params->edmaPri,
                EDMA_OPT_ESIZE_32BIT,
                EDMA_OPT_2DS_NO,
                EDMA_OPT_SUM_NONE,
                EDMA_OPT_2DD_YES,
                EDMA_OPT_DUM_INC,
                (i == 0 ? EDMA_OPT_TCINT_YES:EDMA_OPT_TCINT_NO),
                EDMA_OPT_TCC_OF(i == 0 ? chan->tcc[1] & 0x0f : 0), 
                EDMA_OPT_TCCM_OF(i == 0 ? chan->tcc[1] >> 4 : 0),
                EDMA_OPT_ATCINT_NO,    
                EDMA_OPT_ATCC_DEFAULT,
                EDMA_OPT_PDTS_DISABLE,
                EDMA_OPT_PDTD_DISABLE,
                EDMA_OPT_LINK_YES,
                EDMA_OPT_FS_NO
            );

            thrld = (i == 0) ? chan->yThrld : chan->cThrld;
            cfgEdma.src = EDMA_SRC_RMK(chan->edmaAddr[i]);
            if(chan->interlaced) {
                /* to merge the two fields together */
                /* EDMA is configured to transfer only field 1 initially */
                /* line pitch is twice the line size */
                /* this requires that the threlhold is the same as line size */
                
                /* first field */
                cfgEdma.cnt = 
                  EDMA_CNT_RMK((chan->numEventsFld1) - 1, (thrld << 1));
                if(chan->mergeFlds) {
                    cfgEdma.idx = EDMA_IDX_RMK(thrld << 4, 0);
                } else {
                    cfgEdma.idx = EDMA_IDX_RMK(thrld << 3, 0);                
                }
    
                /* hard code the first two frames as current and reload buffers */                
                /* first field */
                cfgEdma.rld = EDMA_RLD_RMK(0, chan->hRld[4 * i + 1]);
                cfgEdma.opt = optFld1;
                cfgEdma.dst = 
                  EDMA_DST_RMK(*((Int *)(&chan->viops[0].frame.iFrm.y1) + i));
                EDMA_config(chan->hEdma[i], &cfgEdma);
                EDMA_config(chan->hRld[4 * i], &cfgEdma); 
                cfgEdma.dst = 
                  EDMA_DST_RMK(*((Int *)(&chan->viops[1].frame.iFrm.y1) + i));
                cfgEdma.rld = EDMA_RLD_RMK(0, chan->hRld[4 * i + 3]);
                EDMA_config(chan->hRld[4 * i + 2], &cfgEdma);

                /* second field */
                cfgEdma.opt = optFld2a;
                cfgEdma.cnt = 
                  EDMA_CNT_RMK((chan->numEvents-chan->numEventsFld1) - 1, 
                   (thrld << 1));
                cfgEdma.dst = 
                  EDMA_DST_RMK(*((Int *)(&chan->viops[0].frame.iFrm.y2) + i));
                cfgEdma.rld = EDMA_RLD_RMK(0, chan->hRld[4 * i + 2]);
                EDMA_config(chan->hRld[4 * i + 1], &cfgEdma); 
                cfgEdma.opt = optFld2b;
                cfgEdma.dst = 
                  EDMA_DST_RMK(*((Int *)(&chan->viops[1].frame.iFrm.y2) + i));
                cfgEdma.rld = EDMA_RLD_RMK(0, chan->hRld[4 * i]);
                EDMA_config(chan->hRld[4 * i + 3], &cfgEdma);
                
            }else {/* if not interlaced capture, configure EDMA to transfer */
                   /* the whole frame. The line pitch is just the line size */
                cfgEdma.opt = optFld2a;
                cfgEdma.cnt = EDMA_CNT_RMK((chan->numEvents) - 1, (thrld << 1));
                cfgEdma.idx = EDMA_IDX_RMK(thrld << 3, 0);
                cfgEdma.rld = EDMA_RLD_RMK(0, chan->hRld[4 * i + 2]);
                /* hard code the first and second frame buffer as current  */
                /* and reload buffers */
                cfgEdma.dst = EDMA_DST_RMK(
                    *((Int *)(&chan->viops[0].frame.iFrm.y1) + i));
                EDMA_config(chan->hEdma[i], &cfgEdma);
                EDMA_config(chan->hRld[4 * i], &cfgEdma);

                cfgEdma.opt = optFld2b;
                cfgEdma.rld = EDMA_RLD_RMK(0, chan->hRld[4 * i]);
                cfgEdma.dst = EDMA_DST_RMK(
                    *((Int *)(&chan->viops[1].frame.iFrm.y1) + i));
                EDMA_config(chan->hRld[4 * i + 2], &cfgEdma);
            }
        }
        chan->nextEDMARlds = 1;        
        /* enable EDMA channel */
        /*
         * The EDMA interrupt dispatcher will be called by the
         * BIOS HWI interrupt dispatcher.
         */
        IRQ_map(IRQ_EVT_EDMAINT, params->irqId);
        HWI_dispatchPlug(params->irqId, (Fxn)EDMA_intDispatcher, -1, NULL);
        
        EDMA_intClear(chan->tcc[0]);
        EDMA_intHook(chan->tcc[0], captureEdmaISR);       
        EDMA_intEnable(chan->tcc[0]);
        EDMA_intClear(chan->tcc[1]);
        EDMA_intHook(chan->tcc[1], captureEdmaISR);       
        EDMA_intEnable(chan->tcc[1]);
        while(!(EDMA_CIERL & 0x30000));
        for(i = 0; i < _VPORT_NUM_EDMA_CHANS; i ++) {
            EDMA_disableChannel(chan->hEdma[i]);
            EDMA_clearChannel(chan->hEdma[i]);
            EDMA_enableChannel(chan->hEdma[i]);
        }    
        chan->status |= _VPORT_READY;
        IRQ_enable(IRQ_EVT_EDMAINT);
        
    }   
    return IOM_COMPLETED;

}

/*
 *  ======== _covrRecover ========
 *  force recover from FIFO over-run
 */
static Int _covrRecover(Ptr chanp)
{
    _VPORT_ChanObj* chan = (_VPORT_ChanObj* )chanp;
    PortObj* port = &portObjs[chan->portNum];
    volatile Int *base = (volatile Int *)port->base;
    volatile Int *cbase = (volatile Int *)chan->base;    
    Int numEvents;  
    volatile Int i;                                            

    /* disable over-run interrupt */
    base[_VP_VPIE_OFFSET] &= ~(_VP_VPIE_COVRA_MASK<<(chan->chanNum*16));
    /* block capture events */
    cbase[_VP_VCACTL_OFFSETA] |= _VP_VCACTL_BLKCAP_MASK;

    /* Disable the edmas before settings them up */
    EDMA_intDisable(chan->tcc[0]);
    EDMA_intDisable(chan->tcc[1]);
    for(i = 0; i < _VPORT_NUM_EDMA_CHANS; i ++) {
        EDMA_disableChannel(chan->hEdma[i]);
        EDMA_clearChannel(chan->hEdma[i]);
    }
    if(chan->mergeFlds) {
        numEvents = chan->numEventsFld1;        
    } else {
        numEvents = chan->numEvents;
    }

    /* set up DMA parameters again */
    EDMA_RSETH(chan->hEdma[0], DST, chan->curViop->frame.iFrm.y1);
    EDMA_RSETH(chan->hEdma[1], DST, chan->curViop->frame.iFrm.cb1);
    EDMA_RSETH(chan->hEdma[2], DST, chan->curViop->frame.iFrm.cr1);
    EDMA_RSETH(chan->hEdma[0], CNT, EDMA_CNT_RMK(numEvents - 1, 
        (chan->yThrld << 1)));
    EDMA_RSETH(chan->hEdma[1], CNT, EDMA_CNT_RMK(numEvents - 1, 
        (chan->cThrld << 1)));
    EDMA_RSETH(chan->hEdma[2], CNT, EDMA_CNT_RMK(numEvents - 1, 
        (chan->cThrld<<1)));

    /* enable the edma events again before settings them up */
    EDMA_intEnable(chan->tcc[0]);
    EDMA_intEnable(chan->tcc[1]);
    for(i = 0;i < 3;i ++) {
        EDMA_enableChannel(chan->hEdma[i]);
    }

    /* clear any pending over-run interrupt */
    if(chan->chanNum == 0) {
        base[_VP_VPIS_OFFSET] |= _VP_VPIS_COVRA_MASK;
    }else {
        base[_VP_VPIS_OFFSET] |= _VP_VPIS_COVRB_MASK;
    }    
    /* enable event generation */
    cbase[_VP_VCACTL_OFFSETA] &= ~(_VP_VCACTL_BLKCAP_MASK);

    /* enable over-run interrupt */
    base[_VP_VPIE_OFFSET] |= _VP_VPIE_COVRA_MASK << (chan->chanNum * 16);
    return IOM_COMPLETED;
}

/*
 *  ======== _getNumPendingIORqsts ========
 *  get number of frames in qIn
 */
static Int _getNumPendingIORqsts(Ptr chanp, Ptr args)
{
    _VPORT_ChanObj* chan = (_VPORT_ChanObj *)chanp;
    QUE_Handle nextElem = &chan->qIn;
    int i  = 0;
    while((nextElem = QUE_next(nextElem)) != &chan->qIn){
        i++;
    
    }
    if(chan->curViop != chan->nextViop) i++;
    *(int *)args = i;
    return IOM_COMPLETED;
}

/*
 *  ======== _setVIntCb ========
 *  setup video port interrupt call-back
 */
static Int _setVIntCb(Ptr chanp, Ptr args)
{      
    _VPORT_ChanObj* chan = (_VPORT_ChanObj* )chanp;
    PortObj* port = &portObjs[chan->portNum];
    volatile Int *base = (volatile Int *)port->base;
    volatile Int *cBase = (volatile Int *)chan->base;
    VPORT_VIntCbParams* vIntCbParams = (void *)args;
    Int mask = vIntCbParams->vIntMask;
    Uns vif2 = 0, vInt2 = 0, vif1 = 0, vInt1 = 0, fscl2 = 0;
    HWI_Attrs attrs = HWI_ATTRS;
    
    
    /* check to see if vertical interrupt is enabled */
    if(mask & VPORT_INT_VINT1) {
        vif1 = 1;
        vInt1 = vIntCbParams->vIntLine;
    }
    if(mask & VPORT_INT_VINT2) {
        vif2 = 1;
        vInt2 = vIntCbParams->vIntLine;    
    }
    fscl2 = vif2 & (~ vif1);
    /* setup vertical interrupt */
    cBase[_VP_VCAVINT_OFFSETA] = VP_VCAVINT_RMK(vif2,fscl2, 
        vInt2, vif1, vInt1);
    
    if(chan->chanNum == 1) {
        mask <<= 16;    /* channel B */
    }
    chan->vIntMask = mask;
    if(mask) {
        mask |= 1; /* turn on video port interrupt */
        attrs.arg = chan->portNum;
        IRQ_map(IRQ_EVT_VINT0 + chan->portNum, vIntCbParams->irqId);    
        HWI_dispatchPlug(vIntCbParams->irqId, (Fxn)captureISR, -1, &attrs);
        IRQ_disable(IRQ_EVT_VINT0 + chan->portNum);
        IRQ_clear(IRQ_EVT_VINT0 + chan->portNum);
    }
    base[_VP_VPIE_OFFSET] |= mask;  /* register write */    
    chan->vIntFxn = vIntCbParams->vIntCbFxn;    
    chan->vIntCbArg = vIntCbParams->cbArg;
    return IOM_COMPLETED;   
}      

/*
 *  ======== _startVPCapture ========
 *  start video port capture operation
 */
static Int _startVPCapture(Ptr chanp)
{
    _VPORT_ChanObj* chan = (_VPORT_ChanObj* )chanp;
    PortObj* port = &portObjs[chan->portNum];
    volatile Int *base = (volatile Int *)port->base;
    volatile Int *cbase = (volatile Int *)chan->base;    

    /* enable channel */
    cbase[_VP_VCACTL_OFFSETA] |= VP_VCACTL_VCEN_ENABLE << _VP_VCACTL_VCEN_SHIFT;

    /* clear the block capture event mask bit to enable */
    /* generating capture events                        */
    cbase[_VP_VCACTL_OFFSETA] &= ~ (_VP_VCACTL_BLKCAP_MASK);
      
    /* enable interrupt generation in video port level */
    base[_VP_VPIE_OFFSET] |= VP_VPIE_VIE_ENABLE << _VP_VPIE_VIE_SHIFT;
    base[_VP_VPIS_OFFSET] |= 0XFFFFFFFF;
    /* clear any pending video port interrupt */
    IRQ_clear(IRQ_EVT_VINT0 + chan->portNum);
    /* enable corresponding video port interrupt in chip-level*/
    IRQ_enable(IRQ_EVT_VINT0 + chan->portNum);
    
    return IOM_COMPLETED;
}

/*
 *  ======== _stopVPCapture ========
 *  stop video port capture operation
 */
static Int _stopVPCapture(Ptr chanp)
{
    _VPORT_ChanObj* chan = (_VPORT_ChanObj* )chanp;
    PortObj* port = &portObjs[chan->portNum];
    volatile Int *cbase = (volatile Int *)chan->base;    
    volatile Int *base = (volatile Int *)port->base;

    /* block events generation */
    cbase[_VP_VCACTL_OFFSETA] |= (_VP_VCACTL_BLKCAP_MASK);

    /* disable channel */
    cbase[_VP_VCACTL_OFFSETA] &= 
        ~ (VP_VCACTL_VCEN_ENABLE << _VP_VCACTL_VCEN_SHIFT);

    /* disable interrupt generation in video port level */
    base[_VP_VPIE_OFFSET] &= ~ (VP_VPIE_VIE_ENABLE << _VP_VPIE_VIE_SHIFT);
    base[_VP_VPIS_OFFSET] |= 0XFFFFFFFF;
    
    /* disble corresponding video port interrupt in chip-level*/
    IRQ_disable(IRQ_EVT_VINT0 + chan->portNum);

    /* clear any pending video port interrupt */
    IRQ_clear(IRQ_EVT_VINT0 + chan->portNum);
    
    EDMA_intDisable(chan->tcc[0]);
    EDMA_intClear(chan->tcc[0]);

    EDMA_intDisable(chan->tcc[1]);
    EDMA_intClear(chan->tcc[1]);

    return IOM_COMPLETED;
}



/*
 *  ======== captureISR ========
 */
static void captureISR(Int portNum)
{
    volatile Int *base =  
        (volatile Int *)portObjs[portNum].base;
    Int vpis = base[_VP_VPIS_OFFSET];
    Int mask = vpis;
    _VPORT_ChanObj* chanObjs = portObjs[portNum].chanObj;
        
    if(vpis & chanObjs[0].vIntMask && chanObjs[0].vIntFxn != INV) {
        chanObjs[0].vIntFxn(chanObjs[0].vIntCbArg, vpis);
        mask &=  chanObjs[0].vIntMask;
    }else if(vpis & chanObjs[1].vIntMask && chanObjs[1].vIntFxn != INV) {
        chanObjs[1].vIntFxn(chanObjs[1].vIntCbArg, (vpis >> 16));
        mask &=  chanObjs[1].vIntMask;
    }
    /* clear interrupts that has been handled */
    base[_VP_VPIS_OFFSET] |= mask;
}

static void _delay(Int delayTime)
{
    asm("loop1: BDEC loop1, A4");
    asm(" NOP 5");

}

static void _autoSync(_VPORT_ChanObj* chan) 
{
    volatile Int *cbase = (volatile Int *)chan->base;    
    volatile Int fid_stat = 
      (cbase[_VP_VCASTAT_OFFSETA] & _VP_VCASTAT_VCFLD_MASK) 
      >> _VP_VCASTAT_VCFLD_SHIFT;
    volatile Int ypos = 
     (cbase[_VP_VCASTAT_OFFSETA] & _VP_VCASTAT_VCYPOS_MASK) 
      >> _VP_VCASTAT_VCYPOS_SHIFT;
    Int offset = chan->nextEDMARlds << 1;



    if(chan->interlaced && ( fid_stat == 0 && ypos >= chan->numTotalLinesFld1
      || fid_stat == 1 && ypos <= chan->numLinesFld1)){
        /* Reconfig the EDMA to link to field 0 of the current transfer */
        EDMA_link(chan->hEdma[0], chan->hRld[offset]);
        EDMA_link(chan->hEdma[1], chan->hRld[offset+4]);
        EDMA_link(chan->hEdma[2], chan->hRld[offset+8]);
    } 
}




?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品乱码久久久久久久久 | 欧美变态口味重另类| 亚洲图片自拍偷拍| 欧美日韩中文字幕一区二区| 亚洲国产日韩精品| 欧美一区二区在线免费观看| 久久97超碰色| 国产精品久久久久久户外露出| 成人国产在线观看| 亚洲福利视频一区| 欧美第一区第二区| av在线一区二区| 午夜欧美在线一二页| 精品欧美乱码久久久久久1区2区| 国产福利精品一区| 一区二区三区毛片| 精品国产免费一区二区三区四区| 成人一区在线看| 亚洲国产成人91porn| 精品99999| 欧美这里有精品| 九九久久精品视频| 亚洲激情网站免费观看| 日韩精品最新网址| 成人av在线网站| 男女性色大片免费观看一区二区| 国产人妖乱国产精品人妖| 色网综合在线观看| 狠狠色丁香久久婷婷综| 亚洲免费资源在线播放| 久久亚洲精精品中文字幕早川悠里| hitomi一区二区三区精品| 日韩高清一区在线| 亚洲欧洲日韩综合一区二区| 777色狠狠一区二区三区| 高清成人在线观看| 日本vs亚洲vs韩国一区三区| 中文av一区二区| 91精品国产麻豆国产自产在线 | 美女脱光内衣内裤视频久久影院| 欧美激情资源网| 欧美一区二区观看视频| 91麻豆免费在线观看| 国模套图日韩精品一区二区| 午夜精品视频在线观看| 国产精品麻豆视频| 久久综合精品国产一区二区三区| 欧美专区日韩专区| 99riav久久精品riav| 捆绑调教美女网站视频一区| 香蕉久久夜色精品国产使用方法 | 国内精品第一页| 日韩一区精品视频| 一区二区三区成人在线视频| 欧美激情一区二区| 久久中文娱乐网| 制服.丝袜.亚洲.另类.中文 | 不卡的看片网站| 国产一区二区三区在线观看免费视频 | 中文字幕日韩一区| 国产欧美一区二区三区鸳鸯浴| 6080日韩午夜伦伦午夜伦| 欧日韩精品视频| 色综合久久天天| 色综合久久六月婷婷中文字幕| 成人免费毛片a| 不卡的看片网站| 成av人片一区二区| 99精品视频一区二区三区| 成人国产精品免费观看动漫| 成人手机电影网| 成年人国产精品| 91麻豆国产精品久久| 99国产精品久久久| 欧洲亚洲国产日韩| 欧美日本韩国一区| 日韩亚洲欧美综合| 精品国产一区二区三区av性色| 欧美成人在线直播| 久久久国产午夜精品| 国产色爱av资源综合区| 国产女人18毛片水真多成人如厕| 久久网站最新地址| 国产精品美女www爽爽爽| 中文字幕亚洲一区二区av在线 | 成人小视频在线| 91丨九色porny丨蝌蚪| 91国偷自产一区二区使用方法| 91欧美一区二区| 欧美无乱码久久久免费午夜一区 | 久久久综合视频| 日本一二三不卡| 亚洲精品中文字幕乱码三区| 亚洲国产一区二区a毛片| 日本欧美在线看| 国产一区福利在线| 94-欧美-setu| 欧美伦理电影网| 久久综合久久综合久久| 国产精品视频观看| 性感美女久久精品| 国产一区二区三区av电影 | 欧美日韩日日夜夜| 精品奇米国产一区二区三区| 中文字幕+乱码+中文字幕一区| 一区二区三区产品免费精品久久75| 亚洲高清视频在线| 国产精品综合一区二区| 91视频.com| 日韩免费高清视频| 亚洲日本一区二区| 美女在线一区二区| 一本色道久久综合精品竹菊| 日韩一区二区三区观看| 国产精品传媒入口麻豆| 五月天一区二区| 成人av综合一区| 69堂亚洲精品首页| 国产精品激情偷乱一区二区∴| 午夜激情综合网| 夫妻av一区二区| 欧美一区二区三区播放老司机| 中文字幕亚洲成人| 精品一区二区免费| 精品视频资源站| 国产精品视频免费| 极品少妇xxxx精品少妇| 欧美亚一区二区| 欧美国产精品一区二区| 日本aⅴ亚洲精品中文乱码| 94-欧美-setu| 亚洲国产精品成人久久综合一区| 午夜精品在线看| 91福利精品视频| 国产精品欧美久久久久一区二区| 青青青爽久久午夜综合久久午夜| 99精品视频在线播放观看| 久久久国产综合精品女国产盗摄| 日韩高清国产一区在线| 在线精品视频免费播放| 亚洲国产高清aⅴ视频| 国内精品在线播放| 3d动漫精品啪啪一区二区竹菊| **欧美大码日韩| www.久久久久久久久| 久久久精品国产免大香伊| 久久不见久久见免费视频7| 欧美巨大另类极品videosbest | 国产毛片精品视频| 日韩欧美精品在线视频| 亚洲高清一区二区三区| 色老头久久综合| 亚洲丝袜另类动漫二区| 9i看片成人免费高清| 国产性天天综合网| 国产剧情av麻豆香蕉精品| 精品国产一区二区在线观看| 免费美女久久99| 日韩欧美激情在线| 久久99这里只有精品| 在线不卡的av| 日韩高清一区二区| 91精品在线麻豆| 日本欧美一区二区三区乱码| 91精品视频网| 久久99久久久久久久久久久| 日韩视频一区二区三区| 麻豆国产欧美一区二区三区| 精品欧美一区二区在线观看| 国模冰冰炮一区二区| 国产日韩精品一区二区三区| 国产99久久久国产精品| 国产精品国产三级国产普通话蜜臀 | 久久免费视频色| 国产乱淫av一区二区三区 | 99久久久无码国产精品| 国产精品美日韩| 色婷婷综合中文久久一本| 一区二区视频在线| 欧美成人aa大片| 国产在线视视频有精品| 国产色产综合产在线视频| 99re6这里只有精品视频在线观看| 国产精品色哟哟网站| 91免费小视频| 午夜视频久久久久久| 精品国产免费人成在线观看| 国产**成人网毛片九色| 亚洲自拍欧美精品| 91精品国产高清一区二区三区蜜臀 | 欧美一级在线视频| 国产在线播放一区三区四| 中文字幕在线一区二区三区| 色网综合在线观看| 免费久久精品视频| 中文字幕一区日韩精品欧美| 欧美丝袜自拍制服另类| 国内成人自拍视频| 亚洲综合色视频| 久久久高清一区二区三区|