pub trait ID3D12VideoDevice_Impl: Sized {
    // Required methods
    fn CheckFeatureSupport(
        &self,
        featurevideo: D3D12_FEATURE_VIDEO,
        pfeaturesupportdata: *mut c_void,
        featuresupportdatasize: u32
    ) -> Result<()>;
    fn CreateVideoDecoder(
        &self,
        pdesc: *const D3D12_VIDEO_DECODER_DESC,
        riid: *const GUID,
        ppvideodecoder: *mut *mut c_void
    ) -> Result<()>;
    fn CreateVideoDecoderHeap(
        &self,
        pvideodecoderheapdesc: *const D3D12_VIDEO_DECODER_HEAP_DESC,
        riid: *const GUID,
        ppvideodecoderheap: *mut *mut c_void
    ) -> Result<()>;
    fn CreateVideoProcessor(
        &self,
        nodemask: u32,
        poutputstreamdesc: *const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC,
        numinputstreamdescs: u32,
        pinputstreamdescs: *const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC,
        riid: *const GUID,
        ppvideoprocessor: *mut *mut c_void
    ) -> Result<()>;
}

Required Methods§

fn CheckFeatureSupport( &self, featurevideo: D3D12_FEATURE_VIDEO, pfeaturesupportdata: *mut c_void, featuresupportdatasize: u32 ) -> Result<()>

fn CreateVideoDecoder( &self, pdesc: *const D3D12_VIDEO_DECODER_DESC, riid: *const GUID, ppvideodecoder: *mut *mut c_void ) -> Result<()>

fn CreateVideoDecoderHeap( &self, pvideodecoderheapdesc: *const D3D12_VIDEO_DECODER_HEAP_DESC, riid: *const GUID, ppvideodecoderheap: *mut *mut c_void ) -> Result<()>

fn CreateVideoProcessor( &self, nodemask: u32, poutputstreamdesc: *const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC, numinputstreamdescs: u32, pinputstreamdescs: *const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC, riid: *const GUID, ppvideoprocessor: *mut *mut c_void ) -> Result<()>

Object Safety§

This trait is not object safe.

Implementors§