mirror of
https://github.com/nyanmisaka/ffmpeg-rockchip.git
synced 2025-10-30 04:02:04 +08:00
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 2124711b95)
This commit is contained in:
committed by
Mark Thompson
parent
8d47d84075
commit
775a8477b7
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user