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 97D4C4F556 for ; Fri, 27 Feb 2026 16:51:55 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'DCi4HUODqcA2CZMI9Cyn3l/ZimUmNzXV44vKqSuXla8=', expected b'NUqjvxLNlxN6Aa6r5Teu2xLP0ahZGKRxyXlvLtKYCrI=')) 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=1772211027; 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=DCi4HUODqcA2CZMI9Cyn3l/ZimUmNzXV44vKqSuXla8=; b=SjKfiPO0KwgAr1PEwCI6ada2w42cr6cERsaQCeFDotpa9AZHfGAj0Th8uKddhKmMw50Mc QA8ot2Ch9ZPooPHeenPVyvWEsuaTA9av3tXoBjkD+D7mwV5j6xLPbd8Foqxq9Di4SvjV5HD e2cz48vulRmuIfWnbXq1YSFiUr0OEtUzMIgOe0mvUg1Kls/qLQSgRsNiZ4H/ue4m+ymiPmF L77p1Zr9UYAkcEa5inJ3vYOp3LuzgCQ63xyb89+6cIlX+SC9UVTVhQ1OP6ETZnOz0f01YmE W8nDMXdOZjgTbw5cSrVb7VjJU7fmzz/i9o0xtrMO+54p2ccz6uyiZwqaCqLA== Received: from [172.18.0.3] (unknown [172.18.0.3]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id EA3136913B5; Fri, 27 Feb 2026 18:50:27 +0200 (EET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1772211017; b=mY3BAGXspIdDcOjGBw1JeMDpBdnm+7XvEUuyiqXga+ep/MF6KhDCffCwI1z7o92Govv6u cm3ax7rl3vkhHx6FazsSpV1cf8c43UIsTCqf0LPt3lrqzcJifDHUJqSkfTrEMrFc8LJC4+I +0anSVhOUhda8p/9cSp7dz6x9/ccofAvhDnngLD0xRvh2Acl6FdJlXPpwhZudYS1pmfiXeK eOSkEpBT3wZu/9UxNnczZYngQFw8scZf++cslcdVr+RqXtoHQ8LaoMbbad9m+b0ez7hhK6C 9YCq7B4PEkoevIBqybsJ5jDXrySHFgCK4xmcf10w4TKrrRsA3ZM6ZC1fWaSQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1772211017; 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=DrmPaSySXR+TdzIpgfg7JfV05KVxK93Drr2aDJ6/rdc=; b=Vz0skac/pNRQgbDN/AVsJucr6xI/uwtufm5FvI8zIGFnyYhbRxLBGoZFlo1oKfE5lgX+T Pl/NfDGQjDfW6aP8Yg0yJw2ohJuvsBWuwQ0DVjysBb6uBixOPA2vXQmaZiXSe9iXFWTv3aA mWBLwqiDlm0x6/pG2/nM1h2OeCyxED1uiamkVk3VvbhGttZSfyBQHRyws+M7MWGdKLhlFlk gSYgnzjRAswiN/laPrzEH8kIGEhX/bPZ4T9GxyyG4ThVZb0jWKDTq4zJz24663kIstgkobG 6AFb+gpIEPvDJMwlxcApO2tyYM6/YAEhuO6h20soNov7k2c5Se3oEjZ7XLlQ== 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=1772211009; h=content-type : mime-version : content-transfer-encoding : from : to : reply-to : subject : date : from; bh=NUqjvxLNlxN6Aa6r5Teu2xLP0ahZGKRxyXlvLtKYCrI=; b=ct6MsJVqeEWQLUeROHZHT7UnnIRdKwMmmq03Fue1QY/yfBe9Idy+gbRVdjTq1NImJGFSp vdjUqJxq45s97Io83Tfw/qovydbAbOv9E/xT9t+mhOZK2LpQJ625ZFQ+KTh99zA2+aukt0s SxaqYd55kofQ3bdwYodOptuYt8fKFxzhQD9tjNAbvlNTcW0bz3KRLx8fwutd5dOawl2liNu Dn5qu45KGGm136yPcFngAhQsL1k+COlyjAR3B+CKTd+fNLgjoY+oMHrDd3J+PXruOnNELJu 6IShkaW3rfGHh+eutWX+ySToLmwf0TgNolIwlgjLFxSjxu7XsBnb/Ha272ow== MIME-Version: 1.0 To: ffmpeg-devel@ffmpeg.org Date: Fri, 27 Feb 2026 16:50:08 -0000 Message-ID: <177221100945.25.4633205424390250623@29965ddac10e> Message-ID-Hash: CGQU2PD2Y7LK7ZSNARWSDKFKWZOQP3F7 X-Message-ID-Hash: CGQU2PD2Y7LK7ZSNARWSDKFKWZOQP3F7 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] [PR] avcodec/nvenc: change default H.264 profile from main to high (PR #22317) 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: Diego de Souza via ffmpeg-devel Cc: Diego de Souza Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: PR #22317 opened by Diego de Souza (ddesouza) URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/22317 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/22317.patch The NVENC H.264 high profile provides up to 16% bitrate savings (BD-Rate measured with VMAF) compared to the main profile. Since most users do not explicitly set a profile, changing the default benefits the common case. Users requiring the main profile for legacy decoder compatibility can still set it explicitly. The change is gated behind a versioned define so it only takes effect on the next major version bump (libavcodec 63). Signed-off-by: Diego de Souza >>From 6b70524cef19cd614a777cafbf3dd2eb4673e4da Mon Sep 17 00:00:00 2001 From: Diego de Souza Date: Fri, 27 Feb 2026 17:47:03 +0100 Subject: [PATCH] avcodec/nvenc: change default H.264 profile from main to high The NVENC H.264 high profile provides up to 16% bitrate savings (BD-Rate measured with VMAF) compared to the main profile. Since most users do not explicitly set a profile, changing the default benefits the common case. Users requiring the main profile for legacy decoder compatibility can still set it explicitly. The change is gated behind a versioned define so it only takes effect on the next major version bump (libavcodec 63). Signed-off-by: Diego de Souza --- libavcodec/nvenc_h264.c | 4 ++++ libavcodec/version_major.h | 2 ++ 2 files changed, 6 insertions(+) diff --git a/libavcodec/nvenc_h264.c b/libavcodec/nvenc_h264.c index 842e4eef60..2fbd1cad87 100644 --- a/libavcodec/nvenc_h264.c +++ b/libavcodec/nvenc_h264.c @@ -57,7 +57,11 @@ static const AVOption options[] = { { "ull", "Ultra low latency", 0, AV_OPT_TYPE_CONST, { .i64 = NV_ENC_TUNING_INFO_ULTRA_LOW_LATENCY }, 0, 0, VE, .unit = "tune" }, { "lossless", "Lossless", 0, AV_OPT_TYPE_CONST, { .i64 = NV_ENC_TUNING_INFO_LOSSLESS }, 0, 0, VE, .unit = "tune" }, #endif +#if FF_API_NVENC_H264_MAIN { "profile", "Set the encoding profile", OFFSET(profile), AV_OPT_TYPE_INT, { .i64 = NV_ENC_H264_PROFILE_MAIN }, NV_ENC_H264_PROFILE_BASELINE, NV_ENC_H264_PROFILE_HIGH_444P, VE, .unit = "profile" }, +#else + { "profile", "Set the encoding profile", OFFSET(profile), AV_OPT_TYPE_INT, { .i64 = NV_ENC_H264_PROFILE_HIGH }, NV_ENC_H264_PROFILE_BASELINE, NV_ENC_H264_PROFILE_HIGH_444P, VE, .unit = "profile" }, +#endif { "baseline", "", 0, AV_OPT_TYPE_CONST, { .i64 = NV_ENC_H264_PROFILE_BASELINE }, 0, 0, VE, .unit = "profile" }, { "main", "", 0, AV_OPT_TYPE_CONST, { .i64 = NV_ENC_H264_PROFILE_MAIN }, 0, 0, VE, .unit = "profile" }, { "high", "", 0, AV_OPT_TYPE_CONST, { .i64 = NV_ENC_H264_PROFILE_HIGH }, 0, 0, VE, .unit = "profile" }, diff --git a/libavcodec/version_major.h b/libavcodec/version_major.h index 5eed53e038..5965e7e1b1 100644 --- a/libavcodec/version_major.h +++ b/libavcodec/version_major.h @@ -55,4 +55,6 @@ // reminder to remove Sonic decoder on next-next major bump #define FF_CODEC_SONIC_DEC (LIBAVCODEC_VERSION_MAJOR < 63) +#define FF_API_NVENC_H264_MAIN (LIBAVCODEC_VERSION_MAJOR < 63) + #endif /* AVCODEC_VERSION_MAJOR_H */ -- 2.52.0 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org