aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/mf_utils.h
diff options
context:
space:
mode:
authorDash Santosh <dash.sathyanarayanan@multicorewareinc.com>2025-05-22 05:34:37 -0700
committerdwbuiten <dwbuiten@noreply.localhost>2025-07-31 21:07:51 +0000
commitd56522c6eb754cd5c648bc0c0b39bd4fbd77c47c (patch)
tree1c9518aeef1eec16db01290ee2c89e24d07cc872 /libavcodec/mf_utils.h
parent96821211c22ec99b5238f8c64aab94b9e2dbb334 (diff)
downloadffmpeg-d56522c6eb754cd5c648bc0c0b39bd4fbd77c47c.tar.gz
avcodec/mfenc: add support for D3D11 input surfaces
Adds D3D11 input surface support to the MediaFoundation encoder (mfenc), allowing direct encoding of GPU frames without readback to system memory. This improves performance and compatibility when used alongside scale_d3d11. Signed-off-by: Dash Santosh <dash.sathyanarayanan@multicorewareinc.com>
Diffstat (limited to 'libavcodec/mf_utils.h')
-rw-r--r--libavcodec/mf_utils.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/libavcodec/mf_utils.h b/libavcodec/mf_utils.h
index a59b36d015..ecebb6fcdf 100644
--- a/libavcodec/mf_utils.h
+++ b/libavcodec/mf_utils.h
@@ -53,6 +53,13 @@ typedef struct MFFunctions {
IMFMediaBuffer **ppBuffer);
HRESULT (WINAPI *MFCreateSample) (IMFSample **ppIMFSample);
HRESULT (WINAPI *MFCreateMediaType) (IMFMediaType **ppMFType);
+ HRESULT (WINAPI *MFCreateDXGISurfaceBuffer) (REFIID riid,
+ IUnknown* punkSurface,
+ UINT uSubresourceIndex,
+ BOOL fBottomUpWhenLinear,
+ IMFMediaBuffer** ppBuffer);
+ HRESULT (WINAPI *MFCreateDXGIDeviceManager) (UINT* resetToken,
+ IMFDXGIDeviceManager** ppDeviceManager);
// MFTEnumEx is missing in Windows Vista's mfplat.dll.
HRESULT (WINAPI *MFTEnumEx)(GUID guidCategory, UINT32 Flags,
const MFT_REGISTER_TYPE_INFO *pInputType,