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

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

?? w_interface.c

?? bu1566dsp芯片用來處理ov7660或其他30萬攝像模組的圖像預(yù)覽.圖像拍照(jpeg壓縮)
?? C
?? 第 1 頁 / 共 2 頁
字號:
            }while (gv_VideoData.u32JpgSize < MJPEG_BUFFER - u32FrameByteSize * 2 - 1000);
        }
        break;
    default:
        break;
    }
}

void fJpegDec(void)
{
    if (gv_VideoData.u32JpgSize == 0)
        return;

    aDRT_clear(0, 0, M_LCD_WSIZE, M_LCD_HSIZE, 0x0000ff);
    wait(500);
    aDSC_fmemory_clear(0, 0, M_LCD_WSIZE, M_LCD_HSIZE, 0x0000);

    bit_write(OVL_CNT, 3, LOW); //switch off OSD

    switch (gv_VideoData.u16JpgFunc)
    {
    	 case SIGLESHOT:
        {
            aDSC_Decode(gv_VideoData.p_u16JpgCode, &gv_VideoData.u32JpgSize,
                        gv_VideoData.p_DecSize);
            aDSC_data_trans_st(gv_VideoData.p_DecSize->mst_x,
                               gv_VideoData.p_DecSize->mst_y,
                               gv_VideoData.p_DecSize->xsize, gv_VideoData.p_DecSize->ysize);
        }
        break;
	    case MULTISHOT:
	    {
            UINT32 u32DecodeByteSize = 0, u32FrameSize = 0;
            do
            {
                u32FrameSize = 0;
                u32FrameSize = *(gv_VideoData.p_u16JpgCode + u32DecodeByteSize / 2);
                u32FrameSize <<= 16;
                u32FrameSize |= *(gv_VideoData.p_u16JpgCode + u32DecodeByteSize / 2 + 1);
                aDSC_Decode(gv_VideoData.p_u16JpgCode + u32DecodeByteSize / 2 + 2,
                            &u32FrameSize, &tCamDec128x96);
                u32DecodeByteSize += u32FrameSize + 4;
                aDSC_data_trans_st(tCamDec128x96.mst_x,
                                   tCamDec128x96.mst_y,
                                   tCamDec128x96.xsize,
                                   tCamDec128x96.ysize);
                wait(500);
            }
            while (gv_VideoData.u32JpgSize > u32DecodeByteSize);
	    }
	    break;
	    case MOTIONJPEG:
	    {
            UINT32 u32DecodeByteSize = 0, u32FrameSize = 0;
            do
            {
                u32FrameSize = 0;
                u32FrameSize = *(gv_VideoData.p_u16JpgCode + u32DecodeByteSize / 2);
                u32FrameSize <<= 16;
                u32FrameSize |= *(gv_VideoData.p_u16JpgCode + u32DecodeByteSize / 2 + 1);
                aDSC_Decode(gv_VideoData.p_u16JpgCode + u32DecodeByteSize / 2 + 2,
                            &u32FrameSize, &tCamDec80x80);
                u32DecodeByteSize += u32FrameSize + 4;
                aDSC_data_trans_st(tCamDec80x80.mst_x,
                                   tCamDec80x80.mst_y,
                                   tCamDec80x80.xsize,
                                   tCamDec80x80.ysize);
                wait(100);
            }
            while (gv_VideoData.u32JpgSize > u32DecodeByteSize);
	    }
       break;
    	default:
       break;
    }
}

void fZoom(INT16 u8Zoom)
{
    CAMSET cam;

/* MT9M111_SENSOR
    static UINT16 sHoriZoom=M_LCD_WSIZE;
    static UINT16 sVertZoom=M_LCD_WSIZE* 4 / 3;
    INT16 u16HoriZoomStep=3*u8Zoom;
    INT16 u16VertZoomStep=4*u8Zoom;
    UINT16 u16CamWidth=CAM_VSIZE;
    UINT16 u16CamHight=CAM_HSIZE;
    cam.rot_h_vflip = sROT_ON | sHFLIP_OFF | sVFLIP_ON;
*/

    static UINT16 sHoriZoom = M_LCD_HSIZE * 4 / 3;
    static UINT16 sVertZoom = M_LCD_HSIZE;
    INT16 u16HoriZoomStep = 4 * u8Zoom;
    INT16 u16VertZoomStep = 3 * u8Zoom;
    UINT16 u16CamWidth = CAM_HSIZE;
    UINT16 u16CamHight = CAM_VSIZE;
    cam.rot_h_vflip = sROT_OFF | sHFLIP_OFF | sVFLIP_ON;

    aDSC_overlayframe_off();

    cam.xsize = M_LCD_WSIZE;
    cam.ysize = M_LCD_HSIZE;

    if ((((sHoriZoom + u16HoriZoomStep) <= u16CamWidth)
         && ((sHoriZoom + u16HoriZoomStep) >= cam.xsize))
        && (((sVertZoom + u16VertZoomStep) <= u16CamHight)
            && ((sVertZoom + u16VertZoomStep) >= cam.ysize)))
    {
        sHoriZoom += u16HoriZoomStep;
        sVertZoom += u16VertZoomStep;
    }

    cam.srkx = sHoriZoom;
    cam.srky = sVertZoom;

    if (cam.rot_h_vflip & sROT_ON)
    {
        cam.cst_x = (cam.srkx - cam.xsize) / 2;
        cam.cst_y = (cam.srky - cam.ysize) / 2 + 1;
        if (cam.cst_y % 2)
            cam.cst_y--;
    }
    else
    {
        cam.cst_x = (cam.srkx - cam.xsize) / 2 + 1;
        cam.cst_y = (cam.srky - cam.ysize) / 2;
        if (cam.cst_x % 2)
            cam.cst_x--;
    }

    cam.mst_x = 0;
    cam.mst_y = 0;

    cam_capture_set(&cam);

    wait(50);                   // wait 50ms

}

static void fFillExOvlMirror(c_ItemBase * p_Item)
{
    UINT8 font_cnt;
    const UINT16 *font_data;
    char *string;

    *gl_pExOvlMem_Buf = p_Item->p_ExOverlay1->u16FmXsize;
    *(gl_pExOvlMem_Buf + 1) = p_Item->p_ExOverlay1->u16FmYsize + p_Item->p_ExOverlay2->u16FmYsize;
    memset((UINT8 *) gl_pExOvlMem_Buf + 4, 0x00, EXOVLMEM_BUF_SIZE - 4);

    bit_write(OVL_CNT, 3, LOW); //switch off OSD
    if (p_Item->p_ExOverlay1->u16OvlOpen)       //set ex-overlay1 string
    {
        bit_write(OVL_CNT, 1 << 1, HIGH);
        string = p_Item->szOvl1Str;
        for (font_cnt = 0; (font_cnt < 10) || (*string != '\0'); font_cnt++)
        {
            if (*string != '\0')
            {
                font_data = fonttable[*string];
                fFillStrExOvlMirror(font_data, p_Item->p_ExOverlay1, font_cnt);
                string++;
            }
        }
    }

    if (p_Item->p_ExOverlay2->u16OvlOpen)       //set ex-overlay2 string
    {
        bit_write(OVL_CNT, 1 << 0, HIGH);
        string = p_Item->szOvl2Str;
        for (font_cnt = 0; (font_cnt < 10) || (*string != '\0'); font_cnt++)
        {
            if (*string != '\0')
            {
                font_data = fonttable[*string];
                fFillStrExOvlMirror(font_data, p_Item->p_ExOverlay2, font_cnt);
                string++;
            }
        }
    }

    fExOvlParamSet(p_Item->p_ExOverlay1, p_Item->p_ExOverlay2);
    aDSC_ExOvlMemory_write_rgb565(gl_pExOvlMem_Buf);

}

static void fFillStrExOvlMirror(const UINT16 * rgb_data, EXOVLSET * p_ExOverlay,
                                const UINT8 font_cnt)
{
    UINT16 xsize, ysize;
    int width, height;
    UINT32 u32HeightOffset = 0;
    UINT32 u32WidthOffset = 0;
    UINT16 st_x, st_y;
    UINT8 space = 2;

    st_x = p_ExOverlay->u16ExmSt_x + (space + 4) * font_cnt;
    st_y = p_ExOverlay->u16ExmSt_y;

    xsize = *rgb_data;
    rgb_data++;
    ysize = *rgb_data;
    rgb_data++;

    for (height = 0; height < ysize; height++)
    {
        u32HeightOffset = p_ExOverlay->u16OvlIndex * p_ExOverlay->u16FmYsize + st_y + height;
        u32HeightOffset *= p_ExOverlay->u16FmXsize;
        for (width = 0; width < xsize; width++)
        {
            u32WidthOffset = st_x + width;
            u32WidthOffset += u32HeightOffset;
            if (*rgb_data != p_ExOverlay->u16TransColor)
            {
               *(gl_pExOvlMem_Buf + 2 + u32WidthOffset) = *rgb_data;
            }
            else
            {
               *(gl_pExOvlMem_Buf + 2 + u32WidthOffset) = *rgb_data+1;
            }
            rgb_data++;
        }
    }
}

static void fExOvlParamSet(EXOVLSET * p_ExOverlay1, EXOVLSET * p_ExOverlay2)
{
    UINT16 u16Ovl_H, u16Ovl_V;

    u16Ovl_H = p_ExOverlay1->u16FmXsize;
    u16Ovl_V = p_ExOverlay1->u16FmYsize + p_ExOverlay2->u16FmYsize;

    if (p_ExOverlay1->u16TransEnable)
        bit_write(OVL_CNT, 1 << 4, HIGH);       //transparent color enable
    else
        bit_write(OVL_CNT, 1 << 4, LOW);

    data_write(OVL_TRANS, p_ExOverlay1->u16TransColor);
    data_write(OVL_TRMSK, p_ExOverlay1->u16MaskColor);
    data_write(OVLSIZE, (u16Ovl_H << 8) | u16Ovl_V);

    data_write(OVL_ST1, 0x0000);
    data_write(OVL_ED1, ((u16Ovl_H - 1) << 8) | (u16Ovl_V / 2 - 1));
    data_write(OVL_FRMST1, (p_ExOverlay1->u16FmSt_x << 8) | p_ExOverlay1->u16FmSt_y);

    data_write(OVL_ST2, u16Ovl_V / 2);
    data_write(OVL_ED2, ((u16Ovl_H - 1) << 8) | (u16Ovl_V - 1));
    data_write(OVL_FRMST2, (p_ExOverlay2->u16FmSt_x << 8) | p_ExOverlay2->u16FmSt_y);

}
#endif                          //_BU1563API_INTERFACE_

#undef _W_INTERFACE_C_

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
懂色av中文一区二区三区| 日本不卡一区二区| 91精品国产福利在线观看 | 日韩高清不卡一区二区三区| 国产精品理论在线观看| 精品91自产拍在线观看一区| 欧美一区二区三区免费观看视频| 色欲综合视频天天天| 国内精品伊人久久久久av一坑| 亚洲成人精品一区| 依依成人精品视频| 亚洲男同性恋视频| 国产精品美女www爽爽爽| 2020日本不卡一区二区视频| 日韩午夜中文字幕| 欧美肥胖老妇做爰| 欧美日韩国产美| 欧美日韩一区视频| 欧美日韩精品一区二区三区| 在线精品视频小说1| 色婷婷国产精品| 色88888久久久久久影院野外| 91丝袜呻吟高潮美腿白嫩在线观看| 国产91在线看| bt7086福利一区国产| 99久免费精品视频在线观看| 99久久婷婷国产综合精品电影| 成人激情校园春色| 一本色道久久综合亚洲91| 色综合色狠狠综合色| 91高清视频在线| 欧美日韩二区三区| 欧美一区二区三区公司| 欧美mv和日韩mv国产网站| 精品国产免费人成在线观看| 国产亚洲婷婷免费| 最好看的中文字幕久久| 尤物视频一区二区| 免费成人在线观看| 国产成人亚洲精品狼色在线| 99久久免费国产| 欧美三区免费完整视频在线观看| 欧美另类videos死尸| 精品国产乱码久久久久久蜜臀| 国产日韩三级在线| 亚洲欧美日韩精品久久久久| 日本视频一区二区三区| 国产高清一区日本| 在线免费观看日本欧美| 日韩一本二本av| 国产欧美日韩视频在线观看| 亚洲精品国产成人久久av盗摄| 亚洲国产日产av| 韩国av一区二区| 色菇凉天天综合网| 欧美zozozo| 国产精品国产三级国产aⅴ中文| 亚洲第一激情av| 懂色av中文一区二区三区| 欧美日韩综合色| 国产欧美日韩视频一区二区| 蜜桃av一区二区在线观看| 国产美女视频91| 91香蕉视频污| 精品国产一区二区亚洲人成毛片| 亚洲婷婷在线视频| 另类人妖一区二区av| 91碰在线视频| 久久中文字幕电影| 亚洲成av人在线观看| 国产91对白在线观看九色| 欧美久久久久久久久久| 国产精品久久久久久久久免费桃花| 日韩成人av影视| 色婷婷精品大在线视频| 国产亚洲成年网址在线观看| 免费高清视频精品| 欧美色综合网站| 最新国产精品久久精品| 国产一区二区三区免费播放 | 天天色综合成人网| 成人高清免费观看| 日韩色视频在线观看| 一二三四社区欧美黄| 成人午夜激情在线| 精品免费视频.| 福利91精品一区二区三区| 成人激情免费电影网址| 国产尤物一区二区在线| 69堂国产成人免费视频| 一区二区三区四区国产精品| 国产精品一区二区91| 日韩欧美一区二区不卡| 午夜一区二区三区在线观看| 麻豆国产精品官网| 色悠久久久久综合欧美99| 国产精品女上位| 成人性视频网站| 国产视频一区在线播放| 狠狠狠色丁香婷婷综合久久五月| 欧美一区二区三区免费大片| 天使萌一区二区三区免费观看| 在线免费视频一区二区| 亚洲一区在线看| 欧美日韩国产小视频在线观看| 亚洲成人在线网站| 9191精品国产综合久久久久久| 性做久久久久久久免费看| 欧美日韩免费高清一区色橹橹| 午夜电影一区二区| 3d动漫精品啪啪1区2区免费 | 99久久久国产精品| 亚洲欧洲在线观看av| 一本久道中文字幕精品亚洲嫩| 亚洲无人区一区| 日本道精品一区二区三区| 亚洲综合一二区| 67194成人在线观看| 久久se这里有精品| 久久久久久9999| 91在线免费视频观看| 亚洲永久精品国产| 7777精品伊人久久久大香线蕉 | 亚洲免费观看高清| 日本高清免费不卡视频| 午夜精品久久一牛影视| 日韩三级视频在线看| 国产精品69毛片高清亚洲| 亚洲天堂av一区| 在线综合+亚洲+欧美中文字幕| 国产综合色精品一区二区三区| 国产精品免费久久久久| 欧美日韩久久不卡| 国产99久久久久| 亚洲国产乱码最新视频 | 91精品国产91久久久久久最新毛片 | 日本亚洲视频在线| 久久久久九九视频| 欧美系列亚洲系列| 国产在线精品一区二区三区不卡| 亚洲欧洲性图库| 日韩一级二级三级| 色综合天天天天做夜夜夜夜做| 视频一区免费在线观看| 国产精品乱码一区二区三区软件 | 亚洲日本青草视频在线怡红院| 欧美电影影音先锋| www.欧美色图| 久久草av在线| 亚洲一二三区不卡| 国产精品伦理一区二区| 日韩一区二区免费电影| 91网上在线视频| 国产毛片一区二区| 日本不卡一区二区三区| 亚洲精选视频在线| 国产欧美日本一区二区三区| 337p亚洲精品色噜噜| 色偷偷久久一区二区三区| 国产一区二区三区电影在线观看 | 麻豆国产欧美一区二区三区| 亚洲免费高清视频在线| 欧美极品美女视频| 精品国产三级电影在线观看| 欧美日韩国产123区| 欧美中文字幕一二三区视频| 成人性生交大片免费看在线播放| 麻豆极品一区二区三区| 午夜伊人狠狠久久| 亚洲午夜一二三区视频| 亚洲女人小视频在线观看| 欧美国产日韩a欧美在线观看 | 欧美成人福利视频| 在线成人高清不卡| 欧美日韩精品三区| 欧美日韩久久久久久| 在线观看日韩精品| 日本黄色一区二区| 色婷婷综合久久久| 91视频在线看| 色哟哟在线观看一区二区三区| caoporen国产精品视频| 99久久久无码国产精品| 99精品国产99久久久久久白柏| 成年人国产精品| 99久久精品一区| heyzo一本久久综合| av电影一区二区| 91丨九色丨蝌蚪丨老版| 色婷婷亚洲婷婷| 欧美色中文字幕| 欧美日韩国产一级| 欧美一级黄色录像| 亚洲精品在线三区| 国产欧美日韩视频一区二区| 国产精品麻豆一区二区| 亚洲免费观看高清| 亚洲成人av一区二区| 奇米777欧美一区二区| 久久99国内精品|