summaryrefslogtreecommitdiff
path: root/libavutil/hwcontext_vaapi.c
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2016-09-30 21:21:46 +0200
committerMark Thompson <sw@jkqxz.net>2016-11-13 20:39:49 +0000
commit775a8477b74bb2fa95ca2b13c08f3fd8d6c617b6 (patch)
tree4f5d7dd11b889a00b0d24ab7b7eb146d8c12b883 /libavutil/hwcontext_vaapi.c
parent8d47d8407569aade0c0d564600919349789dc38b (diff)
hwcontext_vaapi: add a quirk for the missing MemoryType attribute
The Intel binary iHD driver does not support the VASurfaceAttribMemoryType, so surface allocation will fail when using it. (cherry picked from commit 2124711b950b03c582a119c75f52a87acc32d6ec)
Diffstat (limited to 'libavutil/hwcontext_vaapi.c')
-rw-r--r--libavutil/hwcontext_vaapi.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/libavutil/hwcontext_vaapi.c b/libavutil/hwcontext_vaapi.c
index 06836a7156..605e465e2d 100644
--- a/libavutil/hwcontext_vaapi.c
+++ b/libavutil/hwcontext_vaapi.c
@@ -275,6 +275,11 @@ static const struct {
"i965",
AV_VAAPI_DRIVER_QUIRK_RENDER_PARAM_BUFFERS,
},
+ {
+ "Intel iHD",
+ "ubit",
+ AV_VAAPI_DRIVER_QUIRK_ATTRIB_MEMTYPE,
+ },
};
static int vaapi_device_init(AVHWDeviceContext *hwdev)
@@ -449,7 +454,8 @@ static int vaapi_frames_init(AVHWFramesContext *hwfc)
}
if (!hwfc->pool) {
- int need_memory_type = 1, need_pixel_format = 1;
+ int need_memory_type = !(hwctx->driver_quirks & AV_VAAPI_DRIVER_QUIRK_ATTRIB_MEMTYPE);
+ int need_pixel_format = 1;
for (i = 0; i < avfc->nb_attributes; i++) {
if (ctx->attributes[i].type == VASurfaceAttribMemoryType)
need_memory_type = 0;