summaryrefslogtreecommitdiff
path: root/meta-openvuplus/recipes-vuplus/aio-grab
diff options
context:
space:
mode:
authorhschang <chang@dev3>2017-11-02 06:37:42 (GMT)
committerhschang <chang@dev3>2017-11-03 05:28:56 (GMT)
commit97ad97c7f392918c70271958d570660295fd0376 (patch)
tree6a667bc603a98d4bebf4401d92b89e83022d7c88 /meta-openvuplus/recipes-vuplus/aio-grab
parentc9edee525f366bd90113272d2618e16ed5c471aa (diff)
Support Uno4kSE
Diffstat (limited to 'meta-openvuplus/recipes-vuplus/aio-grab')
-rwxr-xr-xmeta-openvuplus/recipes-vuplus/aio-grab/aio-grab.bb4
-rw-r--r--meta-openvuplus/recipes-vuplus/aio-grab/aio-grab/aio-grab_vuplus_6706273e6987e54e4dace15936a2cfd4e8c8c41c.patch (renamed from meta-openvuplus/recipes-vuplus/aio-grab/aio-grab/aio-grab_vuplus_03b822d1c72c30ba2ce55f8b584be419447dca03.patch)28
2 files changed, 17 insertions, 15 deletions
diff --git a/meta-openvuplus/recipes-vuplus/aio-grab/aio-grab.bb b/meta-openvuplus/recipes-vuplus/aio-grab/aio-grab.bb
index 8f2bc3b..27e0a05 100755
--- a/meta-openvuplus/recipes-vuplus/aio-grab/aio-grab.bb
+++ b/meta-openvuplus/recipes-vuplus/aio-grab/aio-grab.bb
@@ -2,13 +2,13 @@ SUMMARY = "Screen grabber for Set-Top-Boxes"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://LICENSE;md5=94d55d512a9ba36caa9b7df079bae19f"
SRCREV = "8394e1ba98c73d7c56d3235ef16cce253dc597cd"
-PR = "r3"
+PR = "r4"
DEPENDS = "jpeg libpng"
SRC_URI = " \
git://schwerkraft.elitedvb.net/aio-grab/aio-grab.git;protocol=git;tag=${SRCREV} \
- file://aio-grab_vuplus_03b822d1c72c30ba2ce55f8b584be419447dca03.patch;striplevel=1 \
+ file://aio-grab_vuplus_6706273e6987e54e4dace15936a2cfd4e8c8c41c.patch;striplevel=1 \
"
S = "${WORKDIR}/git"
diff --git a/meta-openvuplus/recipes-vuplus/aio-grab/aio-grab/aio-grab_vuplus_03b822d1c72c30ba2ce55f8b584be419447dca03.patch b/meta-openvuplus/recipes-vuplus/aio-grab/aio-grab/aio-grab_vuplus_6706273e6987e54e4dace15936a2cfd4e8c8c41c.patch
index 48887ae..8d7bc10 100644
--- a/meta-openvuplus/recipes-vuplus/aio-grab/aio-grab/aio-grab_vuplus_03b822d1c72c30ba2ce55f8b584be419447dca03.patch
+++ b/meta-openvuplus/recipes-vuplus/aio-grab/aio-grab/aio-grab_vuplus_6706273e6987e54e4dace15936a2cfd4e8c8c41c.patch
@@ -8,7 +8,7 @@ index ccfb515..a6f8d11 100644
stamp-h1
+aio-grab_vuplus_*
diff --git a/main.c b/main.c
-index 190ff5f..a4df66f 100644
+index 190ff5f..c600103 100644
--- a/main.c
+++ b/main.c
@@ -1,5 +1,5 @@
@@ -72,7 +72,7 @@ index 190ff5f..a4df66f 100644
unsigned int xres_v = 0,yres_v = 0,xres_o,yres_o,xres,yres,aspect,width;
int c,osd_only,video_only,use_osd_res,use_png,use_jpg,jpg_quality,no_aspect,use_letterbox;
-@@ -205,11 +221,41 @@ int main(int argc, char **argv) {
+@@ -205,11 +221,43 @@ int main(int argc, char **argv) {
char filename[256] = { "/tmp/screenshot.bmp" };
// detect STB
@@ -111,11 +111,13 @@ index 190ff5f..a4df66f 100644
+ stb_type=BRCM_ARM;
+ else if (strstr(upcase(line),"7252"))
+ stb_type=BRCM_ARM;
++ else if (strstr(upcase(line),"7260"))
++ stb_type=BRCM_ARM;
+#else
line = file_getline("/proc/stb/info/model");
if (line == NULL)
return 1;
-@@ -221,6 +267,7 @@ int main(int argc, char **argv) {
+@@ -221,6 +269,7 @@ int main(int argc, char **argv) {
!strcmp(line, "dm800se") ||
!strcmp(line, "dm7020hd"))
stb_type = BRCM7405;
@@ -123,7 +125,7 @@ index 190ff5f..a4df66f 100644
} else if (strstr(line, "xilleonfb")) {
stb_type = XILLEON;
} else if (strstr(line, "Pallas FB")) {
-@@ -325,9 +372,18 @@ int main(int argc, char **argv) {
+@@ -325,9 +374,18 @@ int main(int argc, char **argv) {
if (!video_only && !getosd(osd, &xres_o, &yres_o))
return 1;
@@ -145,7 +147,7 @@ index 190ff5f..a4df66f 100644
// get aspect ratio
if (stb_type == VULCAN || stb_type == PALLAS)
-@@ -549,6 +605,22 @@ int main(int argc, char **argv) {
+@@ -549,6 +607,22 @@ int main(int argc, char **argv) {
}
// grabing the video picture
@@ -168,7 +170,7 @@ index 190ff5f..a4df66f 100644
static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yres)
{
-@@ -563,16 +635,34 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre
+@@ -563,16 +637,34 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre
perror("/dev/mem");
return false;
}
@@ -205,7 +207,7 @@ index 190ff5f..a4df66f 100644
unsigned char data[100];
unsigned int adr,adr2,ofs,ofs2,offset/*,vert_start,vert_end*/;
-@@ -582,12 +672,30 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre
+@@ -582,12 +674,30 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre
memcpy(data,memory,100);
//vert_start=data[0x1B]<<8|data[0x1A];
//vert_end=data[0x19]<<8|data[0x18];
@@ -236,7 +238,7 @@ index 190ff5f..a4df66f 100644
munmap(memory, 100);
-@@ -609,7 +717,11 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre
+@@ -609,7 +719,11 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre
assert(chroma);
// grabbing luma & chroma plane from the decoder memory
@@ -248,7 +250,7 @@ index 190ff5f..a4df66f 100644
// on dm800/dm500hd we have direct access to the decoder memory
memory = mmap(0, offset + stride*(ofs2+64), PROT_READ, MAP_SHARED, mem_fd, adr);
if (memory == MAP_FAILED) {
-@@ -620,7 +732,11 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre
+@@ -620,7 +734,11 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre
usleep(50000); // we try to get a full picture, its not possible to get a sync from the decoder so we use a delay
// and hope we get a good timing. dont ask me why, but every DM800 i tested so far produced a good
// result with a 50ms delay
@@ -260,7 +262,7 @@ index 190ff5f..a4df66f 100644
// on dm8000 we have to use dma, so dont change anything here until you really know what you are doing !
unsigned int i = 0;
-@@ -639,7 +755,11 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre
+@@ -639,7 +757,11 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre
}
volatile unsigned long *mem_dma;
@@ -272,7 +274,7 @@ index 190ff5f..a4df66f 100644
if (mem_dma == MAP_FAILED) {
perror("mmap");
return false;
-@@ -675,8 +795,11 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre
+@@ -675,8 +797,11 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre
unsigned int t = 0, t2 = 0, dat1 = 0;
unsigned int chr_luma_stride = 0x40;
unsigned int sw;
@@ -285,7 +287,7 @@ index 190ff5f..a4df66f 100644
chr_luma_stride *= 2;
xsub=chr_luma_stride;
-@@ -692,6 +815,7 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre
+@@ -692,6 +817,7 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre
for (ytmp = 0; ytmp < ofs; ytmp++)
{
memcpy(luma + dat1, memory + t, xsub); // luma
@@ -293,7 +295,7 @@ index 190ff5f..a4df66f 100644
t += chr_luma_stride;
switch (ofs2-ytmp) // the two switch commands are much faster than one if statement
-@@ -710,10 +834,17 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre
+@@ -710,10 +836,17 @@ static bool getvideo(unsigned char *video, unsigned int *xres, unsigned int *yre
dat1+=stride;
}
}