mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-12-08 06:09:50 +00:00
Merge commit '6d86cef06b'
* commit '6d86cef06b':
lavfi: Add support for increasing hardware frame pool sizes
Merged-by: Mark Thompson <sw@jkqxz.net>
This commit is contained in:
commit
bcab11a1a2
5 changed files with 60 additions and 2 deletions
|
|
@ -676,6 +676,8 @@ static const AVOption avfilter_options[] = {
|
|||
{ "enable", "set enable expression", OFFSET(enable_str), AV_OPT_TYPE_STRING, {.str=NULL}, .flags = FLAGS },
|
||||
{ "threads", "Allowed number of threads", OFFSET(nb_threads), AV_OPT_TYPE_INT,
|
||||
{ .i64 = 0 }, 0, INT_MAX, FLAGS },
|
||||
{ "extra_hw_frames", "Number of extra hardware frames to allocate for the user",
|
||||
OFFSET(extra_hw_frames), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, INT_MAX, FLAGS },
|
||||
{ NULL },
|
||||
};
|
||||
|
||||
|
|
@ -1663,3 +1665,24 @@ const AVClass *avfilter_get_class(void)
|
|||
{
|
||||
return &avfilter_class;
|
||||
}
|
||||
|
||||
int ff_filter_init_hw_frames(AVFilterContext *avctx, AVFilterLink *link,
|
||||
int default_pool_size)
|
||||
{
|
||||
AVHWFramesContext *frames;
|
||||
|
||||
// Must already be set by caller.
|
||||
av_assert0(link->hw_frames_ctx);
|
||||
|
||||
frames = (AVHWFramesContext*)link->hw_frames_ctx->data;
|
||||
|
||||
if (frames->initial_pool_size == 0) {
|
||||
// Dynamic allocation is necessarily supported.
|
||||
} else if (avctx->extra_hw_frames >= 0) {
|
||||
frames->initial_pool_size += avctx->extra_hw_frames;
|
||||
} else {
|
||||
frames->initial_pool_size = default_pool_size;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue