Hello!
I created two video channels - Video0 and OSD0 and channel the cursor
-------------------------------------------------------------------------------------------------------------------------------
hGioVpbeVid0 = FVID_create("/VPBE0",IOM_INOUT,NULL,&vpbeChannelParams,NULL);
hGioVpbeVenc = FVID_create("/VPBE0",IOM_INOUT,NULL,&vpbeChannelParams,NULL); (VENC само собой)
hOsd0Handle = FVID_create ("/VPBE0",IOM_INOUT, NULL,&vpbeChannelParams,&gioAttrs);
hCursorHandle = FVID_create("/VPBE0",IOM_INOUT,NULL,&cursorChannelParams,&gioAttrs);
-----------------------------------------------------------------------------------------------------------------------------------
Then in the main body of the program do the separate image processing in these channels
---------------------------------------------------------------------------------------------------------------------------------- /* loop forever
performing video capture and display */ while (!done
&& status == 0) { /* grab
a fresh video input frame */ FVID_exchange(hGioVpfeCcdc,
&frameBuffPtr); process_image_color( (void*)(frameBuffPtr->frame.frameBufferPtr),
480, 640); BCACHE_wbInv((void*)(frameBuffPtr->frame.frameBufferPtr),
576*720*2, 1); process_2D2D(
(void*)(frameBuffPtr->frame.frameBufferPtr), 576, 720); BCACHE_wbInv((void*)(osd0AllocFB->frame.frameBufferPtr),
128*128, 1); /* display the OSD frame */ FVID_exchange(hOsd0Handle,&osd0AllocFB); /*
display the video frame */ FVID_exchange(hGioVpbeVid0, &frameBuffP -------------------------------------------------------------------------------------------------------------------------------- The
problem is that when using the OSD channel(FVID_exchange
(hOsd0Handle, & osd0AllocFB);)the number of frames / sec falls sharply. Visually -in two times.
Does
anyone can tell - is it normally or something I'm doing wrong?
Thank you.
Igor.