[FFmpeg-devel] [PATCH v2 10/12] lavu/hwcontext_vaapi: relax the requirement when using libva2 (VAAPI 1)
Xiang, Haihao
haihao.xiang at intel.com
Wed Dec 20 09:10:48 EET 2023
From: Haihao Xiang <haihao.xiang at intel.com>
With libva2, the argument for render target list to vaCreateContext() is
a hint, so we may use a dynamic frame pool.
Signed-off-by: Haihao Xiang <haihao.xiang at intel.com>
---
doc/APIchanges | 4 ++++
libavutil/hwcontext_vaapi.c | 2 +-
libavutil/hwcontext_vaapi.h | 5 +++--
libavutil/version.h | 2 +-
4 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/doc/APIchanges b/doc/APIchanges
index b68156ee94..0e36f43a91 100644
--- a/doc/APIchanges
+++ b/doc/APIchanges
@@ -2,6 +2,10 @@ The last version increases of all libraries were on 2023-02-09
API changes, most recent first:
+2023-12-xx - xxxxxxxxxx - lavu 58.37.100 - hwcontext_vaapi.h
+ Modify the documentation to relax the constraint for dynamic
+ frames pool
+
2023-12-xx - xxxxxxxxxx - lavu 58.36.100 - hwcontext_qsv.h
Add AVQSVFramesContext.info
diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c
index 29fc8bd648..628232e2b8 100644
--- a/libavutil/hwcontext_vaapi.c
+++ b/libavutil/hwcontext_vaapi.c
@@ -618,7 +618,7 @@ static int vaapi_frames_init(AVHWFramesContext *hwfc)
}
} else {
// This pool allows dynamic sizing, and will not be usable as a
- // render target.
+ // render target with libva. It can be used with libva2
avfc->nb_surfaces = 0;
avfc->surface_ids = NULL;
}
diff --git a/libavutil/hwcontext_vaapi.h b/libavutil/hwcontext_vaapi.h
index 0b2e071cb3..cff88ad237 100644
--- a/libavutil/hwcontext_vaapi.h
+++ b/libavutil/hwcontext_vaapi.h
@@ -25,9 +25,10 @@
* @file
* API-specific header for AV_HWDEVICE_TYPE_VAAPI.
*
- * Dynamic frame pools are supported, but note that any pool used as a render
+ * Dynamic frame pools are supported. Note that any pool used as a render
* target is required to be of fixed size in order to be be usable as an
- * argument to vaCreateContext().
+ * argument to vaCreateContext() when libva is used. When libva2 (VAAPI 1)
+ * is used, a pool used as a render target can be dynamic.
*
* For user-allocated pools, AVHWFramesContext.pool must return AVBufferRefs
* with the data pointer set to a VASurfaceID.
diff --git a/libavutil/version.h b/libavutil/version.h
index 3b4c50e9a9..3b38f8f5da 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -79,7 +79,7 @@
*/
#define LIBAVUTIL_VERSION_MAJOR 58
-#define LIBAVUTIL_VERSION_MINOR 36
+#define LIBAVUTIL_VERSION_MINOR 37
#define LIBAVUTIL_VERSION_MICRO 100
#define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \
--
2.34.1
More information about the ffmpeg-devel
mailing list