diff mbox series

[FFmpeg-devel] lavu/pixfmt: Update the description for AV_PIX_FMT_QSV

Message ID 20221117023715.66653-1-haihao.xiang@intel.com
State Accepted
Commit 3dc8bceabed0bb514342a3da24e6ae4eac8c2703
Headers show
Series [FFmpeg-devel] lavu/pixfmt: Update the description for AV_PIX_FMT_QSV | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished

Commit Message

Xiang, Haihao Nov. 17, 2022, 2:37 a.m. UTC
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(-)

Comments

Xiang, Haihao Nov. 21, 2022, 2:52 a.m. UTC | #1
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
diff mbox series

Patch

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,
     /**