aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Thompson <sw@jkqxz.net>2018-02-12 22:56:12 +0000
committerMark Thompson <sw@jkqxz.net>2018-02-12 22:56:12 +0000
commitb668a1c8b35d7b45eb32cba465fb99b99355998c (patch)
tree235625a64c74b35ff282a73fb15333f6e16e5d94
parent6e050e0085b3f6f1109a0593aad63ec6e6bf23ff (diff)
parentc6bc18bc121ea66df715123c59f7ef9542c0914a (diff)
downloadffmpeg-b668a1c8b35d7b45eb32cba465fb99b99355998c.tar.gz
Merge commit 'c6bc18bc121ea66df715123c59f7ef9542c0914a'
* commit 'c6bc18bc121ea66df715123c59f7ef9542c0914a': vf_hwupload/hwmap: Support setting a fixed pool size Merged-by: Mark Thompson <sw@jkqxz.net>
-rw-r--r--libavfilter/vf_hwmap.c7
-rw-r--r--libavfilter/vf_hwupload.c3
2 files changed, 9 insertions, 1 deletions
diff --git a/libavfilter/vf_hwmap.c b/libavfilter/vf_hwmap.c
index d5fc3c46e6..290559a06a 100644
--- a/libavfilter/vf_hwmap.c
+++ b/libavfilter/vf_hwmap.c
@@ -143,7 +143,9 @@ static int hwmap_config_output(AVFilterLink *outlink)
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) {
@@ -223,6 +225,9 @@ static int hwmap_config_output(AVFilterLink *outlink)
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 "
diff --git a/libavfilter/vf_hwupload.c b/libavfilter/vf_hwupload.c
index 157686b7b3..50bc7e10f6 100644
--- a/libavfilter/vf_hwupload.c
+++ b/libavfilter/vf_hwupload.c
@@ -131,6 +131,9 @@ static int hwupload_config_output(AVFilterLink *outlink)
ctx->hwframes->width = inlink->w;
ctx->hwframes->height = inlink->h;
+ if (avctx->extra_hw_frames >= 0)
+ ctx->hwframes->initial_pool_size = 2 + avctx->extra_hw_frames;
+
err = av_hwframe_ctx_init(ctx->hwframes_ref);
if (err < 0)
goto fail;