MythTV  master
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
ClassicLogoDetector Class Reference

#include <mythcommflag/ClassicLogoDetector.h>

Inheritance diagram for ClassicLogoDetector:
[legend]
Collaboration diagram for ClassicLogoDetector:
[legend]

Public Member Functions

 ClassicLogoDetector (ClassicCommDetector *commDetector, unsigned int width, unsigned int height, unsigned int commdetectborder)
 
virtual void deleteLater (void)
 
bool searchForLogo (MythCommFlagPlayer *player) override
 
bool doesThisFrameContainTheFoundLogo (MythVideoFrame *frame) override
 
bool pixelInsideLogo (unsigned int x, unsigned int y) override
 
unsigned int getRequiredAvailableBufferForSearch () override
 
- Public Member Functions inherited from LogoDetectorBase
 LogoDetectorBase (unsigned int w, unsigned int h)
 

Protected Member Functions

 ~ClassicLogoDetector () override
 
- Protected Member Functions inherited from LogoDetectorBase
 ~LogoDetectorBase () override=default
 

Private Member Functions

void SetLogoMaskArea ()
 
void DumpLogo (bool fromCurrentFrame, const unsigned char *framePtr)
 
void DetectEdges (MythVideoFrame *frame, EdgeMaskEntry *edges, int edgeDiff)
 

Private Attributes

ClassicCommDetectorm_commDetector {nullptr}
 
unsigned int m_frameNumber {0}
 
unsigned int m_commDetectBorder {16}
 
int m_commDetectLogoSamplesNeeded {240}
 
int m_commDetectLogoSampleSpacing {2}
 
int m_commDetectLogoSecondsNeeded {624}
 
int m_commDetectLogoWidthRatio {4}
 
int m_commDetectLogoHeightRatio {4}
 
int m_commDetectLogoMinPixels {50}
 
double m_commDetectLogoGoodEdgeThreshold {0.75}
 
double m_commDetectLogoBadEdgeThreshold {0.85}
 
QString m_commDetectLogoLocation
 
EdgeMaskEntrym_edgeMask {nullptr}
 
unsigned char * m_logoMaxValues {nullptr}
 
unsigned char * m_logoMinValues {nullptr}
 
unsigned char * m_logoFrame {nullptr}
 
unsigned char * m_logoMask {nullptr}
 
unsigned char * m_logoCheckMask {nullptr}
 
int m_logoEdgeDiff {0}
 
unsigned int m_logoMinX {0}
 
unsigned int m_logoMaxX {0}
 
unsigned int m_logoMinY {0}
 
unsigned int m_logoMaxY {0}
 
bool m_logoInfoAvailable {false}
 

Additional Inherited Members

- Signals inherited from LogoDetectorBase
void haveNewInformation (unsigned int framenum, bool haslogo, float debugValue=0.0)
 
- Protected Attributes inherited from LogoDetectorBase
bool m_foundLogo {false}
 
size_t m_width
 
size_t m_height
 

Detailed Description

Definition at line 9 of file ClassicLogoDetector.h.

Constructor & Destructor Documentation

◆ ClassicLogoDetector()

ClassicLogoDetector::ClassicLogoDetector ( ClassicCommDetector commDetector,
unsigned int  width,
unsigned int  height,
unsigned int  commdetectborder 
)

Definition at line 29 of file ClassicLogoDetector.cpp.

◆ ~ClassicLogoDetector()

ClassicLogoDetector::~ClassicLogoDetector ( )
overrideprotected

Definition at line 65 of file ClassicLogoDetector.cpp.

Member Function Documentation

◆ deleteLater()

void ClassicLogoDetector::deleteLater ( void  )
virtual

Definition at line 80 of file ClassicLogoDetector.cpp.

◆ searchForLogo()

bool ClassicLogoDetector::searchForLogo ( MythCommFlagPlayer player)
overridevirtual

Implements LogoDetectorBase.

Definition at line 86 of file ClassicLogoDetector.cpp.

◆ doesThisFrameContainTheFoundLogo()

bool ClassicLogoDetector::doesThisFrameContainTheFoundLogo ( MythVideoFrame frame)
overridevirtual

Implements LogoDetectorBase.

Definition at line 369 of file ClassicLogoDetector.cpp.

◆ pixelInsideLogo()

bool ClassicLogoDetector::pixelInsideLogo ( unsigned int  x,
unsigned int  y 
)
overridevirtual

Implements LogoDetectorBase.

Definition at line 433 of file ClassicLogoDetector.cpp.

◆ getRequiredAvailableBufferForSearch()

unsigned int ClassicLogoDetector::getRequiredAvailableBufferForSearch ( )
overridevirtual

Implements LogoDetectorBase.

Definition at line 75 of file ClassicLogoDetector.cpp.

◆ SetLogoMaskArea()

void ClassicLogoDetector::SetLogoMaskArea ( )
private

Definition at line 282 of file ClassicLogoDetector.cpp.

Referenced by searchForLogo().

◆ DumpLogo()

void ClassicLogoDetector::DumpLogo ( bool  fromCurrentFrame,
const unsigned char *  framePtr 
)
private

Definition at line 317 of file ClassicLogoDetector.cpp.

◆ DetectEdges()

void ClassicLogoDetector::DetectEdges ( MythVideoFrame frame,
EdgeMaskEntry edges,
int  edgeDiff 
)
private

Definition at line 442 of file ClassicLogoDetector.cpp.

Referenced by searchForLogo().

Member Data Documentation

◆ m_commDetector

ClassicCommDetector* ClassicLogoDetector::m_commDetector {nullptr}
private

Definition at line 30 of file ClassicLogoDetector.h.

Referenced by deleteLater(), and searchForLogo().

◆ m_frameNumber

unsigned int ClassicLogoDetector::m_frameNumber {0}
private

Definition at line 31 of file ClassicLogoDetector.h.

Referenced by doesThisFrameContainTheFoundLogo().

◆ m_commDetectBorder

unsigned int ClassicLogoDetector::m_commDetectBorder {16}
private

Definition at line 32 of file ClassicLogoDetector.h.

Referenced by DetectEdges().

◆ m_commDetectLogoSamplesNeeded

int ClassicLogoDetector::m_commDetectLogoSamplesNeeded {240}
private

Definition at line 34 of file ClassicLogoDetector.h.

Referenced by ClassicLogoDetector(), and searchForLogo().

◆ m_commDetectLogoSampleSpacing

int ClassicLogoDetector::m_commDetectLogoSampleSpacing {2}
private

Definition at line 35 of file ClassicLogoDetector.h.

Referenced by ClassicLogoDetector(), and searchForLogo().

◆ m_commDetectLogoSecondsNeeded

int ClassicLogoDetector::m_commDetectLogoSecondsNeeded {624}
private

Definition at line 36 of file ClassicLogoDetector.h.

Referenced by getRequiredAvailableBufferForSearch().

◆ m_commDetectLogoWidthRatio

int ClassicLogoDetector::m_commDetectLogoWidthRatio {4}
private

Definition at line 37 of file ClassicLogoDetector.h.

Referenced by ClassicLogoDetector(), and searchForLogo().

◆ m_commDetectLogoHeightRatio

int ClassicLogoDetector::m_commDetectLogoHeightRatio {4}
private

Definition at line 38 of file ClassicLogoDetector.h.

Referenced by ClassicLogoDetector(), and searchForLogo().

◆ m_commDetectLogoMinPixels

int ClassicLogoDetector::m_commDetectLogoMinPixels {50}
private

Definition at line 39 of file ClassicLogoDetector.h.

Referenced by ClassicLogoDetector(), and searchForLogo().

◆ m_commDetectLogoGoodEdgeThreshold

double ClassicLogoDetector::m_commDetectLogoGoodEdgeThreshold {0.75}
private

Definition at line 40 of file ClassicLogoDetector.h.

Referenced by ClassicLogoDetector(), and doesThisFrameContainTheFoundLogo().

◆ m_commDetectLogoBadEdgeThreshold

double ClassicLogoDetector::m_commDetectLogoBadEdgeThreshold {0.85}
private

Definition at line 41 of file ClassicLogoDetector.h.

Referenced by ClassicLogoDetector(), and doesThisFrameContainTheFoundLogo().

◆ m_commDetectLogoLocation

QString ClassicLogoDetector::m_commDetectLogoLocation
private

Definition at line 42 of file ClassicLogoDetector.h.

Referenced by ClassicLogoDetector(), and DetectEdges().

◆ m_edgeMask

EdgeMaskEntry* ClassicLogoDetector::m_edgeMask {nullptr}
private

◆ m_logoMaxValues

unsigned char* ClassicLogoDetector::m_logoMaxValues {nullptr}
private

Definition at line 46 of file ClassicLogoDetector.h.

Referenced by ~ClassicLogoDetector().

◆ m_logoMinValues

unsigned char* ClassicLogoDetector::m_logoMinValues {nullptr}
private

Definition at line 47 of file ClassicLogoDetector.h.

Referenced by ~ClassicLogoDetector().

◆ m_logoFrame

unsigned char* ClassicLogoDetector::m_logoFrame {nullptr}
private

Definition at line 48 of file ClassicLogoDetector.h.

Referenced by ~ClassicLogoDetector().

◆ m_logoMask

unsigned char* ClassicLogoDetector::m_logoMask {nullptr}
private

Definition at line 49 of file ClassicLogoDetector.h.

Referenced by DumpLogo(), and ~ClassicLogoDetector().

◆ m_logoCheckMask

unsigned char* ClassicLogoDetector::m_logoCheckMask {nullptr}
private

Definition at line 50 of file ClassicLogoDetector.h.

Referenced by ~ClassicLogoDetector().

◆ m_logoEdgeDiff

int ClassicLogoDetector::m_logoEdgeDiff {0}
private

Definition at line 52 of file ClassicLogoDetector.h.

Referenced by doesThisFrameContainTheFoundLogo(), and searchForLogo().

◆ m_logoMinX

unsigned int ClassicLogoDetector::m_logoMinX {0}
private

◆ m_logoMaxX

unsigned int ClassicLogoDetector::m_logoMaxX {0}
private

◆ m_logoMinY

unsigned int ClassicLogoDetector::m_logoMinY {0}
private

◆ m_logoMaxY

unsigned int ClassicLogoDetector::m_logoMaxY {0}
private

◆ m_logoInfoAvailable

bool ClassicLogoDetector::m_logoInfoAvailable {false}
private

Definition at line 58 of file ClassicLogoDetector.h.

Referenced by DumpLogo(), pixelInsideLogo(), and searchForLogo().


The documentation for this class was generated from the following files: