From cf192d78f1f3550c70a8883d8f5efbc06f162d56 Mon Sep 17 00:00:00 2001 From: Frankenstone Date: Fri, 23 Apr 2021 16:49:40 +0200 Subject: [PATCH] fix fading for mips hardware - untested ! Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/544fbd1ee28c1fb99bb720fdaf46307c5e683528 Author: Frankenstone Date: 2021-04-23 (Fri, 23 Apr 2021) ------------------ This commit was generated by Migit --- src/driver/fb_accel.h | 2 ++ src/driver/fb_accel_mips.cpp | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/src/driver/fb_accel.h b/src/driver/fb_accel.h index 1f0b3acd4..aa79c0ff5 100644 --- a/src/driver/fb_accel.h +++ b/src/driver/fb_accel.h @@ -245,6 +245,8 @@ class CFbAccelMIPS int scale2Res(int size); bool fullHdAvailable(); void setOsdResolutions(); + void setBlendMode(uint8_t mode); + void setBlendLevel(int level); #if ENABLE_MIPS_ACC void paintRect(const int x, const int y, const int dx, const int dy, const fb_pixel_t col); #endif diff --git a/src/driver/fb_accel_mips.cpp b/src/driver/fb_accel_mips.cpp index 78ad9bdef..ae331518c 100644 --- a/src/driver/fb_accel_mips.cpp +++ b/src/driver/fb_accel_mips.cpp @@ -317,6 +317,26 @@ void CFbAccelMIPS::setOsdResolutions() } } +/* original interface: 1 == pixel alpha, 2 == global alpha premultiplied */ +void CFbAccelMIPS::setBlendMode(uint8_t mode) +{ + /* mode = 1 => reset to no extra transparency */ + if (mode == 1) + setBlendLevel(0); +} + +/* level = 100 -> transparent, level = 0 -> nontransparent */ +void CFbAccelMIPS::setBlendLevel(int level) +{ + char tmp[3]={0x0}; + int _level = 0xff - ( level * 0xff / 100); + sprintf(tmp,"%d", _level); + int pfd = open("/proc/stb/video/alpha", O_WRONLY); + if (pfd) + write(pfd, tmp, sizeof(tmp)); + close(pfd); +} + int CFbAccelMIPS::setMode(unsigned int nxRes, unsigned int nyRes, unsigned int nbpp) { if (!available&&!active)