The deinterlacer does not change, because it does not allocate any new
frames (for output it uses the same pool as the input).
---
 libavfilter/vf_scale_qsv.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavfilter/vf_scale_qsv.c b/libavfilter/vf_scale_qsv.c
index 8ef77835d..aed74aa8b 100644
--- a/libavfilter/vf_scale_qsv.c
+++ b/libavfilter/vf_scale_qsv.c
@@ -193,7 +193,7 @@ static int init_out_pool(AVFilterContext *ctx,
     out_frames_ctx->width             = FFALIGN(out_width,  32);
     out_frames_ctx->height            = FFALIGN(out_height, 32);
     out_frames_ctx->sw_format         = out_format;
-    out_frames_ctx->initial_pool_size = 32;
+    out_frames_ctx->initial_pool_size = FFMAX(32, 4 + ctx->extra_hw_frames);
 
     out_frames_hwctx->frame_type = in_frames_hwctx->frame_type;
 
-- 
2.11.0

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to