MythTV  master
ClassicLogoDetector.h
Go to the documentation of this file.
1 #ifndef CLASSICLOGOGEDETECTOR_H
2 #define CLASSICLOGOGEDETECTOR_H
3 
4 #include "LogoDetectorBase.h"
5 
6 struct EdgeMaskEntry;
8 
10 {
11  public:
13  unsigned int height, unsigned int commdetectborder);
14  virtual void deleteLater(void);
15 
16  bool searchForLogo(MythCommFlagPlayer* player) override; // LogoDetectorBase
17  bool doesThisFrameContainTheFoundLogo(MythVideoFrame* frame) override; // LogoDetectorBase
18  bool pixelInsideLogo(unsigned int x, unsigned int y) override; // LogoDetectorBase
19 
20  unsigned int getRequiredAvailableBufferForSearch() override; // LogoDetectorBase
21 
22  protected:
23  ~ClassicLogoDetector() override;
24 
25  private:
26  void SetLogoMaskArea();
27  void DumpLogo(bool fromCurrentFrame,const unsigned char* framePtr);
28  void DetectEdges(MythVideoFrame *frame, EdgeMaskEntry *edges, int edgeDiff);
29 
31  unsigned int m_frameNumber {0};
32  unsigned int m_commDetectBorder {16};
33 
43 
45 
46  unsigned char *m_logoMaxValues {nullptr};
47  unsigned char *m_logoMinValues {nullptr};
48  unsigned char *m_logoFrame {nullptr};
49  unsigned char *m_logoMask {nullptr};
50  unsigned char *m_logoCheckMask {nullptr};
51 
52  int m_logoEdgeDiff {0};
53  unsigned int m_logoMinX {0};
54  unsigned int m_logoMaxX {0};
55  unsigned int m_logoMinY {0};
56  unsigned int m_logoMaxY {0};
57 
58  bool m_logoInfoAvailable {false};
59 };
60 
61 #endif // CLASSICLOGOGEDETECTOR_H
62 
63 /* vim: set expandtab tabstop=4 shiftwidth=4: */
64 
EdgeMaskEntry
Definition: ClassicLogoDetector.cpp:18
ClassicLogoDetector::m_logoMaxY
unsigned int m_logoMaxY
Definition: ClassicLogoDetector.h:56
ClassicLogoDetector::m_commDetectLogoSecondsNeeded
int m_commDetectLogoSecondsNeeded
Definition: ClassicLogoDetector.h:36
ClassicLogoDetector::SetLogoMaskArea
void SetLogoMaskArea()
Definition: ClassicLogoDetector.cpp:281
ClassicLogoDetector::pixelInsideLogo
bool pixelInsideLogo(unsigned int x, unsigned int y) override
Definition: ClassicLogoDetector.cpp:440
commDetector
CommDetectorBase * commDetector
Definition: mythcommflag.cpp:75
ClassicLogoDetector::m_logoMask
unsigned char * m_logoMask
Definition: ClassicLogoDetector.h:49
LogoDetectorBase.h
ClassicLogoDetector::m_commDetectLogoLocation
QString m_commDetectLogoLocation
Definition: ClassicLogoDetector.h:42
ClassicLogoDetector::m_logoMaxValues
unsigned char * m_logoMaxValues
Definition: ClassicLogoDetector.h:46
ClassicLogoDetector::m_commDetectLogoGoodEdgeThreshold
double m_commDetectLogoGoodEdgeThreshold
Definition: ClassicLogoDetector.h:40
ClassicLogoDetector::doesThisFrameContainTheFoundLogo
bool doesThisFrameContainTheFoundLogo(MythVideoFrame *frame) override
Definition: ClassicLogoDetector.cpp:376
ClassicLogoDetector::m_commDetector
ClassicCommDetector * m_commDetector
Definition: ClassicLogoDetector.h:30
ClassicLogoDetector::m_logoFrame
unsigned char * m_logoFrame
Definition: ClassicLogoDetector.h:48
ClassicLogoDetector::m_edgeMask
EdgeMaskEntry * m_edgeMask
Definition: ClassicLogoDetector.h:44
ClassicLogoDetector::m_commDetectLogoWidthRatio
int m_commDetectLogoWidthRatio
Definition: ClassicLogoDetector.h:37
ClassicLogoDetector::searchForLogo
bool searchForLogo(MythCommFlagPlayer *player) override
Definition: ClassicLogoDetector.cpp:85
ClassicLogoDetector::m_logoMinX
unsigned int m_logoMinX
Definition: ClassicLogoDetector.h:53
ClassicLogoDetector::DetectEdges
void DetectEdges(MythVideoFrame *frame, EdgeMaskEntry *edges, int edgeDiff)
Definition: ClassicLogoDetector.cpp:449
ClassicLogoDetector::m_logoEdgeDiff
int m_logoEdgeDiff
Definition: ClassicLogoDetector.h:52
ClassicLogoDetector::m_commDetectLogoBadEdgeThreshold
double m_commDetectLogoBadEdgeThreshold
Definition: ClassicLogoDetector.h:41
ClassicLogoDetector::m_commDetectLogoSampleSpacing
int m_commDetectLogoSampleSpacing
Definition: ClassicLogoDetector.h:35
ClassicLogoDetector::m_commDetectLogoMinPixels
int m_commDetectLogoMinPixels
Definition: ClassicLogoDetector.h:39
ClassicLogoDetector::deleteLater
virtual void deleteLater(void)
Definition: ClassicLogoDetector.cpp:79
MythCommFlagPlayer
Definition: mythcommflagplayer.h:25
ClassicLogoDetector::getRequiredAvailableBufferForSearch
unsigned int getRequiredAvailableBufferForSearch() override
Definition: ClassicLogoDetector.cpp:74
ClassicCommDetector
Definition: ClassicCommDetector.h:46
ClassicLogoDetector::ClassicLogoDetector
ClassicLogoDetector(ClassicCommDetector *commDetector, unsigned int width, unsigned int height, unsigned int commdetectborder)
Definition: ClassicLogoDetector.cpp:28
LogoDetectorBase
Definition: LogoDetectorBase.h:9
ClassicLogoDetector::m_logoCheckMask
unsigned char * m_logoCheckMask
Definition: ClassicLogoDetector.h:50
ClassicLogoDetector::~ClassicLogoDetector
~ClassicLogoDetector() override
Definition: ClassicLogoDetector.cpp:64
ClassicLogoDetector::DumpLogo
void DumpLogo(bool fromCurrentFrame, const unsigned char *framePtr)
Definition: ClassicLogoDetector.cpp:324
ClassicLogoDetector::m_logoMaxX
unsigned int m_logoMaxX
Definition: ClassicLogoDetector.h:54
ClassicLogoDetector::m_commDetectLogoHeightRatio
int m_commDetectLogoHeightRatio
Definition: ClassicLogoDetector.h:38
ClassicLogoDetector
Definition: ClassicLogoDetector.h:9
ClassicLogoDetector::m_logoMinY
unsigned int m_logoMinY
Definition: ClassicLogoDetector.h:55
ClassicLogoDetector::m_commDetectBorder
unsigned int m_commDetectBorder
Definition: ClassicLogoDetector.h:32
ClassicLogoDetector::m_frameNumber
unsigned int m_frameNumber
Definition: ClassicLogoDetector.h:31
ClassicLogoDetector::m_logoMinValues
unsigned char * m_logoMinValues
Definition: ClassicLogoDetector.h:47
MythVideoFrame
Definition: mythframe.h:88
ClassicLogoDetector::m_commDetectLogoSamplesNeeded
int m_commDetectLogoSamplesNeeded
Definition: ClassicLogoDetector.h:34
ClassicLogoDetector::m_logoInfoAvailable
bool m_logoInfoAvailable
Definition: ClassicLogoDetector.h:58