From 28608194a98a69072567f6d089be03abfe612735 Mon Sep 17 00:00:00 2001 From: Isaac <> Date: Tue, 7 Apr 2026 08:49:45 +0200 Subject: [PATCH] fix: copy bSubcodecMode in ParamTranscode so encoder context sees the flag Without this, SWelsSvcCodingParam::ParamTranscode was not copying bSubcodecMode from SEncParamExt, so the encoder's internal pSvcParam always had bSubcodecMode=false regardless of what the caller set. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../third_party/openh264/src/codec/encoder/core/inc/param_svc.h | 1 + 1 file changed, 1 insertion(+) diff --git a/third-party/openh264/third_party/openh264/src/codec/encoder/core/inc/param_svc.h b/third-party/openh264/third_party/openh264/src/codec/encoder/core/inc/param_svc.h index dff33c490a..3a5e6d642c 100644 --- a/third-party/openh264/third_party/openh264/src/codec/encoder/core/inc/param_svc.h +++ b/third-party/openh264/third_party/openh264/src/codec/encoder/core/inc/param_svc.h @@ -345,6 +345,7 @@ typedef struct TagWelsSvcCodingParam: SEncParamExt { bIsLosslessLink = pCodingParam.bIsLosslessLink; bFixRCOverShoot = pCodingParam.bFixRCOverShoot; iIdrBitrateRatio = pCodingParam.iIdrBitrateRatio; + bSubcodecMode = pCodingParam.bSubcodecMode; if (iUsageType == SCREEN_CONTENT_REAL_TIME && !bIsLosslessLink && bEnableLongTermReference) { bEnableLongTermReference = false; }