mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-25 00:32:31 +00:00
avcodec/libaom: fix setting amount of threads
The libaom doxy says that a value of 0 for the threads fields is equivalent to a value of 1, whereas for avctx->thread_count it means the maximum amount of threads possible for the host system. Use av_cpu_count() to get the correct thread count when auto threads is requested. Reviewed-by: Jan Ekström <jeebjp@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
parent
776cdd1dc8
commit
309c3a0e81
@ -43,7 +43,7 @@ static av_cold int aom_init(AVCodecContext *avctx,
|
|||||||
AV1DecodeContext *ctx = avctx->priv_data;
|
AV1DecodeContext *ctx = avctx->priv_data;
|
||||||
struct aom_codec_dec_cfg deccfg = {
|
struct aom_codec_dec_cfg deccfg = {
|
||||||
/* token partitions+1 would be a decent choice */
|
/* token partitions+1 would be a decent choice */
|
||||||
.threads = FFMIN(avctx->thread_count, 16)
|
.threads = FFMIN(avctx->thread_count ? avctx->thread_count : av_cpu_count(), 16)
|
||||||
};
|
};
|
||||||
|
|
||||||
av_log(avctx, AV_LOG_INFO, "%s\n", aom_codec_version_str());
|
av_log(avctx, AV_LOG_INFO, "%s\n", aom_codec_version_str());
|
||||||
|
@ -319,7 +319,7 @@ static av_cold int aom_init(AVCodecContext *avctx,
|
|||||||
enccfg.g_h = avctx->height;
|
enccfg.g_h = avctx->height;
|
||||||
enccfg.g_timebase.num = avctx->time_base.num;
|
enccfg.g_timebase.num = avctx->time_base.num;
|
||||||
enccfg.g_timebase.den = avctx->time_base.den;
|
enccfg.g_timebase.den = avctx->time_base.den;
|
||||||
enccfg.g_threads = avctx->thread_count;
|
enccfg.g_threads = avctx->thread_count ? avctx->thread_count : av_cpu_count();
|
||||||
|
|
||||||
if (ctx->lag_in_frames >= 0)
|
if (ctx->lag_in_frames >= 0)
|
||||||
enccfg.g_lag_in_frames = ctx->lag_in_frames;
|
enccfg.g_lag_in_frames = ctx->lag_in_frames;
|
||||||
|
Loading…
Reference in New Issue
Block a user