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
6struct 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
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
double m_commDetectLogoGoodEdgeThreshold
unsigned int m_commDetectBorder
bool searchForLogo(MythCommFlagPlayer *player) override
unsigned char * m_logoMinValues
void DumpLogo(bool fromCurrentFrame, const unsigned char *framePtr)
void DetectEdges(MythVideoFrame *frame, EdgeMaskEntry *edges, int edgeDiff)
bool doesThisFrameContainTheFoundLogo(MythVideoFrame *frame) override
bool pixelInsideLogo(unsigned int x, unsigned int y) override
unsigned char * m_logoCheckMask
unsigned char * m_logoMask
unsigned int getRequiredAvailableBufferForSearch() override
unsigned char * m_logoMaxValues
unsigned char * m_logoFrame
virtual void deleteLater(void)
ClassicLogoDetector(ClassicCommDetector *commDetector, unsigned int width, unsigned int height, unsigned int commdetectborder)
ClassicCommDetector * m_commDetector
EdgeMaskEntry * m_edgeMask
CommDetectorBase * commDetector