Trait IDirectXVideoProcessorService_Impl
pub trait IDirectXVideoProcessorService_Impl: IDirectXVideoAccelerationService_Impl {
// Required methods
fn RegisterVideoProcessorSoftwareDevice(
&self,
pcallbacks: *const c_void,
) -> Result<()>;
fn GetVideoProcessorDeviceGuids(
&self,
pvideodesc: *const DXVA2_VideoDesc,
pcount: *mut u32,
pguids: *mut *mut GUID,
) -> Result<()>;
fn GetVideoProcessorRenderTargets(
&self,
videoprocdeviceguid: *const GUID,
pvideodesc: *const DXVA2_VideoDesc,
pcount: *mut u32,
pformats: *mut *mut D3DFORMAT,
) -> Result<()>;
fn GetVideoProcessorSubStreamFormats(
&self,
videoprocdeviceguid: *const GUID,
pvideodesc: *const DXVA2_VideoDesc,
rendertargetformat: D3DFORMAT,
pcount: *mut u32,
pformats: *mut *mut D3DFORMAT,
) -> Result<()>;
fn GetVideoProcessorCaps(
&self,
videoprocdeviceguid: *const GUID,
pvideodesc: *const DXVA2_VideoDesc,
rendertargetformat: D3DFORMAT,
pcaps: *mut DXVA2_VideoProcessorCaps,
) -> Result<()>;
fn GetProcAmpRange(
&self,
videoprocdeviceguid: *const GUID,
pvideodesc: *const DXVA2_VideoDesc,
rendertargetformat: D3DFORMAT,
procampcap: u32,
) -> Result<DXVA2_ValueRange>;
fn GetFilterPropertyRange(
&self,
videoprocdeviceguid: *const GUID,
pvideodesc: *const DXVA2_VideoDesc,
rendertargetformat: D3DFORMAT,
filtersetting: u32,
) -> Result<DXVA2_ValueRange>;
fn CreateVideoProcessor(
&self,
videoprocdeviceguid: *const GUID,
pvideodesc: *const DXVA2_VideoDesc,
rendertargetformat: D3DFORMAT,
maxnumsubstreams: u32,
) -> Result<IDirectXVideoProcessor>;
}
Required Methods§
fn RegisterVideoProcessorSoftwareDevice( &self, pcallbacks: *const c_void, ) -> Result<()>
fn GetVideoProcessorDeviceGuids( &self, pvideodesc: *const DXVA2_VideoDesc, pcount: *mut u32, pguids: *mut *mut GUID, ) -> Result<()>
fn GetVideoProcessorRenderTargets( &self, videoprocdeviceguid: *const GUID, pvideodesc: *const DXVA2_VideoDesc, pcount: *mut u32, pformats: *mut *mut D3DFORMAT, ) -> Result<()>
fn GetVideoProcessorSubStreamFormats( &self, videoprocdeviceguid: *const GUID, pvideodesc: *const DXVA2_VideoDesc, rendertargetformat: D3DFORMAT, pcount: *mut u32, pformats: *mut *mut D3DFORMAT, ) -> Result<()>
fn GetVideoProcessorCaps( &self, videoprocdeviceguid: *const GUID, pvideodesc: *const DXVA2_VideoDesc, rendertargetformat: D3DFORMAT, pcaps: *mut DXVA2_VideoProcessorCaps, ) -> Result<()>
fn GetProcAmpRange( &self, videoprocdeviceguid: *const GUID, pvideodesc: *const DXVA2_VideoDesc, rendertargetformat: D3DFORMAT, procampcap: u32, ) -> Result<DXVA2_ValueRange>
fn GetFilterPropertyRange( &self, videoprocdeviceguid: *const GUID, pvideodesc: *const DXVA2_VideoDesc, rendertargetformat: D3DFORMAT, filtersetting: u32, ) -> Result<DXVA2_ValueRange>
fn CreateVideoProcessor( &self, videoprocdeviceguid: *const GUID, pvideodesc: *const DXVA2_VideoDesc, rendertargetformat: D3DFORMAT, maxnumsubstreams: u32, ) -> Result<IDirectXVideoProcessor>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.