From patchwork Tue Mar 30 22:30:16 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Christopher Degawa X-Patchwork-Id: 26667 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id EB4D744B231 for ; Wed, 31 Mar 2021 01:30:27 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B6EBC689C0A; Wed, 31 Mar 2021 01:30:27 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from degawa.com (unknown [174.127.109.95]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 519E26804DA for ; Wed, 31 Mar 2021 01:30:21 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=randomderp.com; s=default; h=Content-Transfer-Encoding:MIME-Version: Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=RBlXUyAGrdaxQuZUaagTNoGqt1TM2E0bli81lpoTf3Y=; b=0vQcjKE+ngybexM+9QOhAtfD1l Go3CZh6mf2nAL0NOaYgM0y8hHJ7ajKSiPpqJ/9p7W4/0UgA+CcgDIuh8gWhCHtrU6c6AI9yo+eYbC ZJ2Aad8KSMHNcclz41w3qMsIz+W+Ij+r4woLdnEwgpJgO0KcLIsMVqoqWTPv8NtSeqpVJ/GdGJvNZ WsDsg4VFDR/cfMcPjNFpgEyTxbPB9ficDINdCSzTu/mslVDbquTv4TShrL5pwCMzeTm8nPqE/ZsKE 0CpDyZo/Q9vwNtrpDlXGm29sp/heXrWLlDmwt+dSXL2oIXO+rQV0qbCv9+waB7ya4CUS5q3vYAUT8 YrJwLAjA==; Received: from 108-216-168-194.lightspeed.mmphtn.sbcglobal.net ([108.216.168.194]:58870 helo=localhost.localdomain) by slmp-550-1.slc.westdc.net with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94) (envelope-from ) id 1lRMsN-0004bE-Pw; Tue, 30 Mar 2021 16:30:19 -0600 From: Christopher Degawa To: ffmpeg-devel@ffmpeg.org Date: Tue, 30 Mar 2021 17:30:16 -0500 Message-Id: <20210330223016.1590753-1-ccom@randomderp.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - slmp-550-1.slc.westdc.net X-AntiAbuse: Original Domain - ffmpeg.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - randomderp.com X-Get-Message-Sender-Via: slmp-550-1.slc.westdc.net: authenticated_id: ccom/from_h X-Authenticated-Sender: slmp-550-1.slc.westdc.net: ccom@randomderp.com X-Source: X-Source-Args: X-Source-Dir: Subject: [FFmpeg-devel] [PATCH v2] libsvtav1: Add logical_processors option X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Christopher Degawa Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Christopher Degawa Used as a thread count multiplier with a max of the logical cores available Signed-off-by: Christopher Degawa --- doc/encoders.texi | 3 +++ libavcodec/libsvtav1.c | 7 +++++++ 2 files changed, 10 insertions(+) -- 2.27.0 diff --git a/doc/encoders.texi b/doc/encoders.texi index c9c8785afb..89e5593772 100644 --- a/doc/encoders.texi +++ b/doc/encoders.texi @@ -1795,6 +1795,9 @@ 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 +Thread count multiplier (0 - ncpus). + @end table @section libkvazaar diff --git a/libavcodec/libsvtav1.c b/libavcodec/libsvtav1.c index eb6043bcac..b6f9cc1c6b 100644 --- a/libavcodec/libsvtav1.c +++ b/libavcodec/libsvtav1.c @@ -71,6 +71,8 @@ typedef struct SvtContext { int tile_columns; int tile_rows; + + uint32_t 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", "Thread count multiplier with a max of the number of logical cores available", OFFSET(logical_processors), + AV_OPT_TYPE_INT, { .i64 = 0 }, 0, UINT_MAX, VE }, + {NULL}, };