From 48d4771a2c8bcd6dccb5066457c5e0f6a73ef31a Mon Sep 17 00:00:00 2001 From: rigaya Date: Sat, 13 Apr 2024 16:38:42 +0900 Subject: [PATCH] =?UTF-8?q?--tune=20uhq=E3=81=8C=E4=BD=BF=E7=94=A8?= =?UTF-8?q?=E3=81=A7=E3=81=8D=E3=81=AA=E3=81=84=E5=A0=B4=E5=90=88=E3=80=81?= =?UTF-8?q?=E8=87=AA=E5=8B=95=E7=9A=84=E3=81=AB=E7=84=A1=E5=8A=B9=E5=8C=96?= =?UTF-8?q?=E3=81=99=E3=82=8B=E3=82=88=E3=81=86=E3=81=AB=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- NVEnc/NVEnc_readme.txt | 6 ++++++ NVEncCore/NVEncCore.cpp | 17 ++++++++++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/NVEnc/NVEnc_readme.txt b/NVEnc/NVEnc_readme.txt index 4273082c..af1f1912 100644 --- a/NVEnc/NVEnc_readme.txt +++ b/NVEnc/NVEnc_readme.txt @@ -214,6 +214,12 @@ NVIDIA グラフィックドライバ 545.92 今後の更新で設定ファイルの互換性がなくなるかもしれません。 【メモ】 +2024.04.13 (7.50) +- --lookahead-levelのデフォルト値を0に。 + エンコード速度が大幅に低下する場合があった。 +- --tune uhqが使用できない場合、自動的に無効化するように。 +- Tuning Infoのログ出力の問題が改行されないのを修正。 + 2024.04.08 (7.49) - NVENC SDK 12.2に対応。 - 新しいオプションを追加。 diff --git a/NVEncCore/NVEncCore.cpp b/NVEncCore/NVEncCore.cpp index 4753f0a5..52a46725 100644 --- a/NVEncCore/NVEncCore.cpp +++ b/NVEncCore/NVEncCore.cpp @@ -1914,9 +1914,20 @@ NVENCSTATUS NVEncCore::SetInputParam(InEncodeVideoParam *inputParam) { } } m_stCreateEncodeParams.tuningInfo = (inputParam->tuningInfo == NV_ENC_TUNING_INFO_UNDEFINED) ? NV_ENC_TUNING_INFO_HIGH_QUALITY : inputParam->tuningInfo; - if (!m_dev->encoder()->checkAPIver(12, 2) && m_stCreateEncodeParams.tuningInfo == NV_ENC_TUNING_INFO_ULTRA_HIGH_QUALITY) { - PrintMes(RGY_LOG_WARN, _T("tune uhq disabled as it requires NVENC API 12.2.\n")); - m_stCreateEncodeParams.tuningInfo = NV_ENC_TUNING_INFO_HIGH_QUALITY; + if (m_stCreateEncodeParams.tuningInfo == NV_ENC_TUNING_INFO_ULTRA_HIGH_QUALITY) { + if (!m_dev->encoder()->checkAPIver(12, 2)) { + PrintMes(RGY_LOG_WARN, _T("tune uhq disabled as it requires NVENC API 12.2.\n")); + m_stCreateEncodeParams.tuningInfo = NV_ENC_TUNING_INFO_HIGH_QUALITY; + } + if (inputParam->codec_rgy != RGY_CODEC_HEVC) { + PrintMes(RGY_LOG_WARN, _T("tune uhq disabled as it is only supported with HEVC encoding.\n")); + m_stCreateEncodeParams.tuningInfo = NV_ENC_TUNING_INFO_HIGH_QUALITY; + } + if (m_dev->cc().first <= 6 + || (m_dev->cc().first == 7 && m_dev->cc().second < 5)) { + PrintMes(RGY_LOG_WARN, _T("tune uhq disabled as it requires GPUs Turing or above.\n")); + m_stCreateEncodeParams.tuningInfo = NV_ENC_TUNING_INFO_HIGH_QUALITY; + } } if (inputParam->ctrl.lowLatency