From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id A9E104C403 for ; Sun, 3 Aug 2025 04:56:15 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 73E9C68CC70; Sun, 3 Aug 2025 07:56:11 +0300 (EEST) Received: from mail-oa1-f42.google.com (mail-oa1-f42.google.com [209.85.160.42]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id A0E8B68C4E4 for ; Sun, 3 Aug 2025 07:56:04 +0300 (EEST) Received: by mail-oa1-f42.google.com with SMTP id 586e51a60fabf-306b7eb492aso2134245fac.0 for ; Sat, 02 Aug 2025 21:56:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1754196962; x=1754801762; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=69Dh3wXYc0bHeuH95WundYTPcWuC5mkCxI1UBFxrQRQ=; b=SlmTG0uby99+5js9hV/qN+g4teFtQbldOlQGRptkbQNryJYWp93V33TA2em6t80z/p 4YGAKUnUrdWwI1VnhBNV95cW4ZwJtmOS6NJ7mF2P+EycXCTF33COLHMzBCQS6q8//MZV QEAXKDo3Y0aNF4XK7ShH15NicNzBRxcuWpiD/7qEl43WyvkfVHIsUoKt8OWNARQWaoGF MuZEXP71XcPGdFNs5GTNsuJKGZfE3sQDIcah5sYlOT7kAHeP8rUqOR5gxhOx3fSnQHAR q+kxLjXDCYw7S31AL81ksI6PBQ1E7ORwz4r+gz5KgM9uspfwwhxCdqrp40Zh/RTISS2Q YqrA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1754196962; x=1754801762; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=69Dh3wXYc0bHeuH95WundYTPcWuC5mkCxI1UBFxrQRQ=; b=DAsOdmt+UB9n1UonWmP9mRteKS34DR8yn55HrpXWYRGwXmC2acUv4eylgaOowFLwcw tpxw/dmS+kSWdwziBfjqhzmSqvX9nxcV8ZdCQCI0Al0e/MYTKOj+XyETzNJBA1CTZpxn P5URUe2F0pkWnXsHMieXHScuSq1I23ML93Fkd64v2gMBVdIWZpepJqwOqu8u+YonKHSt tMyQnevMVOIq7/GMKZONi3PFxFpB6C4aRVynRM3DX+5VNbUK0q5lSglj27YrRDPQONjm QtJB6kquXEMNQCQgI2E4JqlgEOhzqB1D68/m8axVO46+YgMXJf8BQTyupLAfc/hIVDaZ Bp7w== X-Gm-Message-State: AOJu0YyOCsZKfHI71f9OdLVkOxFRKgu2jtuw8VZIHjbf2F+5IbDvlLyC H4iEk2cnniHD4NGw8qNCnN7nqVdN3LvdgAQEVvB6wTyqD2HzGDQAHNTRgSSq3Q== X-Gm-Gg: ASbGncsp3nFBeOeiQ7lQ1v6Pv2ElaPioMX2jv4odJHPgtTETYs2777RGf+x2zEc4hAR SuleddIhUFM3b9ix8jCJWxICiRqVBVL/IbYAr682vD2cRUhIoGqn28hqEFoa2PN+NxJJ+jYpEXT D3yxhExbeIGIEnqac+6q+gMwE00i5l/hg4jBoY4qVbBdjf4GgLHTvU2l3YUlVPgbJWr444qyysD wuzL932d8EVkP36/xdi08fY7w7dP0Vxp5ImGucAyMNvcwnkNsRrqCEe2z1nPqUyvL8ICceVtBKB i/GBZKmp0Kt/JvwpB7PhcS48nL0dWcSj0EMuJBhFwg3GfcvjUUwxR8iw70ihYER2ldsNi4t5GCe 1CTEgbbZauGVLIe/fdK6u32EicVuSb3yqYZ6u2qbNrA== X-Google-Smtp-Source: AGHT+IE3rW0kyizK1ijn6mbyJpZ9dK1l5ow8irtHvKcSiKgammfHq1VJ17oug59XvciiJYiv4d9kZQ== X-Received: by 2002:a05:6870:b40d:b0:2d5:2dfd:e11c with SMTP id 586e51a60fabf-30b668dc0fdmr3088262fac.7.1754196962280; Sat, 02 Aug 2025 21:56:02 -0700 (PDT) Received: from Hawke ([2600:1702:50c6:cf10:69df:1f75:c998:ad53]) by smtp.gmail.com with ESMTPSA id 586e51a60fabf-307a7120107sm1926902fac.3.2025.08.02.21.56.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 02 Aug 2025 21:56:01 -0700 (PDT) From: Cameron Gutman To: ffmpeg-devel@ffmpeg.org Date: Sat, 2 Aug 2025 23:55:25 -0500 Message-ID: <20250803045559.1351-1-aicommander@gmail.com> X-Mailer: git-send-email 2.50.1.windows.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avcodec/mfenc: add low_latency encoder parameter X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Conn O'Griofa Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: Implement support for CODECAPI_AVLowLatencyMode property, which is useful for live streaming use cases (and cannot be achieved by selecting any of the low latency "scenario" encoder presets alone). Co-authored-by: Conn O'Griofa Signed-off-by: Cameron Gutman --- libavcodec/mfenc.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libavcodec/mfenc.c b/libavcodec/mfenc.c index 30531fe3e8..e84ce7bde0 100644 --- a/libavcodec/mfenc.c +++ b/libavcodec/mfenc.c @@ -64,6 +64,7 @@ typedef struct MFContext { int opt_enc_quality; int opt_enc_scenario; int opt_enc_hw; + int opt_enc_lowlatency; AVD3D11VADeviceContext* device_hwctx; } MFContext; @@ -866,6 +867,9 @@ static int mf_encv_output_adjust(AVCodecContext *avctx, IMFMediaType *type) if (c->opt_enc_scenario >= 0) ICodecAPI_SetValue(c->codec_api, &ff_CODECAPI_AVScenarioInfo, FF_VAL_VT_UI4(c->opt_enc_scenario)); + + if (c->opt_enc_lowlatency) + ICodecAPI_SetValue(c->codec_api, &ff_CODECAPI_AVLowLatencyMode, FF_VAL_VT_UI4(1)); } return 0; @@ -1445,6 +1449,7 @@ static const AVOption venc_opts[] = { {"quality", "Quality", OFFSET(opt_enc_quality), AV_OPT_TYPE_INT, {.i64 = -1}, -1, 100, VE}, {"hw_encoding", "Force hardware encoding", OFFSET(opt_enc_hw), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, VE}, + {"low_latency", "Low latency mode", OFFSET(opt_enc_lowlatency), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, VE}, {NULL} }; -- 2.50.1.windows.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".