⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sdinterf.h

📁 神龙卡 SDK_84xx_DShow_145_02.zip 这个是 windows 上二个是linux
💻 H
📖 第 1 页 / 共 2 页
字号:
/////////////////////////////////////////////////////////////////////////////
// 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 + -