[FFmpeg-devel] [Ffmpeg-devel] [PATCH] Add a maximum constraint of 16 encoder threads.

Carl Eugen Hoyos ceffmpeg at gmail.com
Sat Nov 17 00:18:42 EET 2018


2018-11-15 20:45 GMT+01:00, Chirag Lathia <clathia-at-google.com at ffmpeg.org>:
> libvpx supports a maximum of 16 encoder threads.
>
> Signed-off-by: Chirag Lathia <clathia at google.com>
> ---
>  libavcodec/libvpxenc.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c
> index ad440a9c21..dda4b96fb2 100644
> --- a/libavcodec/libvpxenc.c
> +++ b/libavcodec/libvpxenc.c
> @@ -497,7 +497,8 @@ static av_cold int vpx_init(AVCodecContext *avctx,
>      enccfg.g_h            = avctx->height;
>      enccfg.g_timebase.num = avctx->time_base.num;
>      enccfg.g_timebase.den = avctx->time_base.den;
> -    enccfg.g_threads      = avctx->thread_count ? avctx->thread_count
> : av_cpu_count();
> +    enccfg.g_threads      =
> +        avctx->thread_count ? avctx->thread_count : FFMIN(av_cpu_count(),
> 16);

Sorry for being late:
What does this fix? Does the vp9 specification forbid more than 16
threads? Or does libvpx only implement 16 but never check the
provided number?
Is there some fundamental limit that makes it impossible that
future libvpx supports more than 16 threads?

Carl Eugen


More information about the ffmpeg-devel mailing list