diff options
author | Jochen Dolze <vdr@dolze.de> | 2010-03-17 10:19:36 +0100 |
---|---|---|
committer | Jochen Dolze <vdr@dolze.de> | 2010-03-17 10:19:36 +0100 |
commit | 216d281a0ea6140a6c1e0190a3ea2ae9ff5e467a (patch) | |
tree | 5865de496a192389fa319be47c7925bbee33b562 | |
parent | 8c15ec9bc01a96e707daeef2f0955bdc97867201 (diff) | |
download | vdr-plugin-markad-216d281a0ea6140a6c1e0190a3ea2ae9ff5e467a.tar.gz vdr-plugin-markad-216d281a0ea6140a6c1e0190a3ea2ae9ff5e467a.tar.bz2 |
Enhance contrast, if the picture is all too dark
-rw-r--r-- | video.cpp | 12 |
1 files changed, 4 insertions, 8 deletions
@@ -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) |