diff options
author | Jochen Dolze <vdr@dolze.de> | 2010-03-11 00:04:23 +0100 |
---|---|---|
committer | Jochen Dolze <vdr@dolze.de> | 2010-03-11 00:04:23 +0100 |
commit | c0c8c2ec49cc6824d1660a35756806bd885aeb4b (patch) | |
tree | 19d6415223cbd0aba8c596ba3105361e302294f2 /video.cpp | |
parent | f64031be1c24e2a7dd7a7b02dae47dc2998e651d (diff) | |
download | vdr-plugin-markad-c0c8c2ec49cc6824d1660a35756806bd885aeb4b.tar.gz vdr-plugin-markad-c0c8c2ec49cc6824d1660a35756806bd885aeb4b.tar.bz2 |
Improved H264 handling, added new logos
Diffstat (limited to 'video.cpp')
-rw-r--r-- | video.cpp | 21 |
1 files changed, 12 insertions, 9 deletions
@@ -39,7 +39,14 @@ cMarkAdLogo::cMarkAdLogo(int RecvNumber, MarkAdContext *maContext) memset(&area,0,sizeof(area)); LOGOHEIGHT=LOGO_DEFHEIGHT; - LOGOWIDTH=LOGO_DEFWIDTH; + if (maContext->General.VPid.Type==MARKAD_PIDTYPE_VIDEO_H264) + { + LOGOWIDTH=LOGO_MAXWIDTH; + } + else + { + LOGOWIDTH=LOGO_DEFWIDTH; + } area.status=UNINITIALIZED; } @@ -285,7 +292,7 @@ int cMarkAdLogo::Detect(int lastiframe, int *logoiframe) if (area.rpixel<(area.mpixel*0.4)) { - if (area.status==LOGO) + if (area.status==LOGO) { if (area.counter>LOGO_MAXCOUNT) { @@ -304,17 +311,13 @@ int cMarkAdLogo::Detect(int lastiframe, int *logoiframe) area.counter=0; } } + // Save(lastiframe,area.sobel); // TODO: JUST FOR DEBUGGING! } else { Save(lastiframe,area.sobel); } } - else - { - if (area.status==LOGO) area.counter=0; - } - return ret; } @@ -557,7 +560,7 @@ MarkAdMark *cMarkAdVideo::Process(int LastIFrame) if (asprintf(&buf,"detected logo start (%i)",logoiframe)!=-1) { isyslog("markad [%i]: %s",recvnumber,buf); - AddMark(LastIFrame,buf); + AddMark(logoiframe,buf); free(buf); } } @@ -566,7 +569,7 @@ MarkAdMark *cMarkAdVideo::Process(int LastIFrame) if (asprintf(&buf,"detected logo stop (%i)",logoiframe)!=-1) { isyslog("markad [%i]: %s",recvnumber,buf); - AddMark(LastIFrame,buf); + AddMark(logoiframe,buf); free(buf); } } |