📄 sdinterf.pas
字号:
unit sdinterf;
/////////////////////////////////////////////////////////////////////////////
// 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").
interface
uses Windows,
ActiveX,
MMSystem,
DirectShow9,
SyncObjs,
ComObj;//{BaseClass,}Windows,ActiveX, DirectShow9,MMSystem,SyncObjs,
//ComObj;{,DSUtil};
/////////////////////////////////////////////////////////////////////////////
// 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);
const CLSID_RM_MPEG2_VIDEO_SUBPICTURE : TGUID ='{4E3ABD41-458E-11d1-917e-00001B4F006F}';
/////////////////////////////////////////////////////////////////////////////
// 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);
const IID_IVideoAdjust : TGUID ='{6EB47900-4815-11d2-93DC-0080ADB67301}';
// {FC5F1820-527B-11d2-A86E-0040054237F6}
//DEFINE_GUID(IID_IRegionCodeControl,
//0xfc5f1820, 0x527b, 0x11d2, 0xa8, 0x6e, 0x0, 0x40, 0x5, 0x42, 0x37, 0xf6);
const IID_IRegionCodeControl : TGUID ='{FC5F1820-527B-11d2-A86E-0040054237F6}';
// {AEB23DA0-54BB-11d2-BD98-0080ADB67301}
//DEFINE_GUID(IID_IAudioOutput,
//0xaeb23da0, 0x54bb, 0x11d2, 0xbd, 0x98, 0x0, 0x80, 0xad, 0xb6, 0x73, 0x1);
const IID_IAudioOutput : TGUID ='{AEB23DA0-54BB-11d2-BD98-0080ADB67301}';
// {4246FA00-52E2-11d2-BD98-0080ADB67301}
//DEFINE_GUID(IID_IREALmagicProfile,
//0x4246fa00, 0x52e2, 0x11d2, 0xbd, 0x98, 0x0, 0x80, 0xad, 0xb6, 0x73, 0x1);
const IID_IREALmagicProfile : TGUID ='{4246FA00-52E2-11d2-BD98-0080ADB67301}';
// {F1906E01-D722-11d2-B2AC-00400542D89C}
//DEFINE_GUID(IID_IOverlayConfig,
//0xf1906e01, 0xd722, 0x11d2, 0xb2, 0xac, 0x0, 0x40, 0x5, 0x42, 0xd8, 0x9c);
const IID_IOverlayConfig : TGUID ='{F1906E01-D722-11d2-B2AC-00400542D89C}';
// {34860D40-488F-11d3-9E5F-0090272CFCC9}
//DEFINE_GUID(IID_ITvVgaOutput,
//0x34860d40, 0x488f, 0x11d3, 0x9e, 0x5f, 0x0, 0x90, 0x27, 0x2c, 0xfc, 0xc9);
const IID_ITvVgaOutput : TGUID ='{34860D40-488F-11d3-9E5F-0090272CFCC9}';
// {0229D3E0-162E-11d5-9E5F-0090272CFCC9}
//DEFINE_GUID(IID_ITvVgaOutput2,
//0x229d3e0, 0x162e, 0x11d5, 0x9e, 0x5f, 0x0, 0x90, 0x27, 0x2c, 0xfc, 0xc9);
const IID_ITvVgaOutput2 : TGUID ='{0229D3E0-162E-11d5-9E5F-0090272CFCC9}';
// {7425EEB6-FE67-4984-875D-2B3D939F8773}
//DEFINE_GUID(IID_ITvVgaOutput3,
//0x7425eeb6, 0xfe67, 0x4984, 0x87, 0x5d, 0x2b, 0x3d, 0x93, 0x9f, 0x87, 0x73);
const IID_ITvVgaOutput3 : TGUID ='{7425EEB6-FE67-4984-875D-2B3D939F8773}';
// {28029D11-F764-11d4-9C1A-0090272CFCC9}
//DEFINE_GUID(IID_IMPEGTimeInfo,
//0x28029d11, 0xf764, 0x11d4, 0x9c, 0x1a, 0x0, 0x90, 0x27, 0x2c, 0xfc, 0xc9);
const IID_IMPEGTimeInfo : TGUID ='{28029D11-F764-11d4-9C1A-0090272CFCC9}';
/////////////////////////////////////////////////////////////////////////////
// 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);
const CLSID_SdConfigPropertyPage : TGUID ='{5F687880-3CF2-11d2-93DC-0080ADB67301}';
// {34EE23E0-71CE-11d3-9643-00400542D89C}
//DEFINE_GUID(CLSID_SdTvOutPropertyPage,
//0x34ee23e0, 0x71ce, 0x11d3, 0x96, 0x43, 0x0, 0x40, 0x5, 0x42, 0xd8, 0x9c);
const CLSID_SdTvOutPropertyPage : TGUID ='{34EE23E0-71CE-11d3-9643-00400542D89C}';
// {5F687880-3CF2-11d2-93DC-0080ADB67301}
//DEFINE_GUID(CLSID_SdOverlayPropertyPage,
//0x5f687881, 0x3cf2, 0x11d2, 0x93, 0xdc, 0x0, 0x80, 0xad, 0xb6, 0x73, 0x1);
const CLSID_SdOverlayPropertyPage : TGUID ='{5F687880-3CF2-11d2-93DC-0080ADB67301}';
/////////////////////////////////////////////////////////////////////////////
// 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);
const QUASAR_VIDEO_ADJUSTMENT : TGUID ='{D2CB58A0-5567-11d2-BD98-0080ADB67301}';
// {5A564AA1-0D38-11d2-93DC-0080ADB67301}
//DEFINE_GUID(QUASAR_DEVICE_PROPERTY,
//0x5a564aa1, 0xd38, 0x11d2, 0x93, 0xdc, 0x0, 0x80, 0xad, 0xb6, 0x73, 0x1);
const QUASAR_DEVICE_PROPERTY : TGUID ='{5A564AA1-0D38-11d2-93DC-0080ADB67301}';
// 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);
const MEDIATYPE_SigmaAudio : TGUID ='{020FB9A0-CC3E-11d3-9643-00400542D89C}';
// 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);
const MEDIASUBTYPE_SDMPEG4_Video : TGUID ='{8AB4D3D1-C812-11d5-BE17-00A0C90AA8A1}';
// {8AB4D3D2-C812-11d5-BE17-00A0C90AA8A1}
//DEFINE_GUID(MEDIASUBTYPE_SDMPEG4_PCMAudio,
//0x8ab4d3d2, 0xc812, 0x11d5, 0xbe, 0x17, 0x0, 0xa0, 0xc9, 0xa, 0xa8, 0xa1);
const MEDIASUBTYPE_SDMPEG4_PCMAudio : TGUID ='{8AB4D3D2-C812-11d5-BE17-00A0C90AA8A1}';
// {8AB4D3D0-C812-11d5-BE17-00A0C90AA8A1}
//DEFINE_GUID (CLSID_SDMP4FileSource,
//0x8ab4d3d0, 0xc812, 0x11d5, 0xbe, 0x17, 0x0, 0xa0, 0xc9, 0xa, 0xa8, 0xa1);
const CLSID_SDMP4FileSource : TGUID ='{8AB4D3D0-C812-11d5-BE17-00A0C90AA8A1}';
// {C49DBDC0-C81A-11d5-BE17-00A0C90AA8A1}
//DEFINE_GUID (CLSID_SDMPEG4_System,
//0xc49dbdc0, 0xc81a, 0x11d5, 0xbe, 0x17, 0x0, 0xa0, 0xc9, 0xa, 0xa8, 0xa1);
const CLSID_SDMPEG4_System : TGUID ='{C49DBDC0-C81A-11d5-BE17-00A0C90AA8A1}';
// {325222F8-8C6C-4a39-A76A-A50356D207DA}
//DEFINE_GUID(FORMAT_SigmaDataFormat, ‘;
//0x325222f8, 0x8c6c, 0x4a39, 0xa7, 0x6a, 0xa5, 0x3, 0x56, 0xd2, 0x7, 0xda);
const FORMAT_SigmaDataFormat : TGUID ='{325222F8-8C6C-4a39-A76A-A50356D207DA}';
/////////////////////////////////////////////////////////////////////////////
// Interface definition (No more CLSIDs)
//#ifndef __sdinterf_h
//#define __sdinterf_h
//#include "mpegcmn.h"
// Hardware flags
const SDCAP_ANALOG_OVERLAY = $00000001;
const SDCAP_AUDIO_DAC = $00000002;
const SDCAP_AUDIO_SPDIFF = $00000004;
const SDCAP_TV_OUT = $00000008;
const SDCAP_TV_AND_VGA_OUT = $00000010;
const SDCAP_EEPROM = $00000020;
const SDCAP_BSC_ADJUST = $00000040; // Brightness/Contrast/Saturation
const SDCAP_TV_NTSC_ONLY = $00000080; // IGS special
const SDCAP_TV_PAL_ONLY = $00000100; // IGS special
const SDCAP_TV_PAL60_ONLY = $00000200; // IGS special
const SDCAP_TV_FORCED_STANDARD_MASK = $00000380;
const SDCAP_AUTO_CALIBRATE_POSITION = $00000400;
const SDCAP_HDTV_OUT = $00000800;
const SDCAP_COMPONENT_RGB_SUPPORT = $00001000;
const SDCAP_COMPONENT_YUV_SUPPORT = $00002000;
const SDCAP_480P = $00004000; // Ventura 2000 only (VGA connector)
const SDCAP_TV_OUT_OPTIONS_MASK = $00000088; // No TV out property sheet when 0
type COLOR_LIMITS=record
crKeyColor:ULONG;
crUpperLimit:ULONG;
crLowerLimit:ULONG;
end;
type PCOLOR_LIMITS=^PCOLOR_LIMITS;
type CALIBRATION_PARAMETERS=record
UpperFF:ULONG;
LowerFF:ULONG;
Upper80:ULONG;
Lower80:ULONG;
Upper00:ULONG;
Lower00:ULONG;
end;
TYPE PCALIBRATION_PARAMETERS=^PCALIBRATION_PARAMETERS;
// Structure used to retrieve system resources
//#ifndef _Quasar_KSResources
//#define _Quasar_KSResources
//typedef struct _SYSTEM_RESOURCES
//type PSYSTEM_RESOURCES = ^SYSTEM_RESOURCES;
type SYSTEM_RESOURCES = record
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 : ULONG;
end;
type PSYSTEM_RESOURCES = ^SYSTEM_RESOURCES;
//SYSTEM_RESOURCES, *PSYSTEM_RESOURCES;
//#endif
//#ifndef _Quasar_KSProperty
//#define _Quasar_KSProperty
//typedef enum
type QUASAR_KSPROPERTY =
(
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);
const QUASAR_OVERLAY_CONFIG : TGUID ='{44F84FC0-D7A7-11d2-B2AC-00400542D89C}';
//#ifndef _Quasar_KSOverlayMode
//#define _Quasar_KSOverlayMode
//typedef enum
type OVERLAY_CONFIG_KSPROPERTY =
(
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
type OVERLAY_MODE =
(
OverlayModeNone = 1,
OverlayModeRectangle,
OverlayModeOverlay
);// OVERLAY_MODE;
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// Min and max values for Brightness, Saturation and Contrast. Defaut is middle range.
//#ifndef MIN_BRIGHTNESS
const MIN_BRIGHTNESS = 0;
const MAX_BRIGHTNESS = 1000;
const MIN_CONTRAST = 0;
const MAX_CONTRAST = 1000;
const MIN_SATURATION = 0;
const MAX_SATURATION = 1000;
//#endif
/////////////////////////////////////////////////////////////////////////////
// interface IVideoAdjust used for brightness, saturation and contrast.
//interface IVideoAdjust : public IUnknown
type IVideoAdjust = interface(IUnknown)
['{6EB47900-4815-11d2-93DC-0080ADB67301}']
(* IVideoAdjust methods *)
function put_Brightness(lBrightness : LongInt):HResult; stdcall;
function get_Brightness(out plBrightness : LongInt):HResult; stdcall;
function put_Saturation(lSaturation : LongInt):HResult; stdcall;
function get_Saturation(out plSaturation : LongInt):HResult; stdcall;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -