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

📄 ieds.pas

📁 ·ImageEn 2.3.0 ImageEn一组用于图像处理、查看和分析的Delphi控件。能够保存几种图像格式
💻 PAS
📖 第 1 页 / 共 5 页
字号:
    function GetNativeVideoSize(
            lpWidth:pinteger;
            lpHeight:pinteger;
            lpARWidth:pinteger;
            lpARHeight:pinteger):HRESULT; stdcall;
    function GetMinIdealVideoSize(
            lpWidth:pinteger;
            lpHeight:pinteger):HRESULT; stdcall;
    function GetMaxIdealVideoSize(
            lpWidth:pinteger;
            lpHeight:pinteger):HRESULT; stdcall;
    function SetVideoPosition(
            lpSRCRect:PRect;
            lpDSTRect:PRect):HRESULT; stdcall;
    function GetVideoPosition(
            lpSRCRect:PRect;
            lpDSTRect:PRect):HRESULT; stdcall;
    function GetAspectRatioMode(
            lpAspectRatioMode:PDWORD):HRESULT; stdcall;
    function SetAspectRatioMode(
            AspectRatioMode:DWORD):HRESULT; stdcall;
    function SetVideoClippingWindow(
            hwnd:THandle):HRESULT; stdcall;
    function RepaintVideo(
            hwnd:THandle;
            hdc:THandle):HRESULT; stdcall;
    function DisplayModeChanged():HRESULT; stdcall;
    function GetCurrentImage(
            var lpDib:pbyte):HRESULT; stdcall;
    function SetBorderColor(
            Clr:DWORD):HRESULT; stdcall;
    function GetBorderColor(
            lpClr:PDWORD):HRESULT; stdcall;
    function SetColorKey(
            Clr:DWORD):HRESULT; stdcall;
    function GetColorKey(
            lpClr:PDWORD):HRESULT; stdcall;
  end;
  IID_IVMRWindowlessControl = IVMRWindowlessControl;

  IVMRFilterConfig = interface(IUnknown)
    ['{9e5530c5-7034-48b4-bb46-0b8a6efc8e36}']
    function SetImageCompositor:HRESULT; stdcall;
    function SetNumberOfStreams(
            dwMaxStreams:DWORD):HRESULT; stdcall;
    function GetNumberOfStreams(
            pdwMaxStreams:PDWORD):HRESULT; stdcall;
    function SetRenderingPrefs(
            dwRenderFlags:DWORD):HRESULT; stdcall;
    function GetRenderingPrefs(
            pdwRenderFlags:PDWORD):HRESULT; stdcall;
    function SetRenderingMode(
            Mode:DWORD):HRESULT; stdcall;
    function GetRenderingMode(
            pMode:PDWORD):HRESULT; stdcall;
  end;
  IID_IVMRFilterConfig = IVMRFilterConfig;

  VMRFrequency = packed record
    dwNumerator:DWORD;
    dwDenominator:DWORD;
  end;

  VMRVideoDesc = packed record
    dwSize:DWORD;
    dwSampleWidth:DWORD;
    dwSampleHeight:DWORD;
    SingleFieldPerSample:longbool;
    dwFourCC:DWORD;
    InputSampleFreq:VMRFrequency;
    OutputFrameFreq:VMRFrequency;
  end;
  PVMRVideoDesc = ^VMRVideoDesc;

  VMRDeinterlaceCaps = packed record
    dwSize:DWORD;
    dwNumPreviousOutputFrames:DWORD;
    dwNumForwardRefSamples:DWORD;
    dwNumBackwardRefSamples:DWORD;
    DeinterlaceTechnology:DWORD;  //VMRDeinterlaceTech;
  end;
  PVMRDeinterlaceCaps = ^VMRDeinterlaceCaps;

  IVMRDeinterlaceControl = interface(IUnknown)
    ['{bb057577-0db8-4e6a-87a7-1a8c9a505a0f}']
    function GetNumberOfDeinterlaceModes(
            lpVideoDescription:PVMRVideoDesc;
            lpdwNumDeinterlaceModes:PDWORD;
            lpDeinterlaceModes:PGUID):HRESULT; stdcall;
    function GetDeinterlaceModeCaps(
            lpDeinterlaceMode:PGUID;
            lpVideoDescription:PVMRVideoDesc;
            lpDeinterlaceCaps:PVMRDeinterlaceCaps):HRESULT; stdcall;
    function GetDeinterlaceMode(
            dwStreamID:DWORD;
            lpDeinterlaceMode:PGUID):HRESULT; stdcall;
    function SetDeinterlaceMode(
            dwStreamID:DWORD;
            lpDeinterlaceMode:PGUID):HRESULT; stdcall;
    function GetDeinterlacePrefs(
            lpdwDeinterlacePrefs:PDWORD):HRESULT; stdcall;
    function SetDeinterlacePrefs(
            dwDeinterlacePrefs:DWORD):HRESULT; stdcall;
    function GetActualDeinterlaceMode(
            dwStreamID:DWORD;
            lpDeinterlaceMode:PGUID):HRESULT; stdcall;
  end;
  IID_IVMRDeinterlaceControl = IVMRDeinterlaceControl;


  AM_DVD_RENDERSTATUS=packed record
    hrVPEStatus:HRESULT ;
    bDVDVolInvalid:longbool    ;
    bDVDVolUnknown:longbool    ;
    bNoLine21In:longbool    ;
    bNoLine21Out:longbool    ;
    iNumStreams:integer     ;
    iNumStreamsFailed:integer     ;
    dwFailedStreamsFlag:DWORD   ;
  end;
  PAM_DVD_RENDERSTATUS=^AM_DVD_RENDERSTATUS;

  IDvdGraphBuilder = interface(IUnknown)
    ['{FCC152B6-F372-11d0-8E00-00C04FD7C08B}']
    function GetFiltergraph( var ppGB:IGraphBuilder ) : HRESULT; stdcall;
    function GetDvdInterface( const riid: TGUID ; out ppint): HRESULT; stdcall;
    function RenderDvdVideoVolume( lpcwszPathName:pwchar; dwFlags:DWORD ; pStatus:PAM_DVD_RENDERSTATUS ): HRESULT; stdcall;
  end;

  IDvdCmd = interface(IUnknown)
    ['{5a4a97e4-94ee-4a55-9751-74b5643aa27d}']
    function WaitForStart: HRESULT; stdcall;
    function WaitForEnd: HRESULT; stdcall;
  end;
  PIDvdCmd=^IDvdCmd;


  IDvdControl2 = interface(IUnknown)
    ['{33BC7430-EEC0-11D2-8201-00A0C9D74842}']
    function PlayTitle(uiTitle:ULONG ;  dwFlags:DWORD ;  ppCmd:PIDvdCmd ): HRESULT; stdcall;
    function PlayChapterInTitle: HRESULT; stdcall;
    function PlayAtTimeInTitle: HRESULT; stdcall;
    function Stop: HRESULT; stdcall;
    function ReturnFromSubmenu: HRESULT; stdcall;
    function PlayAtTime: HRESULT; stdcall;
    function PlayChapter(ulChapter:ULONG;  dwFlags:DWORD ;  ppCmd:PIDvdCmd): HRESULT; stdcall;
    function PlayPrevChapter: HRESULT; stdcall;
    function ReplayChapter: HRESULT; stdcall;
    function PlayNextChapter(  dwFlags:DWORD; ppCmd:PIDvdCmd): HRESULT; stdcall;
    function PlayForwards(dwSpeed:double ; dwFlags:DWORD; ppCmd:PIDvdCmd): HRESULT; stdcall;
    function PlayBackwards: HRESULT; stdcall;
    function ShowMenu: HRESULT; stdcall;
    function Resume: HRESULT; stdcall;
    function SelectRelativeButton: HRESULT; stdcall;
    function ActivateButton: HRESULT; stdcall;
    function SelectButton: HRESULT; stdcall;
    function SelectAndActivateButton: HRESULT; stdcall;
    function StillOff: HRESULT; stdcall;
    function Pause: HRESULT; stdcall;
    function SelectAudioStream: HRESULT; stdcall;
    function SelectSubpictureStream: HRESULT; stdcall;
    function SetSubpictureState: HRESULT; stdcall;
    function SelectAngle: HRESULT; stdcall;
    function SelectParentalLevel: HRESULT; stdcall;
    function SelectParentalCountry: HRESULT; stdcall;
    function SelectKaraokeAudioPresentationMode: HRESULT; stdcall;
    function SelectVideoModePreference: HRESULT; stdcall;
    function SetDVDDirectory: HRESULT; stdcall;
    function ActivateAtPosition: HRESULT; stdcall;
    function SelectAtPosition(piont:TPoint): HRESULT; stdcall;
    function PlayChaptersAutoStop: HRESULT; stdcall;
    function AcceptParentalLevelChange: HRESULT; stdcall;
    function SetOption(flag:integer; Enable:longbool): HRESULT; stdcall;
    function SetState: HRESULT; stdcall;
    function PlayPeriodInTitleAutoStop: HRESULT; stdcall;
    function SetGPRM: HRESULT; stdcall;
    function SelectDefaultMenuLanguage: HRESULT; stdcall;
    function SelectDefaultAudioLanguage: HRESULT; stdcall;
    function SelectDefaultSubpictureLanguage: HRESULT; stdcall;
  end;
  IID_IDvdControl2=IDvdControl2;


  IDvdControl=interface(IUnknown)
    ['{A70EFE61-E2A3-11d0-A9BE-00AA0061BE93}']
    function TitlePlay(uiTitle:ULONG ): HRESULT; stdcall;
    function ChapterPlay: HRESULT; stdcall;
    function TimePlay: HRESULT; stdcall;
    function StopForResume: HRESULT; stdcall;
    function GoUp: HRESULT; stdcall;
    function TimeSearch: HRESULT; stdcall;
    function ChapterSearch: HRESULT; stdcall;
    function PrevPGSearch: HRESULT; stdcall;
    function TopPGSearch: HRESULT; stdcall;
    function NextPGSearch: HRESULT; stdcall;
    function ForwardScan: HRESULT; stdcall;
    function BackwardScan: HRESULT; stdcall;
    function MenuCall: HRESULT; stdcall;
    function Resume: HRESULT; stdcall;
    function UpperButtonSelect: HRESULT; stdcall;
    function LowerButtonSelect: HRESULT; stdcall;
    function LeftButtonSelect: HRESULT; stdcall;
    function RightButtonSelect: HRESULT; stdcall;
    function ButtonActivate: HRESULT; stdcall;
    function ButtonSelectAndActivate: HRESULT; stdcall;
    function StillOff: HRESULT; stdcall;
    function PauseOn: HRESULT; stdcall;
    function PauseOff: HRESULT; stdcall;
    function MenuLanguageSelect: HRESULT; stdcall;
    function AudioStreamChange: HRESULT; stdcall;
    function SubpictureStreamChange: HRESULT; stdcall;
    function AngleChange: HRESULT; stdcall;
    function ParentalLevelSelect: HRESULT; stdcall;
    function ParentalCountrySelect: HRESULT; stdcall;
    function KaraokeAudioPresentationModeChange: HRESULT; stdcall;
    function VideoModePreferrence: HRESULT; stdcall;
    function SetRoot: HRESULT; stdcall;
    function MouseActivate: HRESULT; stdcall;
    function MouseSelect: HRESULT; stdcall;
    function ChapterPlayAutoStop: HRESULT; stdcall;
  end;
  IID_IDvdControl=IDvdControl;

  IVMRAspectRatioControl = interface(IUnknown)
    ['{ede80b5c-bad6-4623-b537-65586c9f8dfd}']
    function GetAspectRatioMode(lpdwARMode:PDWORD):HRESULT; stdcall;
    function SetAspectRatioMode(dwARMode:DWORD):HRESULT; stdcall;

  end;
  IID_IVMRAspectRatioControl=IVMRAspectRatioControl;

  IAMGraphStreams = interface(IUnknown)
    ['{632105FA-072E-11d3-8AF9-00C04FB6BD3D}']
    function FindUpstreamInterface:HRESULT; stdcall;
    function SyncUsingStreamOffset(bUseStreamOffset:longbool):HRESULT; stdcall;
    function SetMaxGraphLatency(rtMaxGraphLatency:IEREFERENCE_TIME):HRESULT; stdcall;
  end;
  IID_IAMGraphStreams=IAMGraphStreams;

{!!
<FS>TIEPropertyPages

<FM>Declaration<FC>
}
  TIEPropertyPages = (iepVideoInput, iepAudioInput, iepVideoCodec, iepAudioCodec, iepVideoInputSource, iepTuner);
{!!}

{!!
<FS>TIEPropertyPagesType

<FM>Declaration<FC>
}
  TIEPropertyPagesType = (ietFilter, ietInput, ietOutput);
{!!}

{!!
<FS>TIEVideoFormat

<FM>Declaration<FC>
}
  TIEVideoFormat = class
    Format: string; // pixels format
    BitRate: integer; // Approximate data rate of the video stream, in bits per second.
    VideoStandard: string; // The analog video standard supported.
    MinWidth: integer;
    MinHeight: integer;
    MaxWidth: integer;
    MaxHeight: integer;
    GranularityX: integer;
    GranularityY: integer;
  end;
{!!}

{!!
<FS>TIEReferenceClock

<FM>Declaration<FC>
TIEReferenceClock=(rcDefault, rcNone, rcSystemClock, rcVideoInput, rcVideoOutput, rcAudioInput, rcAudioOutput);

<FM>Description<FN>
<TABLE>
<R> <H>Value</H> <H>Description</H> </R>
<R> <C>rcDefault</C> <C>Default DirectShow setting</C> </R>
<R> <C>rcNone</C> <C>No synchronism used</C> </R>
<R> <C>rcSystemClock</C> <C>Use system clock</C> </R>
<R> <C>rcVideoInput</C> <C>Video input is the synch reference</C> </R>
<R> <C>rcVideoOutput</C> <C>Video output is the synch reference</C> </R>
<R> <C>rcAudioInput</C> <C>Audio input is the synch reference</C> </R>
<R> <C>rcAudioOutput</C> <C>Audio output is the sync reference</C> </R>
</TABLE>
!!}
TIEReferenceClock=(rcDefault, rcNone, rcSystemClock, rcVideoInput, rcVideoOutput, rcAudioInput, rcAudioOutput);

{!!
<FS>TIEDirectShow

<FM>Description<FN>
TIEDirectShow class allows control of some Direct Show features, such as video capture, audio capture, multimedia files capture as well video rendering, and multimedia file writing.

<FM>Methods<FN>

    <A TIEDirectShow.BufferToTIEBitmap>
    <A TIEDirectShow.Connect>
    <A TIEDirectShow.ConvertTimeFormat>
    <A TIEDirectShow.Disconnect>
    <A TIEDirectShow.DVDActivateButton>
    <A TIEDirectShow.DVDSelectAt>
    <A TIEDirectShow.GetAverageTimePerFrame>
    <A TIEDirectShow.GetCurrentVideoFormat>
    <A TIEDirectShow.GetEventCode>
    <A TIEDirectShow.GetSample>
    <A TIEDirectShow.GetSupportedTVStandards>
    <A TIEDirectShow.GetVideoRenderNativeSize>
    <A TIEDirectShow.GetVideoRenderRect>
    <A TIEDirectShow.Pause>
    <A TIEDirectShow.RepaintVideo>
    <A TIEDirectShow.Run>
    <A TIEDirectShow.SaveGraph>
    <A TIEDirectShow.SetAudioCodec>
    <A TIEDirectShow.SetAudioInput>
    <A TIEDirectShow.SetCurrentVideoFormat>
    <A TIEDirectShow.SetNotifyWindow>
    <A TIEDirectShow.SetTVStandard>
    <A TIEDirectShow.SetVCRHorizontalLocking>
    <A TIEDirectShow.SetVideoCodec>
    <A TIEDirectShow.SetVideoInput>
    <A TIEDirectShow.SetVideoRenderRect>
    <A TIEDirectShow.ShowPropertyPages>
    <A TIEDirectShow.State>
    <A TIEDirectShow.Step>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -