diff options
author | Jochen Dolze <vdr@dolze.de> | 2010-10-24 23:03:25 +0200 |
---|---|---|
committer | Jochen Dolze <vdr@dolze.de> | 2010-10-24 23:03:25 +0200 |
commit | 27bc40995aa61caf786300bae6a031cead497f29 (patch) | |
tree | 490d0f803ce1137d856d9bd221036d056b2c5e76 | |
parent | 8cf0800ad613a165c07424b84fd84b60b586c6f8 (diff) | |
download | vdr-plugin-markad-27bc40995aa61caf786300bae6a031cead497f29.tar.gz vdr-plugin-markad-27bc40995aa61caf786300bae6a031cead497f29.tar.bz2 |
Small fix on Logo detection
-rw-r--r-- | command/markad-standalone.cpp | 19 | ||||
-rw-r--r-- | command/video.cpp | 1 |
2 files changed, 18 insertions, 2 deletions
diff --git a/command/markad-standalone.cpp b/command/markad-standalone.cpp index c756a31..b34afb1 100644 --- a/command/markad-standalone.cpp +++ b/command/markad-standalone.cpp @@ -343,12 +343,14 @@ void cMarkAdStandalone::CheckStartStop(int frame, bool checkend) free(buf); } int MARKDIFF=(int) (macontext.Video.Info.FramesPerSecond*MAXRANGE); +#if 0 clMark *before_iStart=marks.GetPrev(iStart,MT_START,0xF); if (before_iStart) { int tmpdiff=abs(iStart-before_iStart->position); if (tmpdiff<MARKDIFF) MARKDIFF=tmpdiff; } +#endif iStartCheck=iStart+MARKDIFF; CalculateStopPosition(iStart,MARKDIFF); } @@ -453,6 +455,11 @@ void cMarkAdStandalone::CheckFirstMark() } marks.Del(first); marksAligned=true; + first=marks.GetFirst(); + if (first) + { + CalculateStopPosition(first->position,macontext.Video.Info.FramesPerSecond*MAXRANGE); + } return; } @@ -527,6 +534,11 @@ void cMarkAdStandalone::CheckInfoAspectRatio() if ((macontext.Info.AspectRatio.Num==16) && (macontext.Info.AspectRatio.Den==9)) { + if (!macontext.Info.Channels) + { + macontext.Info.Channels=macontext.Audio.Info.Channels; + if (macontext.Info.Channels==2) setAudio20=true; + } macontext.Video.Options.IgnoreAspectRatio=true; setVideo169=true; setVideo43=false; @@ -1169,7 +1181,6 @@ bool cMarkAdStandalone::ProcessFile(int Number) if (abort) return false; - //const int datalen=8272; const int datalen=319976; uchar data[datalen]; @@ -1834,7 +1845,11 @@ bool cMarkAdStandalone::LoadInfo() isyslog("broadcast with DolbyDigital2.0%s",macontext.Config->AC3Always ? "" : ", disabling AC3 decoding"); - if (!macontext.Config->AC3Always) macontext.Info.DPid.Num=0; + if (!macontext.Config->AC3Always) + { + macontext.Info.DPid.Num=0; + macontext.Info.Channels=2; + } } else // if we have DolbyDigital 5.1 disable video decoding diff --git a/command/video.cpp b/command/video.cpp index 1211a3f..e51bd51 100644 --- a/command/video.cpp +++ b/command/video.cpp @@ -384,6 +384,7 @@ int cMarkAdLogo::Detect(int framenumber, int *logoframenumber) } else { + if (!area.counter) area.framenumber=framenumber; area.counter++; } } |