vdr
1.7.27
|
00001 /* 00002 * hdffcmd.h: TODO(short description) 00003 * 00004 * See the README file for copyright information and how to reach the author. 00005 * 00006 * $Id: hdffcmd.h 1.19 2012/02/06 11:09:27 kls Exp $ 00007 */ 00008 00009 #ifndef _HDFF_CMD_H_ 00010 #define _HDFF_CMD_H_ 00011 00012 #include "libhdffcmd/hdffcmd.h" 00013 00014 namespace HDFF 00015 { 00016 00017 class cHdffCmdIf 00018 { 00019 private: 00020 int mOsdDev; 00021 00022 public: 00023 cHdffCmdIf(int OsdDev); 00024 ~cHdffCmdIf(void); 00025 00026 uint32_t CmdGetFirmwareVersion(char * pString, uint32_t MaxLength); 00027 uint32_t CmdGetInterfaceVersion(char * pString, uint32_t MaxLength); 00028 uint32_t CmdGetCopyrights(uint8_t Index, char * pString, uint32_t MaxLength); 00029 00030 void CmdAvSetPlayMode(uint8_t PlayMode, bool Realtime); 00031 void CmdAvSetVideoPid(uint8_t DecoderIndex, uint16_t VideoPid, HdffVideoStreamType_t StreamType, bool PlaybackMode = false); 00032 void CmdAvSetAudioPid(uint8_t DecoderIndex, uint16_t AudioPid, HdffAudioStreamType_t StreamType, HdffAvContainerType_t ContainerType = HDFF_AV_CONTAINER_PES); 00033 void CmdAvSetPcrPid(uint8_t DecoderIndex, uint16_t PcrPid); 00034 void CmdAvSetTeletextPid(uint8_t DecoderIndex, uint16_t TeletextPid); 00035 void CmdAvSetVideoWindow(uint8_t DecoderIndex, bool Enable, uint16_t X, uint16_t Y, uint16_t Width, uint16_t Height); 00036 void CmdAvShowStillImage(uint8_t DecoderIndex, const uint8_t * pStillImage, int Size, HdffVideoStreamType_t StreamType); 00037 void CmdAvSetDecoderInput(uint8_t DecoderIndex, uint8_t DemultiplexerIndex); 00038 void CmdAvSetDemultiplexerInput(uint8_t DemultiplexerIndex, uint8_t TsInputIndex); 00039 void CmdAvSetVideoFormat(uint8_t DecoderIndex, const HdffVideoFormat_t * pVideoFormat); 00040 void CmdAvSetVideoOutputMode(uint8_t DecoderIndex, HdffVideoOutputMode_t OutputMode); 00041 void CmdAvSetStc(uint8_t DecoderIndex, uint64_t Stc); 00042 void CmdAvFlushBuffer(uint8_t DecoderIndex, bool FlushAudio, bool FlushVideo); 00043 void CmdAvEnableSync(uint8_t DecoderIndex, bool EnableSync); 00044 void CmdAvSetVideoSpeed(uint8_t DecoderIndex, int32_t Speed); 00045 void CmdAvSetAudioSpeed(uint8_t DecoderIndex, int32_t Speed); 00046 void CmdAvEnableVideoAfterStop(uint8_t DecoderIndex, bool EnableVideoAfterStop); 00047 void CmdAvSetAudioDelay(int16_t Delay); 00048 void CmdAvSetAudioDownmix(HdffAudioDownmixMode_t DownmixMode); 00049 void CmdAvSetAudioChannel(uint8_t AudioChannel); 00050 00051 void CmdOsdConfigure(const HdffOsdConfig_t * pConfig); 00052 void CmdOsdReset(void); 00053 00054 uint32_t CmdOsdCreateDisplay(uint32_t Width, uint32_t Height, HdffColorType_t ColorType); 00055 void CmdOsdDeleteDisplay(uint32_t hDisplay); 00056 void CmdOsdEnableDisplay(uint32_t hDisplay, bool Enable); 00057 void CmdOsdSetDisplayOutputRectangle(uint32_t hDisplay, uint32_t X, uint32_t Y, uint32_t Width, uint32_t Height); 00058 void CmdOsdSetDisplayClippingArea(uint32_t hDisplay, bool Enable, uint32_t X, uint32_t Y, uint32_t Width, uint32_t Height); 00059 void CmdOsdRenderDisplay(uint32_t hDisplay); 00060 00061 uint32_t CmdOsdCreatePalette(HdffColorType_t ColorType, HdffColorFormat_t ColorFormat, 00062 uint32_t NumColors, const uint32_t * pColors); 00063 void CmdOsdDeletePalette(uint32_t hPalette); 00064 void CmdOsdSetDisplayPalette(uint32_t hDisplay, uint32_t hPalette); 00065 void CmdOsdSetPaletteColors(uint32_t hPalette, HdffColorFormat_t ColorFormat, 00066 uint8_t StartColor, uint32_t NumColors, const uint32_t * pColors); 00067 00068 uint32_t CmdOsdCreateFontFace(const uint8_t * pFontData, uint32_t DataSize); 00069 void CmdOsdDeleteFontFace(uint32_t hFontFace); 00070 uint32_t CmdOsdCreateFont(uint32_t hFontFace, uint32_t Size); 00071 void CmdOsdDeleteFont(uint32_t hFont); 00072 00073 void CmdOsdDrawRectangle(uint32_t hDisplay, int X, int Y, int Width, int Height, uint32_t Color); 00074 void CmdOsdDrawEllipse(uint32_t hDisplay, int CX, int CY, int RadiusX, int RadiusY, 00075 uint32_t Color, uint32_t Flags); 00076 void CmdOsdDrawText(uint32_t hDisplay, uint32_t hFont, int X, int Y, const char * pText, uint32_t Color); 00077 void CmdOsdDrawTextW(uint32_t hDisplay, uint32_t hFont, int X, int Y, const uint16_t * pText, uint32_t Color); 00078 void CmdOsdDrawBitmap(uint32_t hDisplay, int X, int Y, const uint8_t * pBitmap, 00079 int BmpWidth, int BmpHeight, int BmpSize, 00080 HdffColorType_t ColorType, uint32_t hPalette); 00081 void CmdOsdSaveRegion(uint32_t hDisplay, int X, int Y, int Width, int Height); 00082 void CmdOsdRestoreRegion(uint32_t hDisplay); 00083 00084 void CmdMuxSetVideoOut(HdffVideoOut_t VideoOut); 00085 void CmdMuxSetVolume(uint8_t Volume); 00086 void CmdMuxMuteAudio(bool Mute); 00087 00088 void CmdHdmiSetVideoMode(HdffVideoMode_t VideoMode); 00089 void CmdHdmiConfigure(const HdffHdmiConfig_t * pConfig); 00090 void CmdHdmiSendCecCommand(HdffCecCommand_t Command); 00091 00092 void CmdRemoteSetProtocol(HdffRemoteProtocol_t Protocol); 00093 void CmdRemoteSetAddressFilter(bool Enable, uint32_t Address); 00094 }; 00095 00096 } // end of namespace 00097 00098 #endif