4bool CaptureScreen(
int BMPwidth,
int BMPheight,
byte *BMPPixelBuffer,
bool bOSD,
int Alpha)
8 TYPE_VideoFrame videoFrameMain;
9 TYPE_VideoFrame videoFrameSub;
10 TYPE_OsdBaseInfo osdBaseInfo;
11 int PIPNorth, PIPSouth, PIPEast, PIPWest;
20 PIPAvail =
GetPIPPosition(&PIPNorth, &PIPSouth, &PIPEast, &PIPWest);
23 memset(&videoFrameMain, 0,
sizeof(videoFrameMain));
24 videoFrameMain.pixelFormat = OSD_8888;
25 videoFrameMain.width = BMPwidth;
26 videoFrameMain.height = BMPheight;
27 if(!TAP_CaptureScreen(CHANNEL_Main, &videoFrameMain, 0))
29 VideoToBMP(&videoFrameMain, BMPwidth, BMPheight, BMPPixelBuffer, 0, 0, BMPwidth, BMPheight);
30 TAP_MemFree(videoFrameMain.data);
36 memset(&videoFrameSub, 0,
sizeof(videoFrameSub));
37 videoFrameSub.pixelFormat = OSD_8888;
38 videoFrameSub.width = BMPwidth;
39 videoFrameSub.height = BMPheight;
40 if(!TAP_CaptureScreen(CHANNEL_Sub, &videoFrameSub, 0 ))
42 VideoToBMP(&videoFrameSub, BMPwidth, BMPheight, BMPPixelBuffer, PIPWest, PIPNorth, PIPEast - PIPWest + 1, PIPSouth - PIPNorth + 1);
43 TAP_MemFree(videoFrameSub.data);
50 TAP_Osd_GetPlaneBaseInfo(&osdBaseInfo, TAP_PLANE);
51 OSDToBMP(&osdBaseInfo, BMPwidth, BMPheight, BMPPixelBuffer, Alpha);
54 TAP_Osd_GetPlaneBaseInfo(&osdBaseInfo, SUBT_PLANE);
55 OSDToBMP(&osdBaseInfo, BMPwidth, BMPheight, BMPPixelBuffer, Alpha);
58 TAP_Osd_GetPlaneBaseInfo(&osdBaseInfo, BASE_PLANE);
59 OSDToBMP(&osdBaseInfo, BMPwidth, BMPheight, BMPPixelBuffer, Alpha);
bool CaptureScreen(int BMPwidth, int BMPheight, byte *BMPPixelBuffer, bool bOSD, int Alpha)
void OSDToBMP(TYPE_OsdBaseInfo *OsdBaseInfo, int BMPwidth, int BMPheight, byte *BMPPixelBuffer, int Alpha)
void VideoToBMP(TYPE_VideoFrame *VideoFrame, int BMPwidth, int BMPheight, byte *BMPPixelBuffer, int DstX, int DstY, int DstWidth, int DstHeight)
bool GetPIPPosition(int *North, int *South, int *East, int *West)