📄 ieds.pas
字号:
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 + -