pub trait IDirectXVideoProcessorService_Impl: Sized + 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>

Object Safety§

This trait is not object safe.

Implementors§