00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef __BORDERDETECTOR_H__
00013 #define __BORDERDETECTOR_H__
00014
00015 typedef struct AVPicture AVPicture;
00016 class NuppelVideoPlayer;
00017 class TemplateFinder;
00018
00019 class BorderDetector
00020 {
00021 public:
00022
00023 BorderDetector(void);
00024 ~BorderDetector(void);
00025
00026 int nuppelVideoPlayerInited(const NuppelVideoPlayer *nvp);
00027 void setLogoState(TemplateFinder *finder);
00028
00029 static const long long UNCACHED = -1;
00030 int getDimensions(const AVPicture *pgm, int pgmheight, long long frameno,
00031 int *prow, int *pcol, int *pwidth, int *pheight);
00032
00033 int reportTime(void);
00034
00035 private:
00036 TemplateFinder *logoFinder;
00037 const struct AVPicture *logo;
00038 int logorow, logocol;
00039 int logowidth, logoheight;
00040
00041 long long frameno;
00042 int row, col;
00043 int width, height;
00044 bool ismonochromatic;
00045
00046
00047 int debugLevel;
00048 struct timeval analyze_time;
00049 bool time_reported;
00050 };
00051
00052 #endif
00053
00054