hwcontext_vaapi.c (libav-12) | : | hwcontext_vaapi.c (libav-12.1) | ||
---|---|---|---|---|
skipping to change at line 392 | skipping to change at line 392 | |||
static AVBufferRef *vaapi_pool_alloc(void *opaque, int size) | static AVBufferRef *vaapi_pool_alloc(void *opaque, int size) | |||
{ | { | |||
AVHWFramesContext *hwfc = opaque; | AVHWFramesContext *hwfc = opaque; | |||
VAAPIFramesContext *ctx = hwfc->internal->priv; | VAAPIFramesContext *ctx = hwfc->internal->priv; | |||
AVVAAPIDeviceContext *hwctx = hwfc->device_ctx->hwctx; | AVVAAPIDeviceContext *hwctx = hwfc->device_ctx->hwctx; | |||
AVVAAPIFramesContext *avfc = hwfc->hwctx; | AVVAAPIFramesContext *avfc = hwfc->hwctx; | |||
VASurfaceID surface_id; | VASurfaceID surface_id; | |||
VAStatus vas; | VAStatus vas; | |||
AVBufferRef *ref; | AVBufferRef *ref; | |||
if (hwfc->initial_pool_size > 0 && | ||||
avfc->nb_surfaces >= hwfc->initial_pool_size) | ||||
return NULL; | ||||
vas = vaCreateSurfaces(hwctx->display, ctx->rt_format, | vas = vaCreateSurfaces(hwctx->display, ctx->rt_format, | |||
hwfc->width, hwfc->height, | hwfc->width, hwfc->height, | |||
&surface_id, 1, | &surface_id, 1, | |||
ctx->attributes, ctx->nb_attributes); | ctx->attributes, ctx->nb_attributes); | |||
if (vas != VA_STATUS_SUCCESS) { | if (vas != VA_STATUS_SUCCESS) { | |||
av_log(hwfc, AV_LOG_ERROR, "Failed to create surface: " | av_log(hwfc, AV_LOG_ERROR, "Failed to create surface: " | |||
"%d (%s).\n", vas, vaErrorStr(vas)); | "%d (%s).\n", vas, vaErrorStr(vas)); | |||
return NULL; | return NULL; | |||
} | } | |||
av_log(hwfc, AV_LOG_DEBUG, "Created surface %#x.\n", surface_id); | av_log(hwfc, AV_LOG_DEBUG, "Created surface %#x.\n", surface_id); | |||
End of changes. 1 change blocks. | ||||
0 lines changed or deleted | 4 lines changed or added |