summaryrefslogtreecommitdiff
path: root/command/video.h
diff options
context:
space:
mode:
Diffstat (limited to 'command/video.h')
-rw-r--r--command/video.h31
1 files changed, 18 insertions, 13 deletions
diff --git a/command/video.h b/command/video.h
index 22bcec7..8be247b 100644
--- a/command/video.h
+++ b/command/video.h
@@ -83,18 +83,21 @@ private:
struct areaT
{
- uchar source[MAXPIXEL]; // original grayscale picture
- uchar sobel[MAXPIXEL]; // monochrome picture with edges (after sobel)
- uchar mask[MAXPIXEL]; // monochrome mask of logo
- uchar result[MAXPIXEL]; // result of sobel + mask
- int rpixel; // black pixel in result
- int mpixel; // black pixel in mask
- int status; // status = LOGO on, off, uninitialized
- int framenumber; // start/stop frame
- int counter; // how many logo on, offs detected?
- int corner; // which corner
+#ifdef VDRDEBUG
+ uchar source[4][MAXPIXEL]; // original picture
+#endif
+ uchar sobel[4][MAXPIXEL]; // monochrome picture with edges (after sobel)
+ uchar mask[4][MAXPIXEL]; // monochrome mask of logo
+ uchar result[4][MAXPIXEL]; // result of sobel + mask
+ int rpixel[4]; // black pixel in result
+ int mpixel[4]; // black pixel in mask
+ int status; // status = LOGO on, off, uninitialized
+ int framenumber; // start/stop frame
+ int counter; // how many logo on, offs detected?
+ int corner; // which corner
+ int intensity; // intensity (higher -> brighter)
MarkAdAspectRatio aspectratio; // aspectratio
- bool valid; // logo mask valid?
+ bool valid[4]; // logo mask valid?
} area;
int G[5][5];
@@ -102,9 +105,11 @@ private:
int GY[3][3];
MarkAdContext *macontext;
+ bool pixfmt_info;
+ int SobelPlane(int plane); // do sobel operation on plane
int Detect(int framenumber, int *logoframenumber); // ret 1 = logo, 0 = unknown, -1 = no logo
- int Load(char *directory, char *file);
- void Save(int framenumber, uchar *picture);
+ int Load(char *directory, char *file, int plane);
+ void Save(int framenumber, uchar picture[4][MAXPIXEL], int plane);
public:
cMarkAdLogo(MarkAdContext *maContext);
int Process(int FrameNumber, int *LogoFrameNumber);