windows::Win32::Media::MediaFoundation

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.

Implementors§