Skip to content

Commit

Permalink
DX11の初期化をスキップするオプションを追加。
Browse files Browse the repository at this point in the history
  • Loading branch information
rigaya committed Oct 12, 2024
1 parent c7c97ee commit 50dd5c5
Show file tree
Hide file tree
Showing 7 changed files with 26 additions and 1 deletion.
9 changes: 9 additions & 0 deletions NVEnc/NVEnc_readme.txt
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,15 @@ NVIDIA グラフィックドライバ 551.23
今後の更新で設定ファイルの互換性がなくなるかもしれません。

【メモ】
2024.10.12 (7.70)
[NVEncC]
- libplaceboによるバンディング低減フィルタを追加。(--vpp-libplacebo-deband)
- libplaceboによるtone mappingフィルタを追加。(--vpp-libplacebo-tonemapping)
- libplaceboによるリサイズフィルタ(--vpp-resize libplacebo-xxx)を使用した場合のメモリリークを修正。
- --vpp-ngx-truehdr使用時に、colorspaceフィルタでコンパイルエラーになる場合があったのを修正。
- --dolby-vision-rpu copy使用時に、入力ファイルのdolby vision profile 7のとき、
libdoviを使用して自動的にdolby vision profile 8に変換するように。

2024.09.23 (7.69)
[NVEncC]
- --output-csp yuv444でvpp-afsを使用すると意図しない出力となる問題を修正。
Expand Down
4 changes: 4 additions & 0 deletions NVEncC_Options.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -228,6 +228,7 @@
- [Other Options](#other-options)
- [--cuda-schedule \<string\>](#--cuda-schedule-string)
- [--disable-nvml \<int\>](#--disable-nvml-int)
- [--disable-nvml](#--disable-nvml)
- [--output-buf \<int\>](#--output-buf-int)
- [--output-thread \<int\>](#--output-thread-int)
- [--log \<string\>](#--log-string)
Expand Down Expand Up @@ -3049,6 +3050,9 @@ Disable NVML GPU monitoring。
- 2
Always disable NVML.
### --disable-nvml
Skip DX11 initilization. NGX and libplacebo filters cannot be used with this option.
### --output-buf &lt;int&gt;
Specify the output buffer size in MB. The default is 8 and the maximum value is 128.
Expand Down
4 changes: 4 additions & 0 deletions NVEncC_Options.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,7 @@
- [制御系のオプション](#制御系のオプション)
- [--cuda-schedule \<string\>](#--cuda-schedule-string)
- [--disable-nvml \<int\>](#--disable-nvml-int)
- [--disable-dx11](#--disable-dx11)
- [--output-buf \<int\>](#--output-buf-int)
- [--output-thread \<int\>](#--output-thread-int)
- [--log \<string\>](#--log-string)
Expand Down Expand Up @@ -3107,6 +3108,9 @@ NVMLによるGPUモニタリングの無効化について指定する。デフ
- 2
常にNVMLを無効化する。
### --disable-dx11
DirectX11の初期化をスキップする。NGX, libplacebo等のDX11依存のフィルタが使用できなくなる。
### --output-buf &lt;int&gt;
出力バッファサイズをMB単位で指定する。デフォルトは8、最大値は128。0で使用しない。
Expand Down
6 changes: 6 additions & 0 deletions NVEncCore/NVEncCmd.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -350,6 +350,7 @@ tstring encoder_help() {
_T(" especially on HW decode mode.\n"));
str += _T("")
_T(" --disable-nvml <int> disable NVML GPU monitoring (default 0, 0-2)\n");
_T(" --disable-dx11 disable DX11 initilization.\n");
str += gen_cmd_help_ctrl();
return str;
}
Expand Down Expand Up @@ -1507,6 +1508,10 @@ int parse_one_option(const TCHAR *option_name, const TCHAR* strInput[], int& i,
pParams->disableNVML = value;
return 0;
}
if (IS_OPTION("disable-dx11")) {
pParams->disableDX11 = true;
return 0;
}

auto ret = parse_one_input_option(option_name, strInput, i, nArgNum, &pParams->input, &pParams->inprm, argData);
if (ret >= 0) return ret;
Expand Down Expand Up @@ -1882,6 +1887,7 @@ tstring gen_cmd(const InEncodeVideoParam *pParams, const NV_ENC_CODEC_CONFIG cod
OPT_LST(_T("--cuda-schedule"), cudaSchedule, list_cuda_schedule);
OPT_NUM(_T("--session-retry"), sessionRetry);
OPT_NUM(_T("--disable-nvml"), disableNVML);
OPT_BOOL(_T("--disable-dx11"), _T(""), disableDX11);

cmd << gen_cmd(&pParams->ctrl, &encPrmDefault.ctrl, save_disabled_prm);

Expand Down
2 changes: 1 addition & 1 deletion NVEncCore/NVEncCore.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3594,7 +3594,7 @@ NVENCSTATUS NVEncCore::InitEncode(InEncodeVideoParam *inputParam) {

//デコーダが使用できるか確認する必要があるので、先にGPU関係の情報を取得しておく必要がある
std::vector<std::unique_ptr<NVGPUInfo>> gpuList;
if (NV_ENC_SUCCESS != (nvStatus = InitDeviceList(gpuList, m_cudaSchedule, true, inputParam->ctrl.skipHWDecodeCheck, inputParam->disableNVML))) {
if (NV_ENC_SUCCESS != (nvStatus = InitDeviceList(gpuList, m_cudaSchedule, !inputParam->disableDX11, inputParam->ctrl.skipHWDecodeCheck, inputParam->disableNVML))) {
PrintMes(RGY_LOG_ERROR, FOR_AUO ? _T("Cudaの初期化に失敗しました。\n") : _T("Failed to initialize CUDA.\n"));
return nvStatus;
}
Expand Down
1 change: 1 addition & 0 deletions NVEncCore/NVEncParam.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -234,6 +234,7 @@ InEncodeVideoParam::InEncodeVideoParam() :
cudaSchedule(DEFAULT_CUDA_SCHEDULE),
sessionRetry(0),
disableNVML(0),
disableDX11(false),
input(),
preset(0),
nHWDecType(0),
Expand Down
1 change: 1 addition & 0 deletions NVEncCore/NVEncParam.h
Original file line number Diff line number Diff line change
Expand Up @@ -692,6 +692,7 @@ struct InEncodeVideoParam {
int cudaSchedule;
int sessionRetry;
int disableNVML;
bool disableDX11;

VideoInfo input; //入力する動画の情報
int preset; //出力プリセット
Expand Down

0 comments on commit 50dd5c5

Please sign in to comment.