Go to the documentation of this file.
18 #ifndef TEMPLATEFINDER_H
19 #define TEMPLATEFINDER_H
22 #include "libavcodec/avcodec.h"
35 std::shared_ptr<BorderDetector> bd,
36 std::shared_ptr<EdgeDetector> ed,
37 MythPlayer *player, std::chrono::seconds proglen,
38 const QString& debugdir);
40 std::shared_ptr<BorderDetector> bd,
41 std::shared_ptr<EdgeDetector> ed,
42 MythPlayer *player,
int proglen,
const QString& debugdir) :
44 player,
std::chrono::seconds(proglen), debugdir) {};
48 const char *
name(
void)
const override
49 {
return "TemplateFinder"; }
51 long long nframes)
override;
53 long long frameno,
long long *pNextFrame)
override;
54 int finished(
long long nframes,
bool final)
override;
61 int *pwidth,
int *pheight)
const;
std::chrono::microseconds m_analyzeTime
QMap< long long, long long > FrameMap
TemplateFinder(std::shared_ptr< PGMConverter > pgmc, std::shared_ptr< BorderDetector > bd, std::shared_ptr< EdgeDetector > ed, MythPlayer *player, int proglen, const QString &debugdir)
std::shared_ptr< EdgeDetector > m_edgeDetector
std::shared_ptr< BorderDetector > m_borderDetector
enum analyzeFrameResult MythPlayerInited(MythPlayer *player, long long nframes) override
const char * name(void) const override
std::chrono::seconds m_sampleTime
int reportTime(void) const override
TemplateFinder(std::shared_ptr< PGMConverter > pgmc, std::shared_ptr< BorderDetector > bd, std::shared_ptr< EdgeDetector > ed, MythPlayer *player, std::chrono::seconds proglen, const QString &debugdir)
FrameMap GetMap(unsigned int) const override
int finished(long long nframes, bool final) override
int resetBuffers(int newwidth, int newheight)
enum analyzeFrameResult analyzeFrame(const MythVideoFrame *frame, long long frameno, long long *pNextFrame) override
const struct AVFrame * getTemplate(int *prow, int *pcol, int *pwidth, int *pheight) const
~TemplateFinder(void) override
std::shared_ptr< PGMConverter > m_pgmConverter