Skip to content

Commit

Permalink
fix(nvenc): Enable opt-in client refresh by client
Browse files Browse the repository at this point in the history
  • Loading branch information
TheElixZammuto committed Dec 23, 2024
1 parent 129abd8 commit 115aa6b
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 0 deletions.
6 changes: 6 additions & 0 deletions src/nvenc/nvenc_base.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -321,6 +321,12 @@ namespace nvenc {
set_ref_frames(format_config.maxNumRefFramesInDPB, format_config.numRefL0, 5);
set_minqp_if_enabled(config.min_qp_hevc);
fill_h264_hevc_vui(format_config.hevcVUIParameters);
if (client_config.enableIntraRefresh == 1) {
format_config.enableIntraRefresh = 1;
format_config.singleSliceIntraRefresh = 1;
format_config.intraRefreshPeriod = 300;
format_config.intraRefreshCnt = 299;
}
break;
}

Expand Down
2 changes: 2 additions & 0 deletions src/rtsp.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -976,6 +976,7 @@ namespace rtsp_stream {
args.try_emplace("x-ml-video.configuredBitrateKbps"sv, "0"sv);
args.try_emplace("x-ss-general.encryptionEnabled"sv, "0"sv);
args.try_emplace("x-ss-video[0].chromaSamplingType"sv, "0"sv);
args.try_emplace("x-ss-video[0].intraRefresh"sv, "0"sv);

stream::config_t config;

Expand Down Expand Up @@ -1012,6 +1013,7 @@ namespace rtsp_stream {
config.monitor.videoFormat = util::from_view(args.at("x-nv-vqos[0].bitStreamFormat"sv));
config.monitor.dynamicRange = util::from_view(args.at("x-nv-video[0].dynamicRangeMode"sv));
config.monitor.chromaSamplingType = util::from_view(args.at("x-ss-video[0].chromaSamplingType"sv));
config.monitor.enableIntraRefresh = util::from_view(args.at("x-ss-video[0].intraRefresh"sv));

configuredBitrateKbps = util::from_view(args.at("x-ml-video.configuredBitrateKbps"sv));
}
Expand Down
2 changes: 2 additions & 0 deletions src/video.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ namespace video {
int dynamicRange;

int chromaSamplingType; // 0 - 4:2:0, 1 - 4:4:4

int enableIntraRefresh; // 0 - disabled, 1 - enabled
};

platf::mem_type_e
Expand Down

0 comments on commit 115aa6b

Please sign in to comment.