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

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

?? buxx_sample.c

?? bu1566dsp芯片用來處理ov7660或其他30萬攝像模組的圖像預覽.圖像拍照(jpeg壓縮)
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* ************************************************************************ */
/*                                                                          */
/* ROHM BU15xx demo firmware on MD2306                                      */
/*     Client   : ROHM Co., Ltd.丂 丂丂丂丂丂                                */
/*     End User :                                                           */
/*                                                                          */
/*     Processor: ARM-7TDMI(THUMB Mode)                                     */
/*     Dev.Env. : ARM-SDTv2.51                                              */
/*                                                                          */
/*     Sample Routines                                                      */
/*                                                                          */
/*     file     : BUxx_Sample.c                                             */
/*     Auther   : J.SATO(NTC)丂                                             */
/*     Date     : 2004/Jul./1	                                            */
/*                                                                          */
/*     Copyright (c) 2002-04 Naritagiken Co., Ltd. All rights reserved.     */
/* ************************************************************************ */

/* ************************************************** */
/*		     INCLUDE FILES		      */
/* ************************************************** */
#include "BUxx_Sample.h"
#include <stdio.h>
#include <stdlib.h>

/* ************************************************** */
/*		        TYPEDEF		    	      */
/* ************************************************** */

 /* ************************************************** */
/*		     LOCAL DEFINES		      */
/* ************************************************** */

/* ************************************************** */
/*		    GLOBAL VARIABLE		      */
/* ************************************************** */

/* ************************************************** */
/*		         CONST			      */
/* ************************************************** */

/* ************************************************** */
/*		    GLOBAL FUNCTIONS		      */
/* ************************************************** */

/* ************************************************** */
/*		     LOCAL FUNCTIONS		      */
/* ************************************************** */

//-----------------------------------------------------------------------------
//                                                             
//-----------------------------------------------------------------------------
void sStartPreview(void)
{
    CAMSET cam;

//    aDSC_overlayframe_off();
//    data_write(OVL_CNT, 0x0000); //william for overlay

 #if defined SENSOR_ROT90
    cam.rot_h_vflip = sROT_ON | sHFLIP_OFF | sVFLIP_OFF;
    cam.srkx = M_LCD_WSIZE ;
    cam.srky = M_LCD_WSIZE* 4 / 3;
#else
    cam.rot_h_vflip = sROT_OFF | sHFLIP_OFF | sVFLIP_OFF;
    cam.srkx = M_LCD_HSIZE * 4 / 3;
    cam.srky = M_LCD_HSIZE;
#endif
    cam.xsize = M_LCD_WSIZE;
    cam.ysize = M_LCD_HSIZE;

    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;

    aDSC_Start_Preview(0, 0, M_LCD_WSIZE, M_LCD_HSIZE, &cam);

}

void sExOverlayPreview(void)
{
    CAMSET cam;

//    aDSC_ExOvlMemory_write_rgb565(OvlFrame_dat,0,0);
//    aDSC_ExOvlmemory_set();

//    data_write(OVL_FRMST1, (86 << 8) | gl_ExOvl_High); //95,60
    
 #if defined SENSOR_ROT90
    cam.rot_h_vflip = sROT_ON | sHFLIP_OFF | sVFLIP_OFF;
    cam.srkx = M_LCD_WSIZE ;
    cam.srky = M_LCD_WSIZE* 4 / 3;
#else
    cam.rot_h_vflip = sROT_OFF | sHFLIP_OFF | sVFLIP_OFF;
    cam.srkx = M_LCD_HSIZE * 4 / 3;
    cam.srky = M_LCD_HSIZE;
#endif
    cam.xsize = M_LCD_WSIZE;
    cam.ysize = M_LCD_HSIZE;

    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;

    aDSC_Start_Preview(0, 0, M_LCD_WSIZE, M_LCD_HSIZE, &cam);
}

//-----------------------------------------------------------------------------
//                                                             
//-----------------------------------------------------------------------------
void sOverlayPreview(void)
{
    CAMSET cam;

    //aDSC_fmemory_write_rgb565_2(frame_dat, 10, 10, 144, 176);
   // aDSC_fmemory_write_rgb565(OvlFrame_dat, 10, 60);
    aDSC_maskmemory_write(0, 0,144, 176, TRAN_KEY_COLOR);
    aDSC_overlayframe_on();

 #if defined SENSOR_ROT90
    cam.rot_h_vflip = sROT_ON | sHFLIP_OFF | sVFLIP_OFF;
    cam.srkx = M_LCD_WSIZE ;
    cam.srky = M_LCD_WSIZE* 4 / 3;
#else
    cam.rot_h_vflip = sROT_OFF | sHFLIP_OFF | sVFLIP_OFF;
    cam.srkx = M_LCD_HSIZE * 4 / 3;
    cam.srky = M_LCD_HSIZE;
#endif
    cam.xsize = M_LCD_WSIZE;
    cam.ysize = M_LCD_HSIZE;

    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;

    aDSC_Start_Preview(0, 0, M_LCD_WSIZE, M_LCD_HSIZE, &cam);
    
    

}

//-----------------------------------------------------------------------------
//                                                             
//-----------------------------------------------------------------------------
void sFilterSet(const int sel)
{
    switch (sel)
    {
    case sDISABLE:
        aDSC_filter_set("disable");
        break;
    case sTHD:
        aDSC_filter_set("thd", 0x0060);
        break;
    case sGRAY:
        aDSC_filter_set("gray");
        break;
    case sSEPIA:
        aDSC_filter_set("sepia", 0x20, 0xf0, 0x0000);
        break;
    case sEMBOSS:
        aDSC_filter_set("emboss", 0x0d);
        break;
    case sEDGE1:
        aDSC_filter_set("edge1", 0x0001, 0x0d);
        break;
    case sEDGE2:
        aDSC_filter_set("edge2", 0x0b, 0x2f);
        break;
    case sNEGA:
        aDSC_filter_set("nega");
        break;
    default:
        aDSC_filter_set("disable");
        break;
    }
}


//-----------------------------------------------------------------------------
//                                                             
//-----------------------------------------------------------------------------
void sJPEGFEncode(UINT16 * start_add, UINT32 * const jpeg_size)
{

    aDSC_FrameEncode(start_add, jpeg_size, 0, 0, M_LCD_WSIZE, M_LCD_HSIZE,
                     0);

       aDSC_fmemory_clear(0, 0, M_LCD_WSIZE, M_LCD_HSIZE,0x00f8);
       aDSC_data_trans_st(0, 0, M_LCD_WSIZE, M_LCD_HSIZE); 
}

//-----------------------------------------------------------------------------
//                                                             
//-----------------------------------------------------------------------------
#if 1
void sJPEGCEncode(UINT16 * start_add,const UINT16 je_q)
{
    CAMSET cam;
    UINT16* p_u16JpgCode=(UINT16 *)(start_add+2);
    UINT32 u32JpgSize=JPEG_BUFFER;

    cam.rot_h_vflip = sROT_OFF | sHFLIP_OFF | sVFLIP_OFF;
    cam.srkx = CAM_HSIZE;
    cam.srky = CAM_VSIZE;
    cam.xsize = CAM_HSIZE;
    cam.ysize = CAM_VSIZE;
    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;

    *start_add=0;
    *(start_add+1)=0;
    aDSC_CameraEncode(p_u16JpgCode, &u32JpgSize, &cam, je_q, sJE_HFLIP_OFF);
    *start_add=(UINT16)((u32JpgSize & 0xffff0000)>>16);
    *(start_add+1)=(UINT16)(u32JpgSize & 0x0000ffff);

    aDSC_fmemory_clear(0, 0, M_LCD_WSIZE, M_LCD_HSIZE, 0x0000);
    aDSC_data_trans_st(0, 0, M_LCD_WSIZE, M_LCD_HSIZE);

}
#else
void sJPEGCEncode(UINT16 * start_add, UINT32 * const jpeg_size)
{
    CAMSET cam;

    cam.rot_h_vflip = sROT_OFF | sHFLIP_OFF | sVFLIP_OFF;
    cam.srkx = CAM_HSIZE;
    cam.srky = CAM_VSIZE;
    cam.xsize = CAM_HSIZE;
    cam.ysize = CAM_VSIZE;

    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;

    aDSC_CameraEncode(start_add, jpeg_size, &cam, 9, sJE_HFLIP_OFF);
    aDSC_fmemory_clear(0, 0, M_LCD_WSIZE, M_LCD_HSIZE, 0x0000);
    aDSC_data_trans_st(0, 0, M_LCD_WSIZE, M_LCD_HSIZE);

//      gl_bitstream_size = *jpeg_size;

}
#endif

void sJPEGCEncode2(UINT16 * start_add,const UINT16 je_q)
{
    CAMSET cam;
    UINT16* p_u16JpgCode=(UINT16 *)(start_add+2);
    UINT32 u32JpgSize=100*1024;

    cam.rot_h_vflip = sROT_OFF | sHFLIP_OFF | sVFLIP_OFF;
    cam.srkx = 320;
    cam.srky = 240;
    cam.xsize = 320;
    cam.ysize = 240;
    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;

    *start_add=0;
    *(start_add+1)=0;
    aDSC_CameraEncode(p_u16JpgCode, &u32JpgSize, &cam, je_q, sJE_HFLIP_OFF);
    *start_add=(UINT16)((u32JpgSize & 0xffff0000)>>16);
    *(start_add+1)=(UINT16)(u32JpgSize & 0x0000ffff);

    aDSC_fmemory_clear(0, 0, M_LCD_WSIZE, M_LCD_HSIZE, 0x0000);
    aDSC_data_trans_st(0, 0, M_LCD_WSIZE, M_LCD_HSIZE);
}

//-----------------------------------------------------------------------------
//                                                             
//-----------------------------------------------------------------------------
void sJPEGDecode(UINT16 * start_add, UINT32 * const jpeg_size)
{
    CAMSET cam;


    cam.rot_h_vflip = sROT_OFF | sHFLIP_OFF | sVFLIP_OFF;
    cam.srkx = M_LCD_WSIZE;
    cam.srky = M_LCD_HSIZE;

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

    cam.cst_x = 0;
    cam.cst_y = 0;
    cam.mst_x = 0;
    cam.mst_y = 0;


    aDSC_Decode(start_add, jpeg_size, &cam);

    aDSC_data_trans_st(0, 0, M_LCD_WSIZE, M_LCD_HSIZE);



}

//-----------------------------------------------------------------------------
//                                                             
//-----------------------------------------------------------------------------
void sJPEGCameraDecode(UINT16 * start_add, UINT16 u16CstX, UINT16 u16CstY)
{
    CAMSET cam;
    UINT16 *p_u16JpgCode=(UINT16 *)(start_add+2);
    UINT16 u16OvlPos=0;
    UINT32 u32JpgSize=0;

    sFilterSet(sDISABLE);
    
    u32JpgSize=(*start_add)<<16;
    u32JpgSize=u32JpgSize|(*(start_add+1));
    
    if(*p_u16JpgCode!=0xd8ff)  //if dec before enc, return
    {
        data_write(OVL_CNT,0x0000);
        return;
    }

    if((u16CstX/20)%2==0) u16OvlPos=(u16CstX/20)<<8;
    else u16OvlPos=(u16CstX/20+1)<<8;
    u16OvlPos = u16OvlPos | (u16CstY/20) ;
    data_write(OVL_FRMST1, u16OvlPos); //95,60


    cam.rot_h_vflip = sROT_OFF | sHFLIP_OFF | sVFLIP_OFF;
    cam.srkx = CAM_HSIZE;
    cam.srky = CAM_VSIZE;
    cam.xsize = M_LCD_WSIZE;
    cam.ysize = M_LCD_HSIZE;
    cam.cst_x = u16CstX;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本二三区不卡| 国产欧美综合在线观看第十页| 97久久精品人人做人人爽50路| 国产精品 日产精品 欧美精品| 国产成人免费在线观看| 97国产精品videossex| 91麻豆精品国产91久久久资源速度 | 亚洲天堂2014| 婷婷国产v国产偷v亚洲高清| 国产精品白丝av| 欧美视频一区二区三区在线观看| 日韩免费高清av| 自拍视频在线观看一区二区| 另类小说欧美激情| 在线观看日韩一区| 日韩视频免费观看高清在线视频| 中文字幕亚洲精品在线观看| 久久激情五月激情| 欧美综合一区二区| 国产精品的网站| 国产综合色产在线精品| 欧美日韩在线观看一区二区| 国产亚洲精品bt天堂精选| 日韩国产在线观看| 色婷婷久久久亚洲一区二区三区 | 91丝袜高跟美女视频| 欧美成人精品福利| 视频一区在线播放| 91激情五月电影| 中文字幕日韩一区| 成人一道本在线| 欧美精品一区二区三区视频| 日本麻豆一区二区三区视频| 欧美丝袜自拍制服另类| 亚洲欧美乱综合| 波多野结衣亚洲一区| 国产亚洲欧美一区在线观看| 九九国产精品视频| 日韩欧美国产麻豆| 蜜臀av一区二区三区| 欧美日韩高清一区| 一区二区三区在线影院| 色婷婷亚洲精品| 亚洲一区国产视频| 欧美日韩一区二区三区在线| 伊人一区二区三区| 欧美中文字幕一区二区三区亚洲| 一区二区在线免费| 欧洲一区二区三区在线| 亚洲精品视频在线| 欧美日韩一区二区在线观看| 亚洲不卡一区二区三区| 欧美日本国产一区| 免费观看成人鲁鲁鲁鲁鲁视频| 欧美一级爆毛片| 激情都市一区二区| 国产蜜臀av在线一区二区三区| 成人三级在线视频| ●精品国产综合乱码久久久久| www.欧美日韩国产在线| 日韩国产高清影视| 国产午夜精品一区二区三区视频 | 国产sm精品调教视频网站| 亚洲国产精品v| 99视频在线精品| 夜色激情一区二区| 91麻豆精品91久久久久同性| 99久久精品免费精品国产| 亚洲视频在线一区| 欧美日韩亚洲国产综合| 免费看欧美女人艹b| 久久精品人人爽人人爽| 99精品久久99久久久久| 亚洲国产成人精品视频| 欧美精品一区二区在线播放| www.亚洲精品| 免费观看一级欧美片| 欧美激情艳妇裸体舞| 欧美性一区二区| 黄网站免费久久| 一区二区三区在线观看国产 | 九九视频精品免费| 亚洲天堂网中文字| 欧美精品久久99久久在免费线 | 成人国产电影网| 午夜免费久久看| 国产无一区二区| 欧美伦理电影网| 北条麻妃国产九九精品视频| 精品一区二区在线观看| 亚洲高清不卡在线| 《视频一区视频二区| 日韩欧美视频在线| 欧美电影一区二区| 91色porny在线视频| 欧美日本一道本| 国产91露脸合集magnet | 国产精品国产a级| 日韩三级免费观看| 在线观看视频欧美| 成人黄色小视频在线观看| 麻豆精品一区二区综合av| 亚洲午夜一二三区视频| 中文字幕一区二区在线观看| 久久综合一区二区| 欧美一区二区免费观在线| 色美美综合视频| 国产suv精品一区二区三区| 免费国产亚洲视频| 日本成人在线网站| 亚洲国产你懂的| 亚洲日本护士毛茸茸| 亚洲另类中文字| 91久久精品一区二区| 91麻豆6部合集magnet| 国产在线精品不卡| 日本美女一区二区| 午夜国产精品一区| 国产精品国产三级国产专播品爱网| 欧美精品一区二区久久婷婷| 欧美美女bb生活片| 欧美日韩美女一区二区| 欧美午夜片在线观看| 在线观看免费一区| 欧日韩精品视频| 色老综合老女人久久久| 色哟哟在线观看一区二区三区| 国产不卡免费视频| fc2成人免费人成在线观看播放| 国模娜娜一区二区三区| 精品一区二区三区欧美| 精品中文av资源站在线观看| 裸体一区二区三区| 国产一区二区三区观看| 国产一区二区在线免费观看| 国产精品一区在线观看你懂的| 国产精品综合av一区二区国产馆| 久草在线在线精品观看| 99久久婷婷国产综合精品 | 一区二区三区中文字幕| 亚洲一区二区三区国产| 亚洲国产综合色| 久久丁香综合五月国产三级网站| 国内精品久久久久影院色| 国产福利视频一区二区三区| 成人综合婷婷国产精品久久免费| 不卡一区二区中文字幕| 91福利在线免费观看| 在线播放中文一区| 精品国产乱码久久久久久蜜臀| 国产无遮挡一区二区三区毛片日本| 欧美韩国一区二区| 亚洲高清视频的网址| 韩国一区二区三区| 91丨porny丨在线| 成人免费视频一区| 欧美日韩电影在线播放| 欧美高清一级片在线观看| 亚洲激情av在线| 青娱乐精品视频| 国产a级毛片一区| 欧美日韩一区二区欧美激情| 欧美成人a在线| 亚洲精品欧美专区| 精品亚洲欧美一区| 欧美日韩三级一区二区| 国产精品久久久久一区| 午夜精品久久一牛影视| 国产一区高清在线| 欧美在线free| 国产清纯美女被跳蛋高潮一区二区久久w | 夜色激情一区二区| 久久超级碰视频| 91原创在线视频| 精品国产乱码久久久久久免费 | 337p亚洲精品色噜噜噜| 日本va欧美va瓶| 色狠狠色噜噜噜综合网| 国产亚洲成aⅴ人片在线观看| 亚洲日韩欧美一区二区在线| 天天综合网 天天综合色| av一区二区三区在线| 91成人在线观看喷潮| 国产午夜精品一区二区| 亚洲午夜精品网| 蜜臀av亚洲一区中文字幕| 在线观看日韩毛片| 中文字幕中文字幕在线一区| 久久国产尿小便嘘嘘尿| 欧美人动与zoxxxx乱| 亚洲精品中文在线| 丰满少妇久久久久久久| 精品久久久久香蕉网| 亚洲成人免费视| 91网站在线播放| 亚洲国产精品av| 日韩av网站在线观看| 在线观看日韩精品| 日韩理论电影院| 91亚洲永久精品|