@ -105,9 +105,21 @@
}
}
if (optind < argc) // filename
@@ -700,6 +740,12 @@
@@ -699,7 +739,24 @@
if (stb_type == VULCAN || stb_type == PALLAS)
mallocsize=720*576;
+ if (pips == 0)
+ {
+ for (int p=1; p < 4; p++)
+ {
+ char pipbuf[25];
+ sprintf(pipbuf,"/proc/stb/vmpeg/%d/xres", p);
+ if ((int)proc_get_hex(pipbuf) > 0)
+ pips = p;
+ }
+ }
+
video = (unsigned char *)malloc(mallocsize*3);
+ if (pips > 0)
+ video1 = (unsigned char *)malloc(mallocsize*3);
@ -118,7 +130,7 @@
osd = (unsigned char *)malloc(mallocsize*4);
if ((stb_type == VULCAN || stb_type == PALLAS) && width > 720)
@@ -718,7 +764 ,26 @@
@@ -718,7 +775 ,26 @@
fprintf(stderr, "Grabbing Video ...\n");
if (stb_type == BRCM7366 || stb_type == BRCM7251 || stb_type == BRCM7252 || stb_type == BRCM7252S || stb_type == BRCM7444 || stb_type == BRCM72604VU || stb_type == BRCM7278 || stb_type == HISIL_ARM)
{
@ -146,7 +158,7 @@
}
else
{
@@ -739,41 +804 ,11 @@
@@ -739,41 +815 ,11 @@
}
else
{
@ -193,7 +205,7 @@
if (dst_width == 720) dst_width = 0;
if (dst_height == 576) dst_height = 0;
}
@@ -833,7 +868 ,7 @@
@@ -833,7 +879 ,7 @@
resize(osd, output, xres_o, yres_o, xres, yres, 4);
memcpy(osd, output, xres * yres * 4);
}
@ -202,7 +214,7 @@
{
if (!quiet)
fprintf(stderr, "Resizing Video to %d x %d ...\n", dst_width, dst_height);
@@ -857,7 +892 ,10 @@
@@ -857,7 +903 ,10 @@
{
if (!quiet)
fprintf(stderr, "Merge Video with Framebuffer ...\n");
@ -214,7 +226,7 @@
}
// resize to specific width ?
@@ -1045,7 +1083 ,7 @@
@@ -1045,7 +1094 ,7 @@
// grabing the video picture
@ -223,7 +235,7 @@
{
char buf[256];
sprintf(buf, "/dev/dvb/adapter0/video%d", video_dev);
@@ -1116,10 +1154 ,7 @@
@@ -1116,10 +116 5,7 @@
munmap((void*)data, 100);
@ -235,7 +247,7 @@
if (!adr || !adr2)
{
@@ -1514,25 +1549 ,8 @@
@@ -1514,25 +1560 ,8 @@
*xres=0;
*yres=0;
@ -263,7 +275,7 @@
if((stride == 0) || (res == 0)) return;
@@ -1685,24 +1703 ,8 @@
@@ -1685,24 +1714 ,8 @@
*xres=0;
*yres=0;
@ -290,7 +302,7 @@
//if stride and res are zero return (please note that stillpictures will not be captured)
if((stride == 0)&&(res == 0)) return;
@@ -1929,24 +1931 ,8 @@
@@ -1929,24 +1942 ,8 @@
else if (stb_type == XILLEON)
{
// grab xilleon pic from decoder memory
@ -317,7 +329,7 @@
if(!(memory = (unsigned char*)mmap(0, 1920*1152*6, PROT_READ, MAP_SHARED, mem_fd, 0x6000000)))
{
@@ -2459,6 +244 5,48 @@
@@ -2459,6 +2456 ,48 @@
}
}
}
@ -366,3 +378,4 @@
// combining pixmaps by using an alphamap
void combine(unsigned char *output, const unsigned char *video, const unsigned char *osd, int vleft, int vtop, int vwidth, int vheight, int xres, int yres)