Browse Source

- aio-grab: add automatic pip screenshot support, thx TangoCash

master
vanhofen 2 years ago
parent
commit
e5822ba404
  1. 35
      package/aio-grab/patches/0002-screenshots-for-pip-devices.patch

35
package/aio-grab/patches/0002-screenshots-for-pip-devices.patch

@ -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 +1165,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 +2445,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)

Loading…
Cancel
Save