summaryrefslogtreecommitdiffstats
path: root/sdk/dx8sdk/Include/il21dec.h
diff options
context:
space:
mode:
Diffstat (limited to 'sdk/dx8sdk/Include/il21dec.h')
-rw-r--r--sdk/dx8sdk/Include/il21dec.h112
1 files changed, 112 insertions, 0 deletions
diff --git a/sdk/dx8sdk/Include/il21dec.h b/sdk/dx8sdk/Include/il21dec.h
new file mode 100644
index 00000000..a2c7fc67
--- /dev/null
+++ b/sdk/dx8sdk/Include/il21dec.h
@@ -0,0 +1,112 @@
+//------------------------------------------------------------------------------
+// File: IL21Dec.h
+//
+// Desc: Line 21 Decoder related definitions and interfaces for ActiveMovie.
+//
+// Copyright (c) 1992-2001, Microsoft Corporation. All rights reserved.
+//------------------------------------------------------------------------------
+
+
+#ifndef __IL21DEC__
+#define __IL21DEC__
+
+
+//
+// Some enum data types used as line 21 decoder params by the interface
+//
+typedef enum _AM_LINE21_CCLEVEL { // should we use TC1, TC2 in stead?
+ AM_L21_CCLEVEL_TC2 = 0
+} AM_LINE21_CCLEVEL, *PAM_LINE21_CCLEVEL ;
+
+typedef enum _AM_LINE21_CCSERVICE {
+ AM_L21_CCSERVICE_None = 0,
+ AM_L21_CCSERVICE_Caption1,
+ AM_L21_CCSERVICE_Caption2,
+ AM_L21_CCSERVICE_Text1,
+ AM_L21_CCSERVICE_Text2,
+ AM_L21_CCSERVICE_XDS,
+ AM_L21_CCSERVICE_DefChannel = 10,
+ AM_L21_CCSERVICE_Invalid
+} AM_LINE21_CCSERVICE, *PAM_LINE21_CCSERVICE ;
+
+typedef enum _AM_LINE21_CCSTATE {
+ AM_L21_CCSTATE_Off = 0,
+ AM_L21_CCSTATE_On
+} AM_LINE21_CCSTATE, *PAM_LINE21_CCSTATE ;
+
+typedef enum _AM_LINE21_CCSTYLE {
+ AM_L21_CCSTYLE_None = 0,
+ AM_L21_CCSTYLE_PopOn,
+ AM_L21_CCSTYLE_PaintOn,
+ AM_L21_CCSTYLE_RollUp
+} AM_LINE21_CCSTYLE, *PAM_LINE21_CCSTYLE ;
+
+typedef enum _AM_LINE21_DRAWBGMODE {
+ AM_L21_DRAWBGMODE_Opaque,
+ AM_L21_DRAWBGMODE_Transparent
+} AM_LINE21_DRAWBGMODE, *PAM_LINE21_DRAWBGMODE ;
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif // __cplusplus
+
+//
+// Line 21 Decoder standard COM interface
+//
+DECLARE_INTERFACE_(IAMLine21Decoder, IUnknown)
+{
+ public:
+ //
+ // Decoder options to be used by apps
+ //
+
+ // What is the decoder's level
+ STDMETHOD(GetDecoderLevel)(THIS_ AM_LINE21_CCLEVEL *lpLevel) PURE ;
+ // supported level value is AM_L21Level_TC2 only
+ // skipping the SetDecoderLevel( )
+
+ // Which of the services is being currently used
+ STDMETHOD(GetCurrentService)(THIS_ AM_LINE21_CCSERVICE *lpService) PURE ;
+ STDMETHOD(SetCurrentService)(THIS_ AM_LINE21_CCSERVICE Service) PURE ;
+ // supported service values are AM_L21Service_Caption1,
+ // AM_L21Service_Caption2, AM_L21Service_Text1, AM_L21Service_Text2,
+ // AM_L21Service_XDS, AM_L21Service_None)
+
+ // Query/Set the service state (On/Off)
+ // supported state values are AM_L21State_On and AM_L21State_Off
+ STDMETHOD(GetServiceState)(THIS_ AM_LINE21_CCSTATE *lpState) PURE ;
+ STDMETHOD(SetServiceState)(THIS_ AM_LINE21_CCSTATE State) PURE ;
+
+ //
+ // Output options to be used by downstream filters
+ //
+
+ // What size, bitdepth, etc. should the output video be
+ STDMETHOD(GetOutputFormat)(THIS_ LPBITMAPINFOHEADER lpbmih) PURE ;
+ // GetOutputFormat() method, if successful, returns
+ // 1. S_FALSE if no output format has so far been defined by downstream filters
+ // 2. S_OK if an output format has already been defined by downstream filters
+ STDMETHOD(SetOutputFormat)(THIS_ LPBITMAPINFO lpbmi) PURE ;
+
+ // Specify physical color to be used in colorkeying the background
+ // for overlay mixing
+ STDMETHOD(GetBackgroundColor)(THIS_ DWORD *pdwPhysColor) PURE ;
+ STDMETHOD(SetBackgroundColor)(THIS_ DWORD dwPhysColor) PURE ;
+
+ // Specify if whole output bitmap should be redrawn for each sample
+ STDMETHOD(GetRedrawAlways)(THIS_ LPBOOL lpbOption) PURE ;
+ STDMETHOD(SetRedrawAlways)(THIS_ BOOL bOption) PURE ;
+
+ // Specify if the caption text background should be opaque/transparent
+ STDMETHOD(GetDrawBackgroundMode)(THIS_ AM_LINE21_DRAWBGMODE *lpMode) PURE ;
+ STDMETHOD(SetDrawBackgroundMode)(THIS_ AM_LINE21_DRAWBGMODE Mode) PURE ;
+ // supported mode values are AM_L21_DrawBGMode_Opaque and
+ // AM_L21_DrawBGMode_Transparent
+
+} ;
+
+#ifdef __cplusplus
+}
+#endif // __cplusplus
+#endif // __IL21DEC__