* [FFmpeg-devel] [PATCH] lavu/pixfmt: Update the description for AV_PIX_FMT_QSV
@ 2022-11-17 2:37 Xiang, Haihao
2022-11-21 2:52 ` Xiang, Haihao
0 siblings, 1 reply; 2+ messages in thread
From: Xiang, Haihao @ 2022-11-17 2:37 UTC (permalink / raw)
To: ffmpeg-devel; +Cc: Haihao Xiang
From: Haihao Xiang <haihao.xiang@intel.com>
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>
---
libavutil/pixfmt.h | 32 ++++++++++++++++++++++++++++++--
1 file 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,
/**
--
2.25.1
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [FFmpeg-devel] [PATCH] lavu/pixfmt: Update the description for AV_PIX_FMT_QSV
2022-11-17 2:37 [FFmpeg-devel] [PATCH] lavu/pixfmt: Update the description for AV_PIX_FMT_QSV Xiang, Haihao
@ 2022-11-21 2:52 ` Xiang, Haihao
0 siblings, 0 replies; 2+ messages in thread
From: Xiang, Haihao @ 2022-11-21 2:52 UTC (permalink / raw)
To: ffmpeg-devel
On Thu, 2022-11-17 at 10:37 +0800, Xiang, Haihao wrote:
> From: Haihao Xiang <haihao.xiang@intel.com>
>
> 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>
> ---
> libavutil/pixfmt.h | 32 ++++++++++++++++++++++++++++++--
> 1 file 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,
> /**
Will apply,
-Haihao
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-11-21 2:52 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-17 2:37 [FFmpeg-devel] [PATCH] lavu/pixfmt: Update the description for AV_PIX_FMT_QSV Xiang, Haihao
2022-11-21 2:52 ` Xiang, Haihao
Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
This inbox may be cloned and mirrored by anyone:
git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
ffmpegdev@gitmailbox.com
public-inbox-index ffmpegdev
Example config snippet for mirrors.
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git