From 1692c90bfe28fcb5bf800cc64ec07355a45f760b Mon Sep 17 00:00:00 2001 From: FrostyFridge Date: Wed, 10 Dec 2025 19:35:00 -0800 Subject: [PATCH 1/2] Allow various encoder options to be set on cuvid --- .../video_encoder/videoencoder_request.cpp | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/gxf/codec/video_encoder/videoencoder_request.cpp b/gxf/codec/video_encoder/videoencoder_request.cpp index 6e099fe..59b84e8 100644 --- a/gxf/codec/video_encoder/videoencoder_request.cpp +++ b/gxf/codec/video_encoder/videoencoder_request.cpp @@ -748,24 +748,23 @@ gxf_result_t VideoEncoderRequest::setEncoderParameters() { CHECK_ENCODER_ERROR(setBitrate(impl_->ctx, impl_->ctx->bitrate), "Failed to set encoder bitrate") } + } + CHECK_ENCODER_ERROR(setIDRInterval(impl_->ctx, impl_->ctx->idr_interval), + "Failed to set IDR interval") - CHECK_ENCODER_ERROR(setIDRInterval(impl_->ctx, impl_->ctx->idr_interval), - "Failed to set IDR interval") - - CHECK_ENCODER_ERROR(setIFrameInterval(impl_->ctx, impl_->ctx->iframe_interval), - "Failed to set IFrame Interval") + CHECK_ENCODER_ERROR(setIFrameInterval(impl_->ctx, impl_->ctx->iframe_interval), + "Failed to set IFrame Interval") - CHECK_ENCODER_ERROR(setNumBFrames(impl_->ctx, impl_->ctx->num_of_bframes), - "Failed to set number of B Frames") + CHECK_ENCODER_ERROR(setNumBFrames(impl_->ctx, impl_->ctx->num_of_bframes), + "Failed to set number of B Frames") - CHECK_ENCODER_ERROR(setInsertSpsPpsAtIdrEnabled(impl_->ctx, true), - "Failed to set encoder SPSPPS at IDR") + CHECK_ENCODER_ERROR(setInsertSpsPpsAtIdrEnabled(impl_->ctx, true), + "Failed to set encoder SPSPPS at IDR") - CHECK_ENCODER_ERROR(setMaxPerfMode(impl_->ctx, true), - "Failed to set Max performance mode") + CHECK_ENCODER_ERROR(setMaxPerfMode(impl_->ctx, true), + "Failed to set Max performance mode") - CHECK_ENCODER_ERROR(insertVUI(impl_->ctx, true), "Failed to Insert VUI") - } + CHECK_ENCODER_ERROR(insertVUI(impl_->ctx, true), "Failed to Insert VUI") return GXF_SUCCESS; } From 9a244c60344de8ab17ec43672a906d048a0d2303 Mon Sep 17 00:00:00 2001 From: FrostyFridge Date: Wed, 10 Dec 2025 22:30:52 -0800 Subject: [PATCH 2/2] Set maxperf mode only for non-cuvid --- gxf/codec/video_encoder/videoencoder_request.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gxf/codec/video_encoder/videoencoder_request.cpp b/gxf/codec/video_encoder/videoencoder_request.cpp index 59b84e8..d5a4ba4 100644 --- a/gxf/codec/video_encoder/videoencoder_request.cpp +++ b/gxf/codec/video_encoder/videoencoder_request.cpp @@ -748,6 +748,9 @@ gxf_result_t VideoEncoderRequest::setEncoderParameters() { CHECK_ENCODER_ERROR(setBitrate(impl_->ctx, impl_->ctx->bitrate), "Failed to set encoder bitrate") } + + CHECK_ENCODER_ERROR(setMaxPerfMode(impl_->ctx, true), + "Failed to set Max performance mode") } CHECK_ENCODER_ERROR(setIDRInterval(impl_->ctx, impl_->ctx->idr_interval), "Failed to set IDR interval") @@ -761,9 +764,6 @@ gxf_result_t VideoEncoderRequest::setEncoderParameters() { CHECK_ENCODER_ERROR(setInsertSpsPpsAtIdrEnabled(impl_->ctx, true), "Failed to set encoder SPSPPS at IDR") - CHECK_ENCODER_ERROR(setMaxPerfMode(impl_->ctx, true), - "Failed to set Max performance mode") - CHECK_ENCODER_ERROR(insertVUI(impl_->ctx, true), "Failed to Insert VUI") return GXF_SUCCESS; }