pub trait ID3D12VideoDevice2_Impl: Sized + ID3D12VideoDevice1_Impl {
    // Required methods
    fn CreateVideoDecoder1(
        &self,
        pdesc: *const D3D12_VIDEO_DECODER_DESC,
        pprotectedresourcesession: Option<&ID3D12ProtectedResourceSession>,
        riid: *const GUID,
        ppvideodecoder: *mut *mut c_void
    ) -> Result<()>;
    fn CreateVideoDecoderHeap1(
        &self,
        pvideodecoderheapdesc: *const D3D12_VIDEO_DECODER_HEAP_DESC,
        pprotectedresourcesession: Option<&ID3D12ProtectedResourceSession>,
        riid: *const GUID,
        ppvideodecoderheap: *mut *mut c_void
    ) -> Result<()>;
    fn CreateVideoProcessor1(
        &self,
        nodemask: u32,
        poutputstreamdesc: *const D3D12_VIDEO_PROCESS_OUTPUT_STREAM_DESC,
        numinputstreamdescs: u32,
        pinputstreamdescs: *const D3D12_VIDEO_PROCESS_INPUT_STREAM_DESC,
        pprotectedresourcesession: Option<&ID3D12ProtectedResourceSession>,
        riid: *const GUID,
        ppvideoprocessor: *mut *mut c_void
    ) -> Result<()>;
    fn CreateVideoExtensionCommand(
        &self,
        pdesc: *const D3D12_VIDEO_EXTENSION_COMMAND_DESC,
        pcreationparameters: *const c_void,
        creationparametersdatasizeinbytes: usize,
        pprotectedresourcesession: Option<&ID3D12ProtectedResourceSession>,
        riid: *const GUID,
        ppvideoextensioncommand: *mut *mut c_void
    ) -> Result<()>;
    fn ExecuteExtensionCommand(
        &self,
        pextensioncommand: Option<&ID3D12VideoExtensionCommand>,
        pexecutionparameters: *const c_void,
        executionparameterssizeinbytes: usize,
        poutputdata: *mut c_void,
        outputdatasizeinbytes: usize
    ) -> Result<()>;
}

Required Methods§

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

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

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

fn CreateVideoExtensionCommand( &self, pdesc: *const D3D12_VIDEO_EXTENSION_COMMAND_DESC, pcreationparameters: *const c_void, creationparametersdatasizeinbytes: usize, pprotectedresourcesession: Option<&ID3D12ProtectedResourceSession>, riid: *const GUID, ppvideoextensioncommand: *mut *mut c_void ) -> Result<()>

fn ExecuteExtensionCommand( &self, pextensioncommand: Option<&ID3D12VideoExtensionCommand>, pexecutionparameters: *const c_void, executionparameterssizeinbytes: usize, poutputdata: *mut c_void, outputdatasizeinbytes: usize ) -> Result<()>

Object Safety§

This trait is not object safe.

Implementors§