diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2002-09-08 14:17:51 +0200 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2002-09-08 14:17:51 +0200 |
commit | 9133fdcf630192fb57b7db4e3b35839588c3451d (patch) | |
tree | 38b51eb9d1bd241f1a7a28192d42f7bd91f59523 /spu.h | |
parent | 1b396902e488e093234ac181bbc0e514dd098942 (diff) | |
download | vdr-9133fdcf630192fb57b7db4e3b35839588c3451d.tar.gz vdr-9133fdcf630192fb57b7db4e3b35839588c3451d.tar.bz2 |
Implemented an SPU decoder
Diffstat (limited to 'spu.h')
-rw-r--r-- | spu.h | 38 |
1 files changed, 38 insertions, 0 deletions
@@ -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 |