vdr
1.7.27
|
00001 /* 00002 * SPU Decoder Prototype 00003 * 00004 * Copyright (C) 2001.2002 Andreas Schultz <aschultz@warp10.net> 00005 * 00006 * This code is distributed under the terms and conditions of the 00007 * GNU GENERAL PUBLIC LICENSE. See the file COPYING for details. 00008 * 00009 * $Id: spu.h 2.0 2006/04/17 12:48:55 kls Exp $ 00010 */ 00011 00012 #ifndef __SPU_VDR_H 00013 #define __SPU_VDR_H 00014 00015 #include <inttypes.h> 00016 00017 // --- cSpuDecoder ----------------------------------------------------------- 00018 00019 class cSpuDecoder { 00020 public: 00021 typedef enum { eSpuNormal, eSpuLetterBox, eSpuPanAndScan } eScaleMode; 00022 public: 00023 // cSpuDecoder(); 00024 virtual ~cSpuDecoder(); 00025 00026 virtual int setTime(uint32_t pts) = 0; 00027 00028 virtual cSpuDecoder::eScaleMode getScaleMode(void) = 0; 00029 virtual void setScaleMode(cSpuDecoder::eScaleMode ScaleMode) = 0; 00030 virtual void setPalette(uint32_t * pal) = 0; 00031 virtual void setHighlight(uint16_t sx, uint16_t sy, 00032 uint16_t ex, uint16_t ey, 00033 uint32_t palette) = 0; 00034 virtual void clearHighlight(void) = 0; 00035 virtual void Empty(void) = 0; 00036 virtual void Hide(void) = 0; 00037 virtual void Draw(void) = 0; 00038 virtual bool IsVisible(void) = 0; 00039 virtual void processSPU(uint32_t pts, uint8_t * buf, bool AllowedShow = true) = 0; 00040 }; 00041 00042 #endif // __SPU_VDR_H