summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJochen Dolze <vdr@dolze.de>2010-03-17 10:19:36 +0100
committerJochen Dolze <vdr@dolze.de>2010-03-17 10:19:36 +0100
commit216d281a0ea6140a6c1e0190a3ea2ae9ff5e467a (patch)
tree5865de496a192389fa319be47c7925bbee33b562
parent8c15ec9bc01a96e707daeef2f0955bdc97867201 (diff)
downloadvdr-plugin-markad-216d281a0ea6140a6c1e0190a3ea2ae9ff5e467a.tar.gz
vdr-plugin-markad-216d281a0ea6140a6c1e0190a3ea2ae9ff5e467a.tar.bz2
Enhance contrast, if the picture is all too dark
-rw-r--r--video.cpp12
1 files changed, 4 insertions, 8 deletions
diff --git a/video.cpp b/video.cpp
index 250c05e..a260908 100644
--- a/video.cpp
+++ b/video.cpp
@@ -171,29 +171,25 @@ int cMarkAdLogo::Detect(int lastiframe, int *logoiframe)
}
SUMA/=(LOGOWIDTH*LOGOHEIGHT);
-#if 0
if (SUMA>=100)
{
- int avg=255-(int) SUMA;
- printf("SUMA =%li, avg=%i\n", SUMA,avg);
+ int maxval=(int) SUMA;
SUMA=0;
for (int Y=ystart; Y<=yend-1; Y++)
{
for (int X=xstart; X<=xend-1; X++)
{
- int val=macontext->Video.Data.Plane[0][X+(Y*macontext->Video.Info.Width)];
- val=(val - avg);
+ int val=macontext->Video.Data.Plane[0][X+(Y*macontext->Video.Data.PlaneLinesize[0])];
+ val=(int) (((double) val- (double) maxval/1.4)*1.4);
+ if (val>maxval) val=maxval;
if (val<0) val=0;
area.source[(X-xstart)+(Y-ystart)*LOGOWIDTH]=val;
SUMA+=val;
}
}
SUMA/=(LOGOWIDTH*LOGOHEIGHT);
- printf("SUMA now =%li\n", SUMA);
}
-#endif
-
int ret=NOCHANGE;
if (SUMA<100)