vdr
1.7.27
|
00001 /* 00002 * hdffmsgdef.h: TODO(short description) 00003 * 00004 * See the README file for copyright information and how to reach the author. 00005 * 00006 * $Id: hdffmsgdef.h 1.13 2011/08/27 09:34:43 kls Exp $ 00007 */ 00008 00009 #ifndef _HDFF_MSGDEF_H_ 00010 #define _HDFF_MSGDEF_H_ 00011 00012 #define MAX_CMD_LEN 1536 00013 00014 namespace HDFF 00015 { 00016 00017 typedef enum _eMessageType 00018 { 00019 msgTypeCommand, 00020 msgTypeAnswer, 00021 msgTypeResult, 00022 msgTypeEvent 00023 } eMessageType; 00024 00025 typedef enum _eMessageGroup 00026 { 00027 msgGroupGeneric, 00028 msgGroupAvDec, 00029 msgGroupAvMux, 00030 msgGroupFrontend, 00031 msgGroupOsd, 00032 msgGroupHdmi, 00033 msgGroupRemoteControl 00034 } eMessageGroup; 00035 00036 typedef enum _eMessageId 00037 { 00038 msgGenGetFirmwareVersion = 0, 00039 msgGenGetInterfaceVersion, 00040 msgGenGetCopyrights, 00041 00042 msgAvSetAudioPid = 0, 00043 msgAvSetVideoPid, 00044 msgAvSetPcrPid, 00045 msgAvSetTeletextPid, 00046 msgAvShowStillImage, 00047 msgAvSetVideoWindow, 00048 msgAvSetDecoderInput, 00049 msgAvSetDemultiplexerInput, 00050 msgAvSetVideoFormat, 00051 msgAvSetVideoOutputMode, 00052 msgAvSetStc, 00053 msgAvFlushBuffer, 00054 msgAvEnableSync, 00055 msgAvSetVideoSpeed, 00056 msgAvSetAudioSpeed, 00057 msgAvEnableVideoAfterStop, 00058 msgAvGetVideoFormatInfo, 00059 msgAvSetAudioDelay, 00060 msgAvSetAudioDownmix, 00061 msgAvSetAudioChannel, 00062 msgAvSetPlayMode, 00063 00064 msgMuxSetVideoOut = 0, 00065 msgMuxSetSlowBlank, 00066 msgMuxSetFastBlank, 00067 msgMuxSetVolume, 00068 msgMuxSetAudioMute, 00069 00070 msgOsdConfigure = 0, 00071 msgOsdReset, 00072 msgOsdCreateDisplay = 10, 00073 msgOsdDeleteDisplay, 00074 msgOsdEnableDisplay, 00075 msgOsdSetDisplayOutputRectangle, 00076 msgOsdSetDisplayClippingArea, 00077 msgOsdRenderDisplay, 00078 msgOsdSaveRegion, 00079 msgOsdRestoreRegion, 00080 msgOsdCreatePalette = 30, 00081 msgOsdDeletePalette, 00082 msgOsdSetDisplayPalette, 00083 msgOsdSetPaletteColors, 00084 msgOsdCreateFontFace = 50, 00085 msgOsdDeleteFontFace, 00086 msgOsdCreateFont, 00087 msgOsdDeleteFont, 00088 msgOsdDrawPixel = 70, 00089 msgOsdDrawRectangle, 00090 msgOsdDrawCircle, 00091 msgOsdDrawEllipse, 00092 msgOsdDrawSlope, 00093 msgOsdDrawText, 00094 msgOsdDrawTextW, 00095 msgOsdDrawBitmap, 00096 00097 msgHdmiEnableOutput = 0, 00098 msgHdmiSetVideoMode, 00099 msgHdmiConfigure, 00100 msgHdmiIsDisplayConnected, 00101 msgHdmiGetDisplayInfo, 00102 msgHdmiGetVideoMode, 00103 msgHdmiSendCecCommand, 00104 00105 msgRemoteSetProtocol = 0, 00106 msgRemoteSetAddressFilter, 00107 msgRemoteKeyEvent 00108 } eMessageId; 00109 00110 00111 // AvDec definitions 00112 00113 typedef enum _eAVContainerType 00114 { 00115 avContainerPes, 00116 avContainerPesDvd, 00117 avContainerMaxValue 00118 } eAVContainerType; 00119 00120 typedef enum _eAudioStreamType 00121 { 00122 audioStreamMpeg1, 00123 audioStreamMpeg2, 00124 audioStreamAc3, 00125 audioStreamAac, 00126 audioStreamHeAac, 00127 audioStreamPcm, 00128 audioStreamEAc3, 00129 audioStreamDts, 00130 audioStreamMaxValue 00131 } eAudioStreamType; 00132 00133 typedef enum _eVideoStreamType 00134 { 00135 videoStreamMpeg1, 00136 videoStreamMpeg2, 00137 videoStreamH264, 00138 videoStreamMpeg4Asp, 00139 videoStreamVc1, 00140 videoStreamMaxValue 00141 } eVideoStreamType; 00142 00143 00144 typedef enum _eTvFormat 00145 { 00146 tvFormat4by3, 00147 tvFormat16by9, 00148 tvFormatMaxValue 00149 } eTvFormat; 00150 00151 typedef enum _eVideoConversion 00152 { 00153 videoConversionAutomatic, 00154 videoConversionLetterbox16by9, 00155 videoConversionLetterbox14by9, 00156 videoConversionPillarbox, 00157 videoConversionCentreCutOut, 00158 videoConversionAlways16by9, 00159 videoConversionMaxValue 00160 } eVideoConversion; 00161 00162 typedef struct _tVideoFormat 00163 { 00164 bool AutomaticEnabled; 00165 bool AfdEnabled; 00166 eTvFormat TvFormat; 00167 eVideoConversion VideoConversion; 00168 } tVideoFormat; 00169 00170 typedef enum _eVideoOutputMode 00171 { 00172 videoOutputClone, 00173 videoOutputDualView, 00174 videoOutputMaxValue 00175 } eVideoOutputMode; 00176 00177 typedef enum _eDownmixMode 00178 { 00179 downmixOff, 00180 downmixAnalog, 00181 downmixAlways, 00182 downmixAutomatic, 00183 downmixHdmi 00184 } eDownmixMode; 00185 00186 // AvMux definitions 00187 00188 typedef enum _eVideoOut 00189 { 00190 videoOutDisabled, 00191 videoOutRgb, 00192 videoOutCvbsYuv, 00193 videoOutYc, 00194 videoOutMaxValue 00195 } eVideoOut; 00196 00197 typedef enum _eSlowBlank 00198 { 00199 slowBlankOff, 00200 slowBlank16by9, 00201 slowBlank4by3, 00202 slowBlankMaxValue 00203 } eSlowBlank; 00204 00205 typedef enum _eFastBlank 00206 { 00207 fastBlankCvbs, 00208 fastBlankRgb, 00209 fastBlankMaxValue 00210 } eFastBlank; 00211 00212 00213 // OSD definitions 00214 00215 #define InvalidHandle 0xFFFFFFFF 00216 #define ScreenDisplayHandle 0xFFFFFFFE 00217 00218 #define PositionScreenCentered 0xFFFF 00219 00220 #define SizeFullScreen 0xFFFF 00221 #define SizeSameAsSource 0xFFFE 00222 00223 #define FontFaceTiresias 0x00000000 00224 00225 typedef enum _eColorType 00226 { 00227 colorTypeClut1, 00228 colorTypeClut2, 00229 colorTypeClut4, 00230 colorTypeClut8, 00231 colorTypeARGB8888, 00232 colorTypeARGB8565, 00233 colorTypeARGB4444, 00234 colorTypeARGB1555, 00235 } eColorType; 00236 00237 typedef enum _eColorFormat 00238 { 00239 colorFormatARGB, 00240 colorFormatACbYCr, 00241 } eColorFormat; 00242 00243 typedef enum _eDrawingFlags 00244 { 00245 drawFull, 00246 drawHalfTop, 00247 drawHalfLeft, 00248 drawHalfBottom, 00249 drawHalfRight, 00250 drawQuarterTopLeft, 00251 drawQuarterTopRight, 00252 drawQuarterBottomLeft, 00253 drawQuarterBottomRight, 00254 drawQuarterTopLeftInverted, 00255 drawQuarterTopRightInverted, 00256 drawQuarterBottomLeftInverted, 00257 drawQuarterBottomRightInverted 00258 } eDrawingFlags; 00259 00260 typedef struct _tOsdConfig 00261 { 00262 bool FontAntialiasing; 00263 bool FontKerning; 00264 } tOsdConfig; 00265 00266 // HDMI definitions 00267 00268 typedef enum _eHdmiVideoMode 00269 { 00270 videoMode576p50 = 18, 00271 videoMode720p50 = 19, 00272 videoMode1080i50 = 20, 00273 videoMode576i50 = 22, 00274 videoModeMaxValue 00275 } eHdmiVideoMode; 00276 00277 typedef enum _eVideoModeAdaption 00278 { 00279 videoModeAdaptOff, 00280 videoModeAdaptFrameRate, 00281 videoModeAdaptOnlyForHd, 00282 videoModeAdaptAlways 00283 } eVideoModeAdaption; 00284 00285 typedef enum _eCecCommand 00286 { 00287 cecCommandTvOn, 00288 cecCommandTvOff, 00289 cecCommandActiveSource, 00290 cecCommandInactiveSource 00291 } eCecCommand; 00292 00293 typedef struct _tHdmiConfig 00294 { 00295 bool TransmitAudio; 00296 bool ForceDviMode; 00297 bool CecEnabled; 00298 eVideoModeAdaption VideoModeAdaption; 00299 } tHdmiConfig; 00300 00301 // Remote control definitions 00302 00303 typedef enum _eRemoteProtocol 00304 { 00305 remoteProtocolNone, 00306 remoteProtocolRc5, 00307 remoteProtocolRc6, 00308 remoteProtocolMaxValue 00309 } eRemoteProtocol; 00310 00311 } // end of namespace 00312 00313 #endif