aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHaihao Xiang <haihao.xiang@intel.com>2022-11-17 10:37:15 +0800
committerHaihao Xiang <haihao.xiang@intel.com>2022-11-22 13:52:38 +0800
commit3dc8bceabed0bb514342a3da24e6ae4eac8c2703 (patch)
treea32ef3e9b7e5528fa9790c76cd8e02d58695008a
parentefe2b63c89462a46c0450da49832b3c9075b1222 (diff)
downloadffmpeg-3dc8bceabed0bb514342a3da24e6ae4eac8c2703.tar.gz
lavu/pixfmt: Update the description for AV_PIX_FMT_QSV
Since D3D11 was introduced for QSV in FFmpeg 5.0, there is an implied API/ABI change for user-supplied frames [1], hence update the description for AV_PIX_FMT_QSV. [1] https://ffmpeg.org/pipermail/ffmpeg-devel/2021-December/290444.html Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
-rw-r--r--libavutil/pixfmt.h32
1 files changed, 30 insertions, 2 deletions
diff --git a/libavutil/pixfmt.h b/libavutil/pixfmt.h
index 224670a731..37c2c79e01 100644
--- a/libavutil/pixfmt.h
+++ b/libavutil/pixfmt.h
@@ -206,8 +206,36 @@ enum AVPixelFormat {
AV_PIX_FMT_GBRAP16BE, ///< planar GBRA 4:4:4:4 64bpp, big-endian
AV_PIX_FMT_GBRAP16LE, ///< planar GBRA 4:4:4:4 64bpp, little-endian
/**
- * HW acceleration through QSV, data[3] contains a pointer to the
- * mfxFrameSurface1 structure.
+ * HW acceleration through QSV, data[3] contains a pointer to the
+ * mfxFrameSurface1 structure.
+ *
+ * Before FFmpeg 5.0:
+ * mfxFrameSurface1.Data.MemId contains a pointer when importing
+ * the following frames as QSV frames:
+ *
+ * VAAPI:
+ * mfxFrameSurface1.Data.MemId contains a pointer to VASurfaceID
+ *
+ * DXVA2:
+ * mfxFrameSurface1.Data.MemId contains a pointer to IDirect3DSurface9
+ *
+ * FFmpeg 5.0 and above:
+ * mfxFrameSurface1.Data.MemId contains a pointer to the mfxHDLPair
+ * structure when importing the following frames as QSV frames:
+ *
+ * VAAPI:
+ * mfxHDLPair.first contains a VASurfaceID pointer.
+ * mfxHDLPair.second is always MFX_INFINITE.
+ *
+ * DXVA2:
+ * mfxHDLPair.first contains IDirect3DSurface9 pointer.
+ * mfxHDLPair.second is always MFX_INFINITE.
+ *
+ * D3D11:
+ * mfxHDLPair.first contains a ID3D11Texture2D pointer.
+ * mfxHDLPair.second contains the texture array index of the frame if the
+ * ID3D11Texture2D is an array texture, or always MFX_INFINITE if it is a
+ * normal texture.
*/
AV_PIX_FMT_QSV,
/**