summaryrefslogtreecommitdiff
path: root/ttxtsubsfilter.h
diff options
context:
space:
mode:
authorTobias Grimm <tobias@e-tobi.loc>2008-12-13 10:35:43 +0100
committerTobias Grimm <tobias@e-tobi.loc>2008-12-13 10:35:43 +0100
commit76ac85e366bfc27b3b688a4f13031c0735ea2436 (patch)
tree0f4f27bb366be92faee4e8c05fe01cccb32a9794 /ttxtsubsfilter.h
downloadvdr-plugin-ttxtsubs-0.0.1.tar.gz
vdr-plugin-ttxtsubs-0.0.1.tar.bz2
Initial version 0.0.1v0.0.1
Diffstat (limited to 'ttxtsubsfilter.h')
-rw-r--r--ttxtsubsfilter.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/ttxtsubsfilter.h b/ttxtsubsfilter.h
new file mode 100644
index 0000000..3e09b20
--- /dev/null
+++ b/ttxtsubsfilter.h
@@ -0,0 +1,27 @@
+
+// ----- cTtxtSubsFilter -----
+
+// Filters out the pages on one teletext stream
+class cTtxtSubsFilter
+{
+ public:
+ cTtxtSubsFilter(void);
+ virtual ~cTtxtSubsFilter(void);
+
+ void SetPages(int count, uint16_t *pages);
+
+ // indata and outdata are pointers to a ttxt data row buffers,
+ // if return value <> 0 outdata countains data to pass on
+ int Filter(char *indata, char *outdata);
+
+ private:
+ void FreePages(void);
+ int Find(int count, uint16_t *pages, uint16_t pageno);
+ void MakeY0(char *outdata, char *indata, uint16_t newpageno);
+
+ int mCount; // number of pages to filter out
+ uint16_t *mPages; // array of page numbers
+ int mMagPage[8]; /* index into pages for each mag number, or -1 if
+ not currently collecting pages for that mag */
+};
+