Divx pro codec 6.9.2 crack6/3/2023 If (S_OK = _sample.GetMediaType( out pmt))ĬUDA.NVVE_EncodeFrameParams _params = new CUDA.NVVE_EncodeFrameParams() Public override int OnReceive( ref IMediaSampleImpl _sample) Main methods for open configuring and closing encoder: _callback.pfnreleasebitstream = Marshal.GetFunctionPointerForDelegate(m_fnReleaseBitstreamDelegate) ĬUDA.NVRegisterCB(m_hEncoder, _callback, Marshal.GetIUnknownForObject( this)) Configuring Encoder _callback.pfnonendframe = Marshal.GetFunctionPointerForDelegate(m_fnOnEndFrame) _callback.pfnonbeginframe = Marshal.GetFunctionPointerForDelegate(m_fnOnBeginFrame) _callback.pfnacquirebitstream = Marshal.GetFunctionPointerForDelegate(m_fnAcquireBitstreamDelegate) Private CUDA.PFNONENDFRAME m_fnOnEndFrame = new CUDA.PFNONENDFRAME(OnEndFrame) ĬUDA.NVVE_CallbackParams _callback = new CUDA.NVVE_CallbackParams() Private CUDA.PFNONBEGINFRAME m_fnOnBeginFrame = new CUDA.PFNONBEGINFRAME(OnBeginFrame) Private CUDA.PFNRELEASEBITSTREAM m_fnReleaseBitstreamDelegate = new CUDA.PFNRELEASEBITSTREAM(ReleaseBitstream) Private CUDA.PFNACQUIREBITSTREAM m_fnAcquireBitstreamDelegate = new CUDA.PFNACQUIREBITSTREAM(AcquireBitstream) For that we need to make the delegate for each callback method. The function NVRegiserCB is used for registering encoder callbacks in Public static extern void NVRegisterCB( IntPtr hNVEncoder, NVVE_CallbackParams cb, IntPtr pUserdata) Public static extern int NVGetHWEncodeCaps() NVVE_EncodeFrameParams pFrmIn, uint flag, IntPtr pData) Public static extern int NVEncodeFrame( IntPtr hNVEncoder, Public static extern int NVGetSPSPPS( IntPtr hNVEncoder, IntPtr pSPSPPSbfr, Public static extern int NVCreateHWEncoder( IntPtr hNVEncoder) Public static extern int NVSetDefaultParam( IntPtr hNVEncoder) Public static extern int NVGetParamValue( IntPtr hNVEncoder, NVVE_EncodeParams dwParamType, IntPtr pData) Public static extern int NVSetParamValue( IntPtr hNVEncoder, NVVE_EncodeParams dwParamType, IntPtr pData) Public static extern int NVIsSupportedParam( IntPtr hNVEncoder, NVVE_EncodeParams dwParamType) Public static extern int NVGetCodec( IntPtr hNVEncoder, out uint pdwCodecType) Public static extern int NVSetCodec( IntPtr hNVEncoder, uint dwCodecType) Public static extern int NVIsSupportedCodecProfile( IntPtr hNVEncoder, uint dwCodecType, uint dwProfileType) Public static extern int NVIsSupportedCodec( IntPtr hNVEncoder, uint dwCodecType) Public static extern int NVDestroyEncoder( IntPtr hNVEncoder) Public static extern int NVCreateEncoder( out IntPtr pNVEncoder) NVIDIA CUDA Encoder APIįirst I made the interop of CUDA Video Encoder API: Implementation how to handle it you can find in filter property page implementation. Via that interface it is possible to configure settings. Int put_SliceIntervals( ref int piIDR, ref int piP) Int get_SliceIntervals( out int piIDR, out int piP) Int get_Profile( out profile_idc pValue) Int get_MbEncoding( out mb_encoding pValue) ![]() Int put_RateControl( rate_control value) Int get_RateControl( out rate_control pValue)
0 Comments
Leave a Reply. |