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

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

?? w_interface.c

?? bu1566dsp芯片用來處理ov7660或其他30萬攝像模組的圖像預覽.圖像拍照(jpeg壓縮)
?? C
?? 第 1 頁 / 共 2 頁
字號:
#define _W_INTERFACE_C_

#include "BUxx_aDSC.h"
#include "BUxx_Sample.h"
#include "W_Interface.h"

#ifdef _BU1563API_INTERFACE_
void fObjectInit(void)
{
    UINT16 i;

    gv_SetMaxNum = sizeof(cBase) / sizeof(cBase[0]);
		
    for (i = 0; i < gv_SetMaxNum; i++)
    {
        cBase[i]->fInit(cBase[i]);
    }
		
    gv_VideoData.p_u16JpgCode = gl_pJpegMem_Buf;
}

void fPreSizeInit(c_SetBase * p_cBaseSet)
{
    UINT16 i;
    c_PreSizeSet *p_cPreSizeSet = (c_PreSizeSet *) p_cBaseSet;
    p_cPreSizeSet->v_Set.u16MaxNum = sizeof(cPreSizeItem) / sizeof(cPreSizeItem[0]);

	for(i=0;i<p_cPreSizeSet->v_Set.u16MaxNum;i++)
	{
	    cPreSizeItem[i].m_pcamera->mst_x = cPreSizeItem[i].m_pwindow->st_x;
	    cPreSizeItem[i].m_pcamera->mst_y = cPreSizeItem[i].m_pwindow->st_y;
	    cPreSizeItem[i].m_pcamera->cst_x =
	        (cPreSizeItem[i].m_pcamera->srkx - cPreSizeItem[i].m_pcamera->xsize) / 2;
	    cPreSizeItem[i].m_pcamera->cst_y =
	        (cPreSizeItem[i].m_pcamera->srky - cPreSizeItem[i].m_pcamera->ysize) / 2;

	    if (cPreSizeItem[i].m_pcamera->rot_h_vflip & sROT_ON)
	    {
	        if (cPreSizeItem[i].m_pcamera->cst_y % 2)
	            cPreSizeItem[i].m_pcamera->cst_y++;
	    }
	    else
	    {
	        if (cPreSizeItem[i].m_pcamera->cst_x % 2)
	            cPreSizeItem[i].m_pcamera->cst_x++;
	    }
	}

}

void fFilterInit(c_SetBase * p_cBaseSet)
{
    c_FilterSet *p_cFilterSet = (c_FilterSet *) p_cBaseSet;
    p_cFilterSet->v_Set.u16MaxNum = sizeof(cFilterItem) / sizeof(cFilterItem[0]);
}

void fOvlInit(c_SetBase * p_cBaseSet)
{
    c_OvlSet *p_cOvlSet = (c_OvlSet *) p_cBaseSet;
    p_cOvlSet->v_Set.u16MaxNum = sizeof(cOvlItem) / sizeof(cOvlItem[0]);
}

void fJpgQualityInit(c_SetBase * p_cBaseSet)
{
    c_JpgQualitySet *p_cJpgQualitySet = (c_JpgQualitySet *) p_cBaseSet;
    p_cJpgQualitySet->v_Set.u16MaxNum = sizeof(cJpgQualityItem) / sizeof(cJpgQualityItem[0]);
}

void fJpgFuncInit(c_SetBase * p_cBaseSet)
{
    c_JpgFuncSet *p_cJpgFuncSet = (c_JpgFuncSet *) p_cBaseSet;
    p_cJpgFuncSet->v_Set.u16MaxNum = sizeof(cJpgFuncItem) / sizeof(cJpgFuncItem[0]);
}

void fJpgEncSizeInit(c_SetBase * p_cBaseSet)
{
    c_JpgEncSizeSet *p_cJpgEncSizeSet = (c_JpgEncSizeSet *) p_cBaseSet;
    p_cJpgEncSizeSet->v_Set.u16MaxNum = sizeof(cJpgEncSizeItem) / sizeof(cJpgEncSizeItem[0]);
}

void fJpgDecSizeInit(c_SetBase * p_cBaseSet)
{
    c_JpgDecSizeSet *p_cJpgDecSizeSet = (c_JpgDecSizeSet *) p_cBaseSet;
    p_cJpgDecSizeSet->v_Set.u16MaxNum = sizeof(cJpgDecSizeItem) / sizeof(cJpgDecSizeItem[0]);
}

//-----------------------------------------------------------------------------
//                                                             
//-----------------------------------------------------------------------------
void fPreSizeSet(c_SetBase * p_cBaseSet)
{
    c_PreSizeSet *p_PreSizeSet = (c_PreSizeSet *) p_cBaseSet;
    c_PreSizeItem *p_PreSizeItem =
        (c_PreSizeItem *) (p_PreSizeSet->p_PreSize + p_PreSizeSet->v_Set.u16CurIndex);

    gv_VideoData.p_Window = p_PreSizeItem->m_pwindow;
    gv_VideoData.p_Camera = p_PreSizeItem->m_pcamera;
    gv_VideoData.p_Item = &p_PreSizeItem->v_Item;
}

void fFilterSet(c_SetBase * p_cBaseSet)
{
    c_FilterSet *p_FilterSet = (c_FilterSet *) p_cBaseSet;
    c_FilterItem *p_FilterItem = 
		(c_FilterItem*)(p_FilterSet->p_Filter + p_FilterSet->v_Set.u16CurIndex);

    gv_VideoData.u16Filter=p_FilterItem->u16Filter;
    gv_VideoData.p_Item=&p_FilterItem->v_Item;
}

void fOvlSet(c_SetBase * p_cBaseSet)
{
    c_OvlSet *p_OvlSet = (c_OvlSet *) p_cBaseSet;
    c_OvlItem *p_OvlItem = 
		(c_OvlItem *) (p_OvlSet->p_Overlay + p_OvlSet->v_Set.u16CurIndex);

    gv_VideoData.p_Overlay = p_OvlItem->p_Overlay;
    gv_VideoData.p_Item = &p_OvlItem->v_Item;
}

void fJpgQualitySet(c_SetBase * p_cBaseSet)
{
    c_JpgQualitySet *p_JpgQualitySet = (c_JpgQualitySet *) p_cBaseSet;
    c_JpgQualityItem *p_JpgQualityItem = 
		(c_JpgQualityItem *) (p_JpgQualitySet->p_Quality + p_JpgQualitySet->v_Set.u16CurIndex);

    gv_VideoData.u16JpgQuality = p_JpgQualityItem->u16JpgQuality;
    gv_VideoData.p_Item = &p_JpgQualityItem->v_Item;
}

void fJpgFuncSet(c_SetBase * p_cBaseSet)
{
    c_JpgFuncSet *p_JpgFuncSet = (c_JpgFuncSet *) p_cBaseSet;
    c_JpgFuncItem *p_JpgFuncItem = 
		(c_JpgFuncItem *) (p_JpgFuncSet->p_Func + p_JpgFuncSet->v_Set.u16CurIndex);

    gv_VideoData.u16JpgFunc = p_JpgFuncItem->u16JpgFunc;
    gv_VideoData.p_Item = &p_JpgFuncItem->v_Item;
}

void fJpgEncSizeSet(c_SetBase * p_cBaseSet)
{
    c_JpgEncSizeSet *p_JpgEncSizeSet = (c_JpgEncSizeSet *) p_cBaseSet;
    c_JpgEncSizeItem *p_JpgEncSizeItem = 
		(c_JpgEncSizeItem *) (p_JpgEncSizeSet->p_EncSize + p_JpgEncSizeSet->v_Set.u16CurIndex);

    gv_VideoData.p_EncSize = p_JpgEncSizeItem->p_EncSize;
    gv_VideoData.p_Item = &p_JpgEncSizeItem->v_Item;
}

void fJpgDecSizeSet(c_SetBase * p_cBaseSet)
{
    c_JpgDecSizeSet *p_JpgDecSizeSet = (c_JpgDecSizeSet *) p_cBaseSet;
    c_JpgDecSizeItem *p_JpgDecSizeItem =
		(c_JpgDecSizeItem *) (p_JpgDecSizeSet->p_DecSize + p_JpgDecSizeSet->v_Set.u16CurIndex);

    gv_VideoData.p_DecSize = p_JpgDecSizeItem->p_DecSize;
    gv_VideoData.p_Item = &p_JpgDecSizeItem->v_Item;
}

void fPreview(void)
{
    aDSC_fmemory_clear(0, 0, M_LCD_WSIZE, M_LCD_HSIZE, 0x0000);
    aDSC_overlayframe_off();

    if (gv_VideoData.p_Overlay->u16OvlOpen)
    {
        aDSC_fmemory_write_rgb565(gv_VideoData.p_Overlay->u16OvlData,
                                  gv_VideoData.p_Overlay->st_x, gv_VideoData.p_Overlay->st_y);
//        aDSC_maskmemory_write(gv_VideoData.p_Overlay->xsize, gv_VideoData.p_Overlay->ysize);
        aDSC_overlayframe_on();
    }

    fFillExOvlMirror(gv_VideoData.p_Item);
    aDSC_data_trans_st(0, 0, M_LCD_WSIZE, M_LCD_HSIZE);

    sFilterSet(gv_VideoData.u16Filter);

    aDSC_Start_Preview(gv_VideoData.p_Window->st_x,
                       gv_VideoData.p_Window->st_y,
                       gv_VideoData.p_Window->xsize,
                       gv_VideoData.p_Window->ysize, gv_VideoData.p_Camera);
}

void fJpegEnc(void)
{
    aDSC_fmemory_clear(0, 0, M_LCD_WSIZE, M_LCD_HSIZE, 0x0000);
    aDSC_data_trans_st(0, 0, M_LCD_WSIZE, M_LCD_HSIZE);
    wait(500);
    switch (gv_VideoData.u16JpgFunc)
    {
    	 case SIGLESHOT:
        {
				gv_VideoData.u32JpgSize = JPEG_BUFFER;
				bit_write(OVL_CNT, 3, LOW); //switch off OSD
				aDSC_CameraEncode(gv_VideoData.p_u16JpgCode, &gv_VideoData.u32JpgSize,
				                  gv_VideoData.p_EncSize, gv_VideoData.u16JpgQuality,
				                  sROT_OFF | sHFLIP_OFF | sVFLIP_OFF);
				fFillExOvlMirror(gv_VideoData.p_Item);
        }
        break;
    	 case MULTISHOT:
    	 {
            UINT32 u32FrameByteSize = JPEG_BUFFER;

            gv_VideoData.u32JpgSize = 0;
            aDSC_overlayframe_off();
            do
            {
                //u32FrameByteSize = JPEG_BUFFER;
			     aDSC_Start_Preview(gv_VideoData.p_Window->st_x,
			                       gv_VideoData.p_Window->st_y,
			                       gv_VideoData.p_Window->xsize,
			                       gv_VideoData.p_Window->ysize, gv_VideoData.p_Camera);
				  aDSC_CameraEncode(gv_VideoData.p_u16JpgCode + gv_VideoData.u32JpgSize / 2+2, 
	            					  &u32FrameByteSize,
	                              gv_VideoData.p_EncSize, gv_VideoData.u16JpgQuality,
	                              sROT_OFF | sHFLIP_OFF | sVFLIP_OFF);
				  fFillExOvlMirror(gv_VideoData.p_Item);
				  *(gv_VideoData.p_u16JpgCode + gv_VideoData.u32JpgSize / 2) =
                    (UINT16) ((u32FrameByteSize | 0xffff0000) >> 16);
                *(gv_VideoData.p_u16JpgCode + gv_VideoData.u32JpgSize / 2 + 1) =
                    (UINT16) (u32FrameByteSize | 0x0000ffff);
                gv_VideoData.u32JpgSize += u32FrameByteSize + 4;
                u32FrameByteSize = JPEG_BUFFER-gv_VideoData.u32JpgSize;
                //wait(10); // >1400ms@1280x960; >ms@640x480
            }while (gv_VideoData.u32JpgSize < MJPEG_BUFFER);
    	 }
        break;
    	 case MOTIONJPEG:
        {
            UINT32 u32FrameByteSize = 0;

            aDSC_overlayframe_off();
            gv_VideoData.u32JpgSize = 0;
            do
            {
                u32FrameByteSize = 144 * 176;
                aDSC_Start_Preview(tWindow80x80.st_x,
                                   tWindow80x80.st_y,
                                   tWindow80x80.xsize,
                                   tWindow80x80.ysize, &tCamera80x80);
				  aDSC_FrameEncode(gv_VideoData.p_u16JpgCode + gv_VideoData.u32JpgSize / 2 +
                                 2, &u32FrameByteSize, tWindow80x80.st_x,
                                 tWindow80x80.st_y,
                                 tWindow80x80.xsize,
                                 tWindow80x80.ysize,
                                 gv_VideoData.u16JpgQuality);
				  fFillExOvlMirror(gv_VideoData.p_Item);
                *(gv_VideoData.p_u16JpgCode + gv_VideoData.u32JpgSize / 2) =
                    (UINT16) ((u32FrameByteSize | 0xffff0000) >> 16);
                *(gv_VideoData.p_u16JpgCode + gv_VideoData.u32JpgSize / 2 + 1) =
                    (UINT16) (u32FrameByteSize | 0x0000ffff);
                gv_VideoData.u32JpgSize += u32FrameByteSize + 4;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人av集中营| 国产乱码精品一品二品| 中文字幕一区日韩精品欧美| 2017欧美狠狠色| 日韩美女在线视频| 日韩免费看网站| 久久午夜老司机| 久久久不卡网国产精品一区| 久久蜜桃av一区精品变态类天堂 | 精品亚洲欧美一区| 成人福利视频网站| 国产成人精品免费在线| 国产真实精品久久二三区| 国内久久精品视频| 国产一区二区三区四区五区美女 | 一本一道久久a久久精品| 91色在线porny| 欧美私模裸体表演在线观看| 欧美午夜精品理论片a级按摩| 日本高清视频一区二区| 欧美日韩国产天堂| 日韩精品一区二区三区swag | 中文字幕一区二区三区不卡在线 | 91丨国产丨九色丨pron| 欧美日韩国产精选| 欧美大片一区二区| 国产精品美女久久久久久| 亚洲欧美日本在线| 日本不卡视频一二三区| 国产成人免费视频网站| 色综合久久综合中文综合网| 欧美日韩久久久一区| 精品久久久久久综合日本欧美| 亚洲精品在线网站| 亚洲三级在线播放| 日韩黄色免费网站| 成人午夜看片网址| 欧美裸体一区二区三区| 国产亚洲自拍一区| 一区二区三区日韩精品| av中文字幕亚洲| 欧美精选午夜久久久乱码6080| 精品三级在线观看| 亚洲一卡二卡三卡四卡无卡久久 | 国产精品自拍三区| 欧美久久久久免费| 国产精品女人毛片| 国产主播一区二区| 欧美日韩成人高清| 亚洲视频图片小说| 国产一区欧美日韩| 7799精品视频| 日韩欧美国产午夜精品| 日韩av电影一区| 99精品一区二区| 精品久久人人做人人爽| 亚洲v精品v日韩v欧美v专区| 91小视频免费看| 亚洲成人激情社区| 日韩欧美第一区| 成人午夜av在线| 亚洲一区在线视频| 精品久久久久久久久久久久包黑料| 精品一区二区久久| 亚洲精品视频一区二区| 欧美精品日日鲁夜夜添| 国产激情91久久精品导航| 亚洲欧美另类久久久精品2019| 51久久夜色精品国产麻豆| 国产风韵犹存在线视精品| 亚洲天堂福利av| 亚洲蜜臀av乱码久久精品蜜桃| 欧美午夜免费电影| 国产精品1区2区3区在线观看| 中文字幕亚洲成人| 欧美成人女星排行榜| 99久久国产综合精品色伊| 日产精品久久久久久久性色| 国产亚洲成av人在线观看导航| 欧洲av在线精品| 国内精品久久久久影院一蜜桃| 国产精品传媒入口麻豆| 欧美r级在线观看| 在线看国产一区二区| 国产精品一色哟哟哟| 亚洲成人动漫一区| 国产精品美女一区二区在线观看| 7777精品伊人久久久大香线蕉| 成人免费毛片片v| 精久久久久久久久久久| 亚洲妇熟xx妇色黄| 亚洲欧美中日韩| 久久女同精品一区二区| 欧美日韩美女一区二区| 色综合久久中文综合久久牛| 国产精品综合网| 免费一区二区视频| 亚洲成人av一区| 亚洲另类春色校园小说| 国产精品视频看| 久久久精品综合| 欧美v国产在线一区二区三区| 欧美丝袜自拍制服另类| 91丨porny丨蝌蚪视频| 国产不卡视频在线观看| 国产美女视频一区| 国产在线精品一区二区不卡了 | 国产精品一区二区免费不卡| 久久99热狠狠色一区二区| 五月激情丁香一区二区三区| ...av二区三区久久精品| 亚洲国产精品成人综合| 久久亚洲精华国产精华液| 欧美不卡在线视频| 日韩一级欧美一级| 91麻豆精品国产自产在线观看一区| 色婷婷av一区二区三区之一色屋| 国产成人福利片| 成人性生交大片免费看中文| 国产成人av影院| 不卡的电影网站| 91麻豆免费观看| 色综合天天做天天爱| 91论坛在线播放| 在线视频中文字幕一区二区| 欧美影院精品一区| 欧美日韩综合在线免费观看| 欧美日韩成人综合在线一区二区| 欧美日韩成人在线一区| 精品久久一区二区| 久久久亚洲国产美女国产盗摄 | 国产精品少妇自拍| 中文字幕日韩av资源站| 亚洲卡通动漫在线| 亚洲国产一区二区a毛片| 亚洲va欧美va国产va天堂影院| 日韩高清一区二区| 国产美女久久久久| 91片黄在线观看| 欧美日韩国产免费| 精品国产乱码久久久久久牛牛| 国产视频一区二区在线观看| 亚洲天堂网中文字| 日韩中文字幕区一区有砖一区| 美腿丝袜亚洲三区| 成人亚洲精品久久久久软件| 99vv1com这只有精品| 欧美一区在线视频| 国产亚洲精品福利| 亚洲永久精品国产| 狠狠色丁香婷综合久久| 色域天天综合网| 日韩欧美成人午夜| 国产精品久久国产精麻豆99网站| 国产a精品视频| 色94色欧美sute亚洲13| 欧美一级免费大片| 中文字幕在线不卡一区| 日韩国产高清在线| 风间由美性色一区二区三区| 欧美日韩久久久| 国产精品成人午夜| 奇米一区二区三区| 91美女精品福利| www国产成人免费观看视频 深夜成人网| 中文字幕在线视频一区| 蜜桃视频免费观看一区| youjizz国产精品| 日韩精品一区二区三区三区免费 | 亚洲高清免费视频| 成人黄色电影在线| 日韩一区二区三区三四区视频在线观看 | 韩国女主播成人在线| 色综合咪咪久久| 国产丝袜欧美中文另类| 欧美aaa在线| 欧美在线免费视屏| 亚洲国产精品激情在线观看| 久久99精品国产| 欧美精品欧美精品系列| 亚洲精品视频免费看| 懂色av中文字幕一区二区三区 | 日韩av一区二区三区| 91麻豆精品视频| 中文字幕欧美三区| 韩国女主播成人在线观看| 7777精品伊人久久久大香线蕉完整版| 国产精品不卡在线| 粉嫩嫩av羞羞动漫久久久| 久久久久久久综合狠狠综合| 麻豆国产精品777777在线| 7777精品伊人久久久大香线蕉| 一区二区三区加勒比av| 一本一道波多野结衣一区二区| 国产欧美一区二区三区网站| 国产永久精品大片wwwapp| 久久久三级国产网站| 国产寡妇亲子伦一区二区| 久久精品一区二区三区不卡| 国产二区国产一区在线观看|