現在無論對圖層設計多樣化 一般採用4層 或者更多 、、
我們習慣用巨集定義來分開如下:
當然現在都要去初始化一下:
ms_bool _disp_ve_init(void)
ms_bool dapi_disp_init(void)
printf("demo_gop_init\n");
gop_initinfo pgopinit;
gfx_config tgfxcfg;
//mdrv_sem_init();
/// -initial ge
tgfxcfg.biscompt = true;
tgfxcfg.bishk = true;
mapi_gfx_init(&tgfxcfg);
printf("driver ge init ok\n");
//_osd_scalerinit(); add
//initial gop
mapi_gop_registerfbfmtcb(( ms_u32(*)(ms_u16 pitch,ms_u32 addr , ms_u16 fmt ))_osd_setfbfmt);
mapi_gop_registerxcisinterlacecb(_sc_is_interlace);
mapi_gop_registerxcgetcaphstartcb(_sc_get_h_cap_start);
mapi_gop_registerxcreducebwforosdcb(_xc_sys_pq_reducebw_forosd);
gdispinfo.hd_as_wnd = disp_aspect_window_full;
gdispinfo.sd_as_wnd = disp_aspect_window_full;
_bdispinited = true;
if (_s32stillimgmutexid < 0)
}#if 1 //patch for bw
ms_u32 u32mmiobaseadr, u32banksize;
if( !mdrv_mmio_getbase(&u32mmiobaseadr, &u32banksize, ms_module_hw))
else
u32nonpmbase = u32mmiobaseadr;
#endif
pthread_mutex_init(&s_vmix_mutex, null);
return true;
}那麼去用呢
ms_bool dapi_disp_initstillimage(void)
u32dwinbufpa = stillimage_buf_adr;
u32dwinbuflen = stillimage_buf_len;
msos_releasemutex(_s32stillimgmutexid);
return true;
}ms_bool dapi_disp_enablestillimage(void)
*/printf("enter %s\n",__function__);
if (msos_obtainmutex(_s32stillimgmutexid, msos_wait_forever) == false)
_blastframe = true;
msapi_gegop_uieffect_para uieffect_para;
memset(&uieffect_para, 0, sizeof(msapi_gegop_uieffect_para));
uieffect_para.effect_enable = true;
uieffect_para.para1 = coef_asrc;
uieffect_para.para2 = 0xff;
l_last1 = msos_getsystemtime();
printf("line to ..........msapi_gegop_stillvideo_uibitblteffect......2138....................\n");
bret = msapi_gegop_stillvideo_uibitblteffect(msapi_gegop_abl, abl_para_amount, &uieffect_para);
printf("line to ..........bret == false......2140....................\n");
if(bret == false)
#if 1 //patch for bw
reg16_npm(0x1200*2+0x40*2)=0xc016;
reg16_npm(0x1200*2+0x42*2)=0x0810;
reg16_npm(0x1200*2+0x60*2)=0x8011;
reg16_npm(0x1200*2+0x62*2)=0x0000;
reg16_npm(0x1200*2+0x68*2)=0xef0f;
printf("2174...... ...... ...... l_last = %d \n", l_last);
if(bret == false)
#if 1 //patch for bw
reg16_npm(0x1200*2+0x40*2)=0x8011;
reg16_npm(0x1200*2+0x42*2)=0x0000;
reg16_npm(0x1200*2+0x60*2)=0x8015;
reg16_npm(0x1200*2+0x62*2)=0x0018;
reg16_npm(0x1200*2+0x68*2)=0xaf5f;
reg16_npm(0x1200*2+0x6a*2)=0x4321;
reg16_npm(0x1200*2+0x6c*2)=0x8765;
reg16_npm(0x1200*2+0x6e*2)=0xcba9;
reg16_npm(0x1200*2+0x70*2)=0x0fed;
#endif
msos_releasemutex(_s32stillimgmutexid);
return bret;
}
高畫質標清區別
1 從技術上來說。按技術劃分,電視可分為模擬電視和數碼電視。數碼電視又可分為高畫質電視 hdtv 和標清電視 sdtv 等。傳統 模擬 電視有三大電視制式 ntsc制 pal制和secam制。高畫質電視也有很多種格式,逐行掃瞄的有1080 24p 25p 30p,隔行掃瞄的1080 50i 60i等...
徹底高畫質值傳遞與位址傳遞的區別
1.考題一 程式 如下 void exchg1 int x,int y void main 輸出的結果 x y a b 問下劃線的部分應是什麼,請完成。2.考題二 如下。exchg2 int px,int py main 輸出的結果為 px py a b 問下劃線的部分應是什麼,請完成。3.考題三 ...
遊戲引擎 GUI的設計與實現 序
在實現了幾個完整gui系統後,以前覺得很難的東西一下變得開朗了。比如以前想在ftk裡實現乙個 混排的控制項和樹形控制項,感覺複雜度超出我的能力範圍了,所以ftk沒有這樣的控制項。而在cantk裡實現乙個 混排的控制項只花了兩天時間,在wtk實現樹形控制項只花了一天時間。寫程式沒有什麼技巧,只是熟能生...