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 0DC054C604 for ; Fri, 14 Nov 2025 09:57:52 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'j3UzXLb6HvdM6G0yNSBenRNm5Nc8+XUGR+4QuAY9eb4=', expected b'75u+ohNxBlTB63lKoX/cNu4kHtE8ttJ7KEv7tFFYphQ=')) header.d=ffmpeg.org header.i=@ffmpeg.org header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1763114258; h=mime-version : to : date : message-id : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-type : content-transfer-encoding : from; bh=j3UzXLb6HvdM6G0yNSBenRNm5Nc8+XUGR+4QuAY9eb4=; b=LNfPyEkHyqMc0t7LcbLTwQu16+N+QSmWuXKFld80mzQgOPjJdYThMlusO1r0HNlV0S2Hd 3bkZXYQM9p86Q9+WhKw+zq+RAZ3qCONSjNhhBeyNHtkpzK87e0zKLB8XZzqOH7wQWXv8b8E pz7HSrzfSKPSFEmrT8roZkcHVJqd0LZjnlxuo4b6c7wMGBT0RGN4cd92uqsYO520aGTSdwC 0dcTHrOUCl1ifY5IbtrBEf6hbYdoFUsxCIieRJHjM9Sub+d5pFlVhWJ/yXl42NodpZkBZGI RTzM301qkf7+UWMrbIXaohd3Ou5kdNi3k7htVc0c/KVi1cXlwD8dRQ4CgmDw== Received: from [172.19.0.2] (unknown [172.19.0.2]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 0F8EE68FE12; Fri, 14 Nov 2025 11:57:38 +0200 (EET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1763114219; b=Cl/yvIT1hlfDPSMXx/y2eMwMX1yL1HQHlogK/0XhtuzB2yw/ZMGScbwSFAIA42tR5btzm Aps4gdqUxXUjCeoPoBQmr76g81OzukgDrK+fyAs/DjrSI3sYq9ecvDF8xJ3HSqJc1rAqS8G 6MjyE/tSJIbNTdpDQ4Vge/my4fAqbTswxa1j91n5PErBVbcKyuv1CYuikCK0p0Cs2WXD+PS FeyciiMSjIHIK84HjB579XOeLkcZBXCvIys2WgOzQRzXkFCY/RSI0Qn0rS5rUx0dTyjB5b8 0E8zEvSv9OeXFuM6yWg/HaH3dtwbWKWvxRe3392eRWNZyxK13t8DWgq7fiDA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1763114219; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=ejoy2b3sKmnQ70vC/OVkUe0GTNgQS6I6lxjwGe5kbtQ=; b=j6DKe8pwo/JlKnLFVhcGlNLV4hIUuH6s58ZBDBY3Q0HXuphb+Tau1JVlLvUsXsJa6Muc4 S918A7ZzLfPVOE8HOFKzVxWwIsCTpAH2cFE4rBZYfPXqabDmPlJlf0la7Jopq+JsfH++STL qxF3JCKmjZfEQ/o8T0SgKHPpcWu5rXR2edZwQ66bBngwz0fBIfVK4SFT0nxL1b0pp1TfwGG DWpm4NO8j/xNwh1Mh0Ahfxchv1ypNGWbpp4ayU1qUUulG883mTFL8wMMFydhLmvrnrfJhm5 NYsaerhm+Hp0ZFunCPtj00m60+jQgCytCzAbXpEWvytc9AsIyxIKyg1xYFVg== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none; dmarc=pass header.from=ffmpeg.org policy.dmarc=quarantine Authentication-Results: ffmpeg.org; dkim=pass header.d=ffmpeg.org header.i=@ffmpeg.org; arc=none (Message is not ARC signed); dmarc=pass (Used From Domain Record) header.from=ffmpeg.org policy.dmarc=quarantine DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1763114212; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=75u+ohNxBlTB63lKoX/cNu4kHtE8ttJ7KEv7tFFYphQ=; b=2QCOlH+ib68pVQ4fJKwveOAHTQ4Fg9vAThOMvrE7MAgdZ1FxHhnUNkXj1f1sjE5cDtHMe rP/jNxV3//kIi1gZT09z0Siht60EYArb8FFP6tGWBIRuAxEeSZ5whNhecCTFUSPTsnvHo8S qZmKGtJfbAaNJHbI6ufMKDrySRbYfl4dNW3gkwpYawrbPPgMOqixgRYkim0Fm8QBiRS3ltG Ww7/jnr3NCJx/Szr+AVpuLmuo2F0weDDGxE5uG2wgtjXt6WmvjzFyVjo3xmi6+Nr7VFENQM cvupoh+7CkXO7M33IvFsqxw9ekPTN0URmABLnT4WdUiN6V3FKXUCx8o2vSpg== Received: from 188d6d40ca7a (code.ffmpeg.org [188.245.149.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id E80C268FDA0 for ; Fri, 14 Nov 2025 11:56:51 +0200 (EET) MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Fri, 14 Nov 2025 09:56:51 -0000 Message-ID: <176311421208.25.5679543283773624018@2cb04c0e5124> Message-ID-Hash: KUAQK6OKROO3JMH7NIBTBBQVFW5P2MOE X-Message-ID-Hash: KUAQK6OKROO3JMH7NIBTBBQVFW5P2MOE X-MailFrom: code@ffmpeg.org X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH] doc/encoders: Document MediaFoundation encoders (PR #20916) List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: dashsantosh-mcw via ffmpeg-devel Cc: dashsantosh-mcw Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: PR #20916 opened by dashsantosh-mcw URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20916 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20916.patch >>From e7dcef8d8dee549fd8345c5d08d303e781dfd74b Mon Sep 17 00:00:00 2001 From: Harshitha Date: Fri, 14 Nov 2025 01:45:44 -0800 Subject: [PATCH] doc/encoders: Document MediaFoundation encoders --- doc/encoders.texi | 91 ++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 90 insertions(+), 1 deletion(-) diff --git a/doc/encoders.texi b/doc/encoders.texi index b24f98946a..56e2f9008a 100644 --- a/doc/encoders.texi +++ b/doc/encoders.texi @@ -3414,11 +3414,100 @@ Maximum quantization parameter for B frame. @section MediaFoundation This provides wrappers to encoders (both audio and video) in the -MediaFoundation framework. It can access both SW and HW encoders. +MediaFoundation framework. It supports both software and hardware encoders +through the following codecs: + +@itemize +@item h264_mf +@item hevc_mf +@item av1_mf +@end itemize + Video encoders can take input in either of nv12 or yuv420p form (some encoders support both, some support only either - in practice, nv12 is the safer choice, especially among HW encoders). +Hardware-accelerated encoding is supported via D3D11, including hardware +scaling capabilities through the scale_d3d11 filter. + +To list all available options for the MediaFoundation encoders, use: +@command{ffmpeg -h encoder=h264_mf} + +@subsection Options + +@table @option +@item rate_control +Select rate control mode. Available modes: + +@table @samp +@item default +Default mode +@item cbr +CBR mode +@item pc_vbr +Peak constrained VBR mode +@item u_vbr +Unconstrained VBR mode +@item quality +Quality mode +@item ld_vbr +Low delay VBR mode (requires Windows 8+) +@item g_vbr +Global VBR mode (requires Windows 8+) +@item gld_vbr +Global low delay VBR mode (requires Windows 8+) +@end table + +@item scenario +Select usage scenario. Available scenarios: + +@table @samp +@item default +Default scenario +@item display_remoting +Display remoting scenario +@item video_conference +Video conference scenario +@item archive +Archive scenario +@item live_streaming +Live streaming scenario +@item camera_record +Camera record scenario +@item display_remoting_with_feature_map +Display remoting with feature map scenario +@end table + +@item quality +Set encoding quality (0-100). -1 means default quality. + +@item hw_encoding +Force hardware encoding (0-1). Default is 0 (disabled). + +@end table + +@subsection Examples + +Hardware encoding: +@example +ffmpeg -i input.mp4 -c:v h264_mf -hw_encoding 1 output.mp4 +@end example + +Hardware-accelerated decoding with hardware encoding: +@example +ffmpeg -hwaccel d3d11va -i input.mp4 -c:v h264_mf -hw_encoding 1 output.mp4 +@end example + +Hardware-accelerated decoding and encoding with scaling: +@example +ffmpeg -hwaccel d3d11va -hwaccel_output_format d3d11 -i input.mp4 -c:v h264_mf -hw_encoding 1 -vf scale_d3d11=1920:1080 output.mp4 +@end example + +Hardware decoding and encoding with quality setting: +@example +ffmpeg -hwaccel d3d11va -hwaccel_output_format d3d11 -i input.mp4 -c:v hevc_mf -hw_encoding 1 -quality 80 output.mp4 +@end example + @section Microsoft RLE Microsoft RLE aka MSRLE encoder. -- 2.49.1 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org