From: Christopher Degawa <christopher.deg...@intel.com> Used for limiting the size of memory buffers and threads for a target logical processor count, but does not set thread affinity or limit the amount of threads used, although thread affinities can be controlled with an additional parameters, it is prefered to add them until a svtav1-params option or similar is added
Signed-off-by: Christopher Degawa <christopher.deg...@intel.com> --- doc/encoders.texi | 5 +++++ libavcodec/libsvtav1.c | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/doc/encoders.texi b/doc/encoders.texi index 8fb573c416..28c1a11a6c 100644 --- a/doc/encoders.texi +++ b/doc/encoders.texi @@ -1757,6 +1757,11 @@ Set log2 of the number of rows of tiles to use (0-6). @item tile_columns Set log2 of the number of columns of tiles to use (0-4). +@item logical_processors +Number of logical processors to run the encoder on, threads are managed by the OS scheduler. +Used for limiting the size of memory buffers and threads for a target logical processor count. +Does not set thread affinity or limit threads. + @end table @section libkvazaar diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c index eb6043bcac..2296735f25 100644 --- a/libavcodec/libsvtav1.c +++ b/libavcodec/libsvtav1.c @@ -71,6 +71,8 @@ typedef struct SvtContext { int tile_columns; int tile_rows; + + unsigned logical_processors; } SvtContext; static const struct { @@ -218,6 +220,8 @@ static int config_enc_params(EbSvtAv1EncConfiguration *param, param->tile_columns = svt_enc->tile_columns; param->tile_rows = svt_enc->tile_rows; + param->logical_processors = svt_enc->logical_processors; + return 0; } @@ -533,6 +537,9 @@ static const AVOption options[] = { { "tile_columns", "Log2 of number of tile columns to use", OFFSET(tile_columns), AV_OPT_TYPE_INT, {.i64 = 0}, 0, 4, VE}, { "tile_rows", "Log2 of number of tile rows to use", OFFSET(tile_rows), AV_OPT_TYPE_INT, {.i64 = 0}, 0, 6, VE}, + { "logical_processors", "Number of logical processors to run the encoder on, threads are managed by the OS scheduler", OFFSET(logical_processors), + AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX, VE }, + {NULL}, }; -- 2.25.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".