Go to the documentation of this file.
18 #ifndef TEMPLATEMATCHER_H
19 #define TEMPLATEMATCHER_H
22 #include "libavcodec/avcodec.h"
37 const QString& debugdir);
41 const char *
name(
void)
const override
42 {
return "TemplateMatcher"; }
44 long long nframes)
override;
46 long long frameno,
long long *pNextFrame)
override;
47 int finished(
long long nframes,
bool final)
override;
const FrameAnalyzer::FrameMap * getBreaks(void) const
QMap< int, FrameList * > FrameMap
std::shared_ptr< EdgeDetector > m_edgeDetector
const char * name(void) const override
QMap< long long, long long > FrameMap
FrameMap GetMap(unsigned int) const override
FrameAnalyzer::FrameMap m_breakMap
TemplateFinder * m_templateFinder
int templateCoverage(long long nframes, bool final) const
TemplateMatcher(std::shared_ptr< PGMConverter > pgmc, std::shared_ptr< EdgeDetector > ed, TemplateFinder *tf, const QString &debugdir)
std::shared_ptr< PGMConverter > m_pgmConverter
unsigned short * m_matches
enum analyzeFrameResult analyzeFrame(const MythVideoFrame *frame, long long frameno, long long *pNextFrame) override
int finished(long long nframes, bool final) override
const struct AVFrame * m_tmpl
~TemplateMatcher(void) override
int computeBreaks(FrameMap *breaks)
int reportTime(void) const override
enum analyzeFrameResult MythPlayerInited(MythPlayer *player, long long nframes) override
std::chrono::microseconds m_analyzeTime
int adjustForBlanks(const BlankFrameDetector *blankFrameDetector, long long nframes)