📄 sdinterf.h
字号:
/////////////////////////////////////////////////////////////////////////////
// sdinterf.h : Definition of Sigma Designs proprietary interfaces.
// SDWDM DirectShow Filter for WDM
// Created by Jacques MAHE
// Copyright Sigma Designs Inc
// Sigma Designs Proprietary and confidential
// Created on 09/09/98
// This file contains the CLSID (use #include "initguid.h" in one of the file
// of your project before including this header file") and the Interfaces
// definition of all the Sigma Decoder Filter exported interfaces, except
// IID_IRmHardware & IRmHardware (You will need "imhard.h").
/////////////////////////////////////////////////////////////////////////////
// MPEG DirectShow Decoder Filter (RMMPEG2.AX) CLSID
// {4E3ABD41-458E-11d1-917e-00001B4F006F}
DEFINE_GUID(CLSID_RM_MPEG2_VIDEO_SUBPICTURE,
0x4e3abd41, 0x458e, 0x11d1, 0x91, 0x7e, 0x0, 0x0, 0x1b, 0x4f, 0x0, 0x6f);
/////////////////////////////////////////////////////////////////////////////
// MPEG DirectShow Decoder Filter Interface IDs.
// {6EB47900-4815-11d2-93DC-0080ADB67301}
DEFINE_GUID(IID_IVideoAdjust,
0x6eb47900, 0x4815, 0x11d2, 0x93, 0xdc, 0x0, 0x80, 0xad, 0xb6, 0x73, 0x1);
// {FC5F1820-527B-11d2-A86E-0040054237F6}
DEFINE_GUID(IID_IRegionCodeControl,
0xfc5f1820, 0x527b, 0x11d2, 0xa8, 0x6e, 0x0, 0x40, 0x5, 0x42, 0x37, 0xf6);
// {AEB23DA0-54BB-11d2-BD98-0080ADB67301}
DEFINE_GUID(IID_IAudioOutput,
0xaeb23da0, 0x54bb, 0x11d2, 0xbd, 0x98, 0x0, 0x80, 0xad, 0xb6, 0x73, 0x1);
// {4246FA00-52E2-11d2-BD98-0080ADB67301}
DEFINE_GUID(IID_IREALmagicProfile,
0x4246fa00, 0x52e2, 0x11d2, 0xbd, 0x98, 0x0, 0x80, 0xad, 0xb6, 0x73, 0x1);
// {F1906E01-D722-11d2-B2AC-00400542D89C}
DEFINE_GUID(IID_IOverlayConfig,
0xf1906e01, 0xd722, 0x11d2, 0xb2, 0xac, 0x0, 0x40, 0x5, 0x42, 0xd8, 0x9c);
// {34860D40-488F-11d3-9E5F-0090272CFCC9}
DEFINE_GUID(IID_ITvVgaOutput,
0x34860d40, 0x488f, 0x11d3, 0x9e, 0x5f, 0x0, 0x90, 0x27, 0x2c, 0xfc, 0xc9);
// {0229D3E0-162E-11d5-9E5F-0090272CFCC9}
DEFINE_GUID(IID_ITvVgaOutput2,
0x229d3e0, 0x162e, 0x11d5, 0x9e, 0x5f, 0x0, 0x90, 0x27, 0x2c, 0xfc, 0xc9);
// {7425EEB6-FE67-4984-875D-2B3D939F8773}
DEFINE_GUID(IID_ITvVgaOutput3,
0x7425eeb6, 0xfe67, 0x4984, 0x87, 0x5d, 0x2b, 0x3d, 0x93, 0x9f, 0x87, 0x73);
// {28029D11-F764-11d4-9C1A-0090272CFCC9}
DEFINE_GUID(IID_IMPEGTimeInfo,
0x28029d11, 0xf764, 0x11d4, 0x9c, 0x1a, 0x0, 0x90, 0x27, 0x2c, 0xfc, 0xc9);
/////////////////////////////////////////////////////////////////////////////
// Decoder filter property pages CLSIDs.
// {5F687880-3CF2-11d2-93DC-0080ADB67301}
DEFINE_GUID(CLSID_SdConfigPropertyPage,
0x5f687880, 0x3cf2, 0x11d2, 0x93, 0xdc, 0x0, 0x80, 0xad, 0xb6, 0x73, 0x1);
// {34EE23E0-71CE-11d3-9643-00400542D89C}
DEFINE_GUID(CLSID_SdTvOutPropertyPage,
0x34ee23e0, 0x71ce, 0x11d3, 0x96, 0x43, 0x0, 0x40, 0x5, 0x42, 0xd8, 0x9c);
// {5F687880-3CF2-11d2-93DC-0080ADB67301}
DEFINE_GUID(CLSID_SdOverlayPropertyPage,
0x5f687881, 0x3cf2, 0x11d2, 0x93, 0xdc, 0x0, 0x80, 0xad, 0xb6, 0x73, 0x1);
/////////////////////////////////////////////////////////////////////////////
// CLSID not in relation with the decoder filter (WDM related only).
// {D2CB58A0-5567-11d2-BD98-0080ADB67301}
DEFINE_GUID(QUASAR_VIDEO_ADJUSTMENT,
0xd2cb58a0, 0x5567, 0x11d2, 0xbd, 0x98, 0x0, 0x80, 0xad, 0xb6, 0x73, 0x1);
// {5A564AA1-0D38-11d2-93DC-0080ADB67301}
DEFINE_GUID(QUASAR_DEVICE_PROPERTY,
0x5a564aa1, 0xd38, 0x11d2, 0x93, 0xdc, 0x0, 0x80, 0xad, 0xb6, 0x73, 0x1);
// GUID we created to support audio under NT 4.0 when no sound card!
// {020FB9A0-CC3E-11d3-9643-00400542D89C}
DEFINE_GUID(MEDIATYPE_SigmaAudio,
0x20fb9a0, 0xcc3e, 0x11d3, 0x96, 0x43, 0x0, 0x40, 0x5, 0x42, 0xd8, 0x9c);
// GUID Created to support MPEG4 format
// {8AB4D3D1-C812-11d5-BE17-00A0C90AA8A1}
DEFINE_GUID(MEDIASUBTYPE_SDMPEG4_Video,
0x8ab4d3d1, 0xc812, 0x11d5, 0xbe, 0x17, 0x0, 0xa0, 0xc9, 0xa, 0xa8, 0xa1);
// {8AB4D3D2-C812-11d5-BE17-00A0C90AA8A1}
DEFINE_GUID(MEDIASUBTYPE_SDMPEG4_PCMAudio,
0x8ab4d3d2, 0xc812, 0x11d5, 0xbe, 0x17, 0x0, 0xa0, 0xc9, 0xa, 0xa8, 0xa1);
// {8AB4D3D0-C812-11d5-BE17-00A0C90AA8A1}
DEFINE_GUID (CLSID_SDMP4FileSource,
0x8ab4d3d0, 0xc812, 0x11d5, 0xbe, 0x17, 0x0, 0xa0, 0xc9, 0xa, 0xa8, 0xa1);
// {C49DBDC0-C81A-11d5-BE17-00A0C90AA8A1}
DEFINE_GUID (CLSID_SDMPEG4_System,
0xc49dbdc0, 0xc81a, 0x11d5, 0xbe, 0x17, 0x0, 0xa0, 0xc9, 0xa, 0xa8, 0xa1);
// {325222F8-8C6C-4a39-A76A-A50356D207DA}
DEFINE_GUID(FORMAT_SigmaDataFormat,
0x325222f8, 0x8c6c, 0x4a39, 0xa7, 0x6a, 0xa5, 0x3, 0x56, 0xd2, 0x7, 0xda);
/////////////////////////////////////////////////////////////////////////////
// Interface definition (No more CLSIDs)
#ifndef __sdinterf_h
#define __sdinterf_h
#include "mpegcmn.h"
// Hardware flags
#define SDCAP_ANALOG_OVERLAY 0x00000001
#define SDCAP_AUDIO_DAC 0x00000002
#define SDCAP_AUDIO_SPDIFF 0x00000004
#define SDCAP_TV_OUT 0x00000008
#define SDCAP_TV_AND_VGA_OUT 0x00000010
#define SDCAP_EEPROM 0x00000020
#define SDCAP_BSC_ADJUST 0x00000040 // Brightness/Contrast/Saturation
#define SDCAP_TV_NTSC_ONLY 0x00000080 // IGS special
#define SDCAP_TV_PAL_ONLY 0x00000100 // IGS special
#define SDCAP_TV_PAL60_ONLY 0x00000200 // IGS special
#define SDCAP_TV_FORCED_STANDARD_MASK 0x00000380
#define SDCAP_AUTO_CALIBRATE_POSITION 0x00000400
#define SDCAP_HDTV_OUT 0x00000800
#define SDCAP_COMPONENT_RGB_SUPPORT 0x00001000
#define SDCAP_COMPONENT_YUV_SUPPORT 0x00002000
#define SDCAP_480P 0x00004000 // Ventura 2000 only (VGA connector)
#define SDCAP_TV_OUT_OPTIONS_MASK 0x00000088 // No TV out property sheet when 0
// Structure used to retrieve system resources
#ifndef _Quasar_KSResources
#define _Quasar_KSResources
typedef struct _SYSTEM_RESOURCES
{
ULONG PhysicalAddress;
ULONG LinearAddress;
ULONG HardwareFlags;
ULONG BoardId;
ULONG UserAddress;
ULONG VideoDmaPhysicalAddress;
ULONG VideoDmaLinearAddress;
ULONG VideoDmaBufferSize;
ULONG AudioDmaPhysicalAddress;
ULONG AudioDmaLinearAddress;
ULONG AudioDmaBufferSize;
ULONG SubpictureDmaPhysicalAddress;
ULONG SubpictureDmaLinearAddress;
ULONG SubpictureDmaBufferSize;
} SYSTEM_RESOURCES, *PSYSTEM_RESOURCES;
#endif
#ifndef _Quasar_KSProperty
#define _Quasar_KSProperty
typedef enum
{
QUASAR_KSPROPERTY_RESOURCES,
QUASAR_KSPROPERTY_DISPLAYRESOLUTION,
QUASAR_KSPROPERTY_ENCRYPTEDTITLEKEY,
QUASAR_KSPROPERTY_CHECK_SOFTICE,
QUASAR_KSPROPERTY_SAVE_ORIGINAL_DATA,
QUASAR_KSPROPERTY_GET_DESP_FUNC_TABLE,
QUASAR_KSPROPERTY_GET_MONITOR_VALUE,
QUASAR_KSPROPERTY_END_TAMPER,
QUASAR_KSPROPERTY_EEPROM_SET_ADDRESS,
QUASAR_KSPROPERTY_EEPROM_ACCESS,
QUASAR_KSPROPERTY_AUDIO_OUT,
QUASAR_KSPROPERTY_MAP_SIDT,
QUASAR_KSPROPERTY_UNMAP_SIDT,
QUASAR_KSPROPERTY_MEMMAP_THE_MEMORY,
QUASAR_KSPROPERTY_MEM_UNMAP_THE_MEMORY,
QUASAR_KSPROPERTY_CALC_FREQUENCY,
QUASAR_KSPROPERTY_HARDWARE_OWNER
} QUASAR_KSPROPERTY;
#endif _Quasar_KSProperty
// {44F84FC0-D7A7-11d2-B2AC-00400542D89C}
DEFINE_GUID(QUASAR_OVERLAY_CONFIG,
0x44f84fc0, 0xd7a7, 0x11d2, 0xb2, 0xac, 0x0, 0x40, 0x5, 0x42, 0xd8, 0x9c);
#ifndef _Quasar_KSOverlayMode
#define _Quasar_KSOverlayMode
typedef enum
{
KSPROPERTY_OVERLAY_MODE,
KSPROPERTY_OVERLAY_VIDEOPOSITION,
KSPROPERTY_OVERLAY_TOP_BORDER,
KSPROPERTY_OVERLAY_LEFT_BORDER,
KSPROPERTY_OVERLAY_VGA_CORRECTION,
KSPROPERTY_OVERLAY_CALIBRATION_PARAMETERS,
KSPROPERTY_OVERLAY_JITTER_ADJUSTMENT,
KSPROPERTY_OVERLAY_VGA_FINE_ADJUSTMENT,
KSPROPERTY_OVERLAY_START_CALIBRATION,
KSPROPERTY_OVERLAY_STOP_CALIBRATION,
KSPROPERTY_OVERLAY_CALIBRATE_TOP_BORDER,
KSPROPERTY_OVERLAY_CALIBRATE_LEFT_BORDER,
KSPROPERTY_OVERLAY_CALIBRATE_CORRECTION,
KSPROPERTY_OVERLAY_CALIBRATE_COLOR_LIMITS
} OVERLAY_CONFIG_KSPROPERTY;
#endif
// Flag for the Analog Overlay Modes
typedef enum _OVERLAY_MODE
{
OverlayModeNone = 1,
OverlayModeRectangle,
OverlayModeOverlay
} OVERLAY_MODE;
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// Min and max values for Brightness, Saturation and Contrast. Defaut is middle range.
#ifndef MIN_BRIGHTNESS
#define MIN_BRIGHTNESS 0
#define MAX_BRIGHTNESS 1000
#define MIN_CONTRAST 0
#define MAX_CONTRAST 1000
#define MIN_SATURATION 0
#define MAX_SATURATION 1000
#endif
/////////////////////////////////////////////////////////////////////////////
// interface IVideoAdjust used for brightness, saturation and contrast.
interface IVideoAdjust : public IUnknown
{
public:
/* IVideoAdjust methods */
STDMETHOD(put_Brightness)(THIS_ long lBrightness) PURE;
STDMETHOD(get_Brightness)(THIS_ long FAR* plBrightness) PURE;
STDMETHOD(put_Saturation)(THIS_ long lSaturation) PURE;
STDMETHOD(get_Saturation)(THIS_ long FAR* plSaturation) PURE;
STDMETHOD(put_Contrast)(THIS_ long lContrast) PURE;
STDMETHOD(get_Contrast)(THIS_ long FAR* plContrast) PURE;
};
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// interface IRegionCodeControl used for region code.
// Return Codes
#define NO_EEPROM 0xAA
#define EEPROM_TAMPERED 0xEE
// Region Code Functions
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -