frames->sw_format = hwfc->sw_format;
frames->width = hwfc->width;
frames->height = hwfc->height;
- frames->initial_pool_size = 64;
+
+ if (avctx->extra_hw_frames >= 0)
+ frames->initial_pool_size = 2 + avctx->extra_hw_frames;
err = av_hwframe_ctx_init(ctx->hwframes_ref);
if (err < 0) {
hwfc->width = inlink->w;
hwfc->height = inlink->h;
+ if (avctx->extra_hw_frames >= 0)
+ hwfc->initial_pool_size = 2 + avctx->extra_hw_frames;
+
err = av_hwframe_ctx_init(ctx->hwframes_ref);
if (err < 0) {
av_log(avctx, AV_LOG_ERROR, "Failed to create frame "