Trait windows::Win32::Media::DirectShow::IAMVideoAccelerator_Impl
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.