MythTV  master
Public Types | Public Member Functions | Static Public Attributes | Private Attributes | List of all members
HistogramAnalyzer Class Reference

#include <mythcommflag/HistogramAnalyzer.h>

Collaboration diagram for HistogramAnalyzer:
[legend]

Public Types

using Histogram = std::array< uint8_t, UCHAR_MAX+1 >
 

Public Member Functions

 HistogramAnalyzer (std::shared_ptr< PGMConverter > pgmc, std::shared_ptr< BorderDetector > bd, const QString &debugdir)
 
 ~HistogramAnalyzer ()
 
enum FrameAnalyzer::analyzeFrameResult MythPlayerInited (MythPlayer *player, long long nframes)
 
void setLogoState (TemplateFinder *finder)
 
enum FrameAnalyzer::analyzeFrameResult analyzeFrame (const MythVideoFrame *frame, long long frameno)
 
int finished (long long nframes, bool final)
 
int reportTime (void) const
 
const float * getMeans (void) const
 
const unsigned char * getMedians (void) const
 
const float * getStdDevs (void) const
 
const HistogramgetHistograms (void) const
 
const unsigned char * getMonochromatics (void) const
 

Static Public Attributes

static const long long kUncached = -1
 

Private Attributes

std::shared_ptr< PGMConverterm_pgmConverter {nullptr}
 
std::shared_ptr< BorderDetectorm_borderDetector {nullptr}
 
TemplateFinderm_logoFinder {nullptr}
 
const struct AVFramem_logo {nullptr}
 
int m_logoWidth {-1}
 
int m_logoHeight {-1}
 
int m_logoRr1 {-1}
 
int m_logoCc1 {-1}
 
int m_logoRr2 {-1}
 
int m_logoCc2 {-1}
 
float * m_mean {nullptr}
 
unsigned char * m_median {nullptr}
 
float * m_stddev {nullptr}
 
int * m_fRow {nullptr}
 
int * m_fCol {nullptr}
 
int * m_fWidth {nullptr}
 
int * m_fHeight {nullptr}
 
Histogramm_histogram {nullptr}
 
unsigned char * m_monochromatic {nullptr}
 
std::array< int, UCHAR_MAX+1 > m_histVal {0}
 
unsigned char * m_buf {nullptr}
 
long long m_lastFrameNo {-1}
 
int m_debugLevel {0}
 
QString m_debugdata
 
bool m_debugHistVal {false}
 
bool m_histValDone {false}
 
std::chrono::microseconds m_analyzeTime {0us}
 

Detailed Description

Definition at line 16 of file HistogramAnalyzer.h.

Member Typedef Documentation

◆ Histogram

using HistogramAnalyzer::Histogram = std::array<uint8_t,UCHAR_MAX+1>

Definition at line 35 of file HistogramAnalyzer.h.

Constructor & Destructor Documentation

◆ HistogramAnalyzer()

HistogramAnalyzer::HistogramAnalyzer ( std::shared_ptr< PGMConverter pgmc,
std::shared_ptr< BorderDetector bd,
const QString &  debugdir 
)

Definition at line 141 of file HistogramAnalyzer.cpp.

◆ ~HistogramAnalyzer()

HistogramAnalyzer::~HistogramAnalyzer ( )

Definition at line 167 of file HistogramAnalyzer.cpp.

Member Function Documentation

◆ MythPlayerInited()

enum FrameAnalyzer::analyzeFrameResult HistogramAnalyzer::MythPlayerInited ( MythPlayer player,
long long  nframes 
)

Definition at line 182 of file HistogramAnalyzer.cpp.

◆ setLogoState()

void HistogramAnalyzer::setLogoState ( TemplateFinder finder)

Definition at line 258 of file HistogramAnalyzer.cpp.

Referenced by CommDetector2::CommDetector2().

◆ analyzeFrame()

enum FrameAnalyzer::analyzeFrameResult HistogramAnalyzer::analyzeFrame ( const MythVideoFrame frame,
long long  frameno 
)

Definition at line 266 of file HistogramAnalyzer.cpp.

◆ finished()

int HistogramAnalyzer::finished ( long long  nframes,
bool  final 
)

Definition at line 412 of file HistogramAnalyzer.cpp.

◆ reportTime()

int HistogramAnalyzer::reportTime ( void  ) const

Definition at line 430 of file HistogramAnalyzer.cpp.

◆ getMeans()

const float* HistogramAnalyzer::getMeans ( void  ) const
inline

Definition at line 37 of file HistogramAnalyzer.h.

◆ getMedians()

const unsigned char* HistogramAnalyzer::getMedians ( void  ) const
inline

Definition at line 38 of file HistogramAnalyzer.h.

◆ getStdDevs()

const float* HistogramAnalyzer::getStdDevs ( void  ) const
inline

Definition at line 39 of file HistogramAnalyzer.h.

◆ getHistograms()

const Histogram* HistogramAnalyzer::getHistograms ( void  ) const
inline

Definition at line 40 of file HistogramAnalyzer.h.

◆ getMonochromatics()

const unsigned char* HistogramAnalyzer::getMonochromatics ( void  ) const
inline

Definition at line 41 of file HistogramAnalyzer.h.

Member Data Documentation

◆ kUncached

const long long HistogramAnalyzer::kUncached = -1
static

Definition at line 28 of file HistogramAnalyzer.h.

Referenced by analyzeFrame().

◆ m_pgmConverter

std::shared_ptr<PGMConverter> HistogramAnalyzer::m_pgmConverter {nullptr}
private

Definition at line 44 of file HistogramAnalyzer.h.

Referenced by analyzeFrame(), MythPlayerInited(), and reportTime().

◆ m_borderDetector

std::shared_ptr<BorderDetector> HistogramAnalyzer::m_borderDetector {nullptr}
private

Definition at line 45 of file HistogramAnalyzer.h.

Referenced by analyzeFrame(), MythPlayerInited(), and reportTime().

◆ m_logoFinder

TemplateFinder* HistogramAnalyzer::m_logoFinder {nullptr}
private

Definition at line 47 of file HistogramAnalyzer.h.

Referenced by MythPlayerInited(), and setLogoState().

◆ m_logo

const struct AVFrame* HistogramAnalyzer::m_logo {nullptr}
private

Definition at line 48 of file HistogramAnalyzer.h.

Referenced by analyzeFrame(), and MythPlayerInited().

◆ m_logoWidth

int HistogramAnalyzer::m_logoWidth {-1}
private

Definition at line 49 of file HistogramAnalyzer.h.

Referenced by MythPlayerInited().

◆ m_logoHeight

int HistogramAnalyzer::m_logoHeight {-1}
private

Definition at line 50 of file HistogramAnalyzer.h.

Referenced by MythPlayerInited().

◆ m_logoRr1

int HistogramAnalyzer::m_logoRr1 {-1}
private

Definition at line 51 of file HistogramAnalyzer.h.

Referenced by analyzeFrame(), and MythPlayerInited().

◆ m_logoCc1

int HistogramAnalyzer::m_logoCc1 {-1}
private

Definition at line 52 of file HistogramAnalyzer.h.

Referenced by analyzeFrame(), and MythPlayerInited().

◆ m_logoRr2

int HistogramAnalyzer::m_logoRr2 {-1}
private

Definition at line 53 of file HistogramAnalyzer.h.

Referenced by analyzeFrame(), and MythPlayerInited().

◆ m_logoCc2

int HistogramAnalyzer::m_logoCc2 {-1}
private

Definition at line 54 of file HistogramAnalyzer.h.

Referenced by analyzeFrame(), and MythPlayerInited().

◆ m_mean

float* HistogramAnalyzer::m_mean {nullptr}
private

◆ m_median

unsigned char* HistogramAnalyzer::m_median {nullptr}
private

◆ m_stddev

float* HistogramAnalyzer::m_stddev {nullptr}
private

◆ m_fRow

int* HistogramAnalyzer::m_fRow {nullptr}
private

Definition at line 60 of file HistogramAnalyzer.h.

Referenced by analyzeFrame(), finished(), MythPlayerInited(), and ~HistogramAnalyzer().

◆ m_fCol

int* HistogramAnalyzer::m_fCol {nullptr}
private

Definition at line 61 of file HistogramAnalyzer.h.

Referenced by analyzeFrame(), finished(), MythPlayerInited(), and ~HistogramAnalyzer().

◆ m_fWidth

int* HistogramAnalyzer::m_fWidth {nullptr}
private

Definition at line 62 of file HistogramAnalyzer.h.

Referenced by analyzeFrame(), finished(), MythPlayerInited(), and ~HistogramAnalyzer().

◆ m_fHeight

int* HistogramAnalyzer::m_fHeight {nullptr}
private

Definition at line 63 of file HistogramAnalyzer.h.

Referenced by analyzeFrame(), finished(), MythPlayerInited(), and ~HistogramAnalyzer().

◆ m_histogram

Histogram* HistogramAnalyzer::m_histogram {nullptr}
private

◆ m_monochromatic

unsigned char* HistogramAnalyzer::m_monochromatic {nullptr}
private

◆ m_histVal

std::array<int,UCHAR_MAX+1> HistogramAnalyzer::m_histVal {0}
private

Definition at line 66 of file HistogramAnalyzer.h.

Referenced by analyzeFrame().

◆ m_buf

unsigned char* HistogramAnalyzer::m_buf {nullptr}
private

Definition at line 67 of file HistogramAnalyzer.h.

Referenced by analyzeFrame(), MythPlayerInited(), and ~HistogramAnalyzer().

◆ m_lastFrameNo

long long HistogramAnalyzer::m_lastFrameNo {-1}
private

Definition at line 68 of file HistogramAnalyzer.h.

Referenced by analyzeFrame().

◆ m_debugLevel

int HistogramAnalyzer::m_debugLevel {0}
private

Definition at line 71 of file HistogramAnalyzer.h.

Referenced by HistogramAnalyzer().

◆ m_debugdata

QString HistogramAnalyzer::m_debugdata
private

Definition at line 72 of file HistogramAnalyzer.h.

Referenced by finished(), and MythPlayerInited().

◆ m_debugHistVal

bool HistogramAnalyzer::m_debugHistVal {false}
private

Definition at line 73 of file HistogramAnalyzer.h.

Referenced by finished(), HistogramAnalyzer(), and MythPlayerInited().

◆ m_histValDone

bool HistogramAnalyzer::m_histValDone {false}
private

Definition at line 74 of file HistogramAnalyzer.h.

Referenced by finished(), and MythPlayerInited().

◆ m_analyzeTime

std::chrono::microseconds HistogramAnalyzer::m_analyzeTime {0us}
private

Definition at line 75 of file HistogramAnalyzer.h.

Referenced by analyzeFrame(), and reportTime().


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