pub trait IAMVideoAccelerator_Impl: Sized {
    // Required methods
    fn GetVideoAcceleratorGUIDs(
        &self,
        pdwnumguidssupported: *mut u32,
        pguidssupported: *mut GUID,
    ) -> Result<()>;
    fn GetUncompFormatsSupported(
        &self,
        pguid: *const GUID,
        pdwnumformatssupported: *mut u32,
        pformatssupported: *mut DDPIXELFORMAT,
    ) -> Result<()>;
    fn GetInternalMemInfo(
        &self,
        pguid: *const GUID,
        pamvauncompdatainfo: *const AMVAUncompDataInfo,
        pamvainternalmeminfo: *mut AMVAInternalMemInfo,
    ) -> Result<()>;
    fn GetCompBufferInfo(
        &self,
        pguid: *const GUID,
        pamvauncompdatainfo: *const AMVAUncompDataInfo,
        pdwnumtypescompbuffers: *mut u32,
        pamvacompbufferinfo: *mut AMVACompBufferInfo,
    ) -> Result<()>;
    fn GetInternalCompBufferInfo(
        &self,
        pdwnumtypescompbuffers: *mut u32,
        pamvacompbufferinfo: *mut AMVACompBufferInfo,
    ) -> Result<()>;
    fn BeginFrame(
        &self,
        amvabeginframeinfo: *const AMVABeginFrameInfo,
    ) -> Result<()>;
    fn EndFrame(&self, pendframeinfo: *const AMVAEndFrameInfo) -> Result<()>;
    fn GetBuffer(
        &self,
        dwtypeindex: u32,
        dwbufferindex: u32,
        breadonly: BOOL,
        ppbuffer: *mut *mut c_void,
        lpstride: *mut i32,
    ) -> Result<()>;
    fn ReleaseBuffer(&self, dwtypeindex: u32, dwbufferindex: u32) -> Result<()>;
    fn Execute(
        &self,
        dwfunction: u32,
        lpprivateinputdata: *const c_void,
        cbprivateinputdata: u32,
        lpprivateoutputdat: *const c_void,
        cbprivateoutputdata: u32,
        dwnumbuffers: u32,
        pamvabufferinfo: *const AMVABUFFERINFO,
    ) -> Result<()>;
    fn QueryRenderStatus(
        &self,
        dwtypeindex: u32,
        dwbufferindex: u32,
        dwflags: u32,
    ) -> Result<()>;
    fn DisplayFrame(
        &self,
        dwfliptoindex: u32,
        pmediasample: Option<&IMediaSample>,
    ) -> Result<()>;
}

Required Methods§

fn GetVideoAcceleratorGUIDs( &self, pdwnumguidssupported: *mut u32, pguidssupported: *mut GUID, ) -> Result<()>

fn GetUncompFormatsSupported( &self, pguid: *const GUID, pdwnumformatssupported: *mut u32, pformatssupported: *mut DDPIXELFORMAT, ) -> Result<()>

fn GetInternalMemInfo( &self, pguid: *const GUID, pamvauncompdatainfo: *const AMVAUncompDataInfo, pamvainternalmeminfo: *mut AMVAInternalMemInfo, ) -> Result<()>

fn GetCompBufferInfo( &self, pguid: *const GUID, pamvauncompdatainfo: *const AMVAUncompDataInfo, pdwnumtypescompbuffers: *mut u32, pamvacompbufferinfo: *mut AMVACompBufferInfo, ) -> Result<()>

fn GetInternalCompBufferInfo( &self, pdwnumtypescompbuffers: *mut u32, pamvacompbufferinfo: *mut AMVACompBufferInfo, ) -> Result<()>

fn BeginFrame( &self, amvabeginframeinfo: *const AMVABeginFrameInfo, ) -> Result<()>

fn EndFrame(&self, pendframeinfo: *const AMVAEndFrameInfo) -> Result<()>

fn GetBuffer( &self, dwtypeindex: u32, dwbufferindex: u32, breadonly: BOOL, ppbuffer: *mut *mut c_void, lpstride: *mut i32, ) -> Result<()>

fn ReleaseBuffer(&self, dwtypeindex: u32, dwbufferindex: u32) -> Result<()>

fn Execute( &self, dwfunction: u32, lpprivateinputdata: *const c_void, cbprivateinputdata: u32, lpprivateoutputdat: *const c_void, cbprivateoutputdata: u32, dwnumbuffers: u32, pamvabufferinfo: *const AMVABUFFERINFO, ) -> Result<()>

fn QueryRenderStatus( &self, dwtypeindex: u32, dwbufferindex: u32, dwflags: u32, ) -> Result<()>

fn DisplayFrame( &self, dwfliptoindex: u32, pmediasample: Option<&IMediaSample>, ) -> Result<()>

Object Safety§

This trait is not object safe.

Implementors§