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

📄 sdinterf.pas

📁 这份源码已提供了神龙卡的控制接口的全部源码
💻 PAS
📖 第 1 页 / 共 2 页
字号:
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 + -