summaryrefslogtreecommitdiff
path: root/spu.h
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2002-09-08 14:17:51 +0200
committerKlaus Schmidinger <vdr@tvdr.de>2002-09-08 14:17:51 +0200
commit9133fdcf630192fb57b7db4e3b35839588c3451d (patch)
tree38b51eb9d1bd241f1a7a28192d42f7bd91f59523 /spu.h
parent1b396902e488e093234ac181bbc0e514dd098942 (diff)
downloadvdr-9133fdcf630192fb57b7db4e3b35839588c3451d.tar.gz
vdr-9133fdcf630192fb57b7db4e3b35839588c3451d.tar.bz2
Implemented an SPU decoder
Diffstat (limited to 'spu.h')
-rw-r--r--spu.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/spu.h b/spu.h
new file mode 100644
index 00000000..1ccc74b9
--- /dev/null
+++ b/spu.h
@@ -0,0 +1,38 @@
+/*
+ * SPU Decoder Prototype
+ *
+ * Copyright (C) 2001.2002 Andreas Schultz <aschultz@warp10.net>
+ *
+ * This code is distributed under the terms and conditions of the
+ * GNU GENERAL PUBLIC LICENSE. See the file COPYING for details.
+ *
+ * $Id: spu.h 1.1 2002/09/08 14:17:51 kls Exp $
+ */
+
+#ifndef __SPU_VDR_H
+#define __SPU_VDR_H
+
+#include <inttypes.h>
+
+// --- cSpuDecoder -------------------------------------------
+
+class cSpuDecoder {
+ public:
+ typedef enum { eSpuNormal, eSpuLetterBox, eSpuPanAndScan } eScaleMode;
+ public:
+ // cSpuDecoder();
+ virtual ~ cSpuDecoder();
+
+ virtual int setTime(uint32_t pts) = 0;
+
+ virtual void setScaleMode(cSpuDecoder::eScaleMode ScaleMode) = 0;
+ virtual void setPalette(uint32_t * pal) = 0;
+ virtual void setHighlight(uint16_t sx, uint16_t sy,
+ uint16_t ex, uint16_t ey,
+ uint32_t palette) = 0;
+ virtual void clearHighlight(void) = 0;
+ virtual void Empty(void) = 0;
+ virtual void processSPU(uint32_t pts, uint8_t * buf) = 0;
+};
+
+#endif // __SPU_VDR_H