From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <ffmpeg-devel-bounces@ffmpeg.org>
Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100])
	by master.gitmailbox.com (Postfix) with ESMTPS id 1C1E34DE40
	for <ffmpegdev@gitmailbox.com>; Fri, 25 Apr 2025 18:10:08 +0000 (UTC)
Received: from [127.0.1.1] (localhost [127.0.0.1])
	by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 42910688FDA;
	Fri, 25 Apr 2025 21:10:04 +0300 (EEST)
Received: from NAM10-BN7-obe.outbound.protection.outlook.com
 (mail-bn7nam10on2053.outbound.protection.outlook.com [40.107.92.53])
 by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 69A38687D63
 for <ffmpeg-devel@ffmpeg.org>; Fri, 25 Apr 2025 21:09:57 +0300 (EEST)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;
 b=F8kjPnXGUCZEAafy+k+/spXRPU27Zd7P2NLZrhxkxjnjOTPQxNu5MOZZ7HHRCqPj2kmuBSpfS6Xzar8qDRgVjpkRwkJ+xjprdI2XfWX9llb1lqT5G9WSOiiYYn9DM7G2yFxdfJ6aAUAJHByN7kVnfEKFAzE0scEASV+HMRY0N5UBxBY65I9zFzglUhaMOh9ngGhcWz1l4Px2MlLaPkgH8eiopAbjcaeXbIAxU11pbBTeo7bsOK3WEZTuIIMok11udjg3sUhZUKarnQ0jLsYUa/I4sVgYXCyamMGtUWvSxR1uS128Qkg/O8Vom6hTgHe4PiVqkZ3gprivltVhgINQyg==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector10001;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=51EPJHFRJklzdXZ3NzcXr3zSIoYI3vHsTQKpr/+cpgY=;
 b=ypwEYfMLG8C/64ztrabXSyo2ptWIwkHE01O49W/pVHkHX5LW90qicp1gHPgn2Jh608WJ8kdyvgCMIPH2DWxKRbZHqOA+LLWEoN7tnwKayMLBRjco8oVCtN6tz8V7loqAL8hxI96f85rnZiI1uhMMqnsnnf9fu4mlY6tKl8AjZR5Z9pneOcBoTTWzWmuKPnOogPAzM2VG5u0jUyYbupoHFRgzrQrXx1QlmC0UQvy4ChxA5Jud5DffDFdZ5MWF9KZVblFawOWcmySfiLTzvfp09v2BC58BRQ4KU/9KgYmDO1fFSO82h08wHUYcIaF5p2fXEnQ3CpZn+9JScMdbnLBQaw==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;
 dkim=pass header.d=nvidia.com; arc=none
Received: from PH8PR12MB7181.namprd12.prod.outlook.com (2603:10b6:510:22a::17)
 by SJ1PR12MB6268.namprd12.prod.outlook.com (2603:10b6:a03:455::15)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8678.27; Fri, 25 Apr
 2025 18:09:50 +0000
Received: from PH8PR12MB7181.namprd12.prod.outlook.com
 ([fe80::b9e6:4538:388d:36f2]) by PH8PR12MB7181.namprd12.prod.outlook.com
 ([fe80::b9e6:4538:388d:36f2%3]) with mapi id 15.20.8678.025; Fri, 25 Apr 2025
 18:09:50 +0000
To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Thread-Topic: [FFmpeg-devel] [PATCH] cuda: add support for yuv420p10
Thread-Index: AQHbtdGv+T5Xw05wgEiOxcWVEA3lFrO0oAYAgAANVUU=
Date: Fri, 25 Apr 2025 18:09:27 +0000
Message-ID: <PH8PR12MB7181977955B6EEFC136BEA35BF842@PH8PR12MB7181.namprd12.prod.outlook.com>
References: <20250425110303.100424-1-dev@lynne.ee>
 <fe2f61a0-c18e-4737-bb4b-98e2c8bdfc4b@rothenpieler.org>
In-Reply-To: <fe2f61a0-c18e-4737-bb4b-98e2c8bdfc4b@rothenpieler.org>
Accept-Language: en-US, en-GB
Content-Language: en-GB
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ms-reactions: allow
x-ms-publictraffictype: Email
x-ms-traffictypediagnostic: PH8PR12MB7181:EE_|SJ1PR12MB6268:EE_
x-ms-office365-filtering-correlation-id: d436193e-2161-4584-43bd-08dd84245f22
x-ms-exchange-senderadcheck: 1
x-ms-exchange-antispam-relay: 0
x-microsoft-antispam: BCL:0;
 ARA:13230040|4022899009|366016|1800799024|376014|38070700018|13003099007|8096899003;
x-microsoft-antispam-message-info: =?us-ascii?Q?tztG7fxzHMxtdZJD7YMYDX+NoGX6GbLHtxnnlbktXY25iPqu47F/2DAJ9sqf?=
 =?us-ascii?Q?7VyuZYlJt0TFFjU5MKDP17f7PioumSSw4Kt96rhHqtbNvc3IEdteHhmzAnbQ?=
 =?us-ascii?Q?CSPSPvDeYVkYA8rnfv4hratKRMykFfZSseTR7wYTRlOngVrILMZi/2sk04IG?=
 =?us-ascii?Q?rclnuzJvULB6D6FnS+RIbCmxhle221T5tQjWEjDPByBBexw6EovhiyNP1X0/?=
 =?us-ascii?Q?KP7gy2lN8m+68IQl2MFxEhadd8zqwPHCxojMF1XAT5uJfNX5+HfwsSkjoJKc?=
 =?us-ascii?Q?EcAthUaRgmx0woRnEwTCDuUorkzbw8ah7jvGsGXzduPwDlxHj2yaPvbBZQdn?=
 =?us-ascii?Q?9XNuMq1/uNf3GTTZGYp3CY1QHCpfyaiUMGk5R0GO7XogxPx3YzX9KpTGsUc4?=
 =?us-ascii?Q?T9rzpywaEzl4fx1Oo4lCSUYDWfMc/T2F/+svwa5prkdciTUb2uXhmIsopejw?=
 =?us-ascii?Q?gNoV4kcxzCRAINimtt9L58M3+tQtaRE/wylZSy2ospslWu29/0K3JLz+xUSh?=
 =?us-ascii?Q?vmJF7zNBBWzuDPPsX2XglhPo8eWrBHHlNmBZdVnf9hwPgZVxEI9HbE0wM1qC?=
 =?us-ascii?Q?l+IdoW2pjsjmgItfVOgmIlk8NfM/YJesmF3oFWUGVxrjagUfcECoj91ATEdH?=
 =?us-ascii?Q?CJKbsTUme2fCk+RhrgetXGAU0v4g2czlzmYg4TbsHT3NaRzbv874AQovYNNz?=
 =?us-ascii?Q?mVFSFutPp+YuQzn0sQnDWEP+YcyYeXdagdQwKQnuX6/lgY0tw/pzzgShyBZx?=
 =?us-ascii?Q?usLjAaoKB7l/NZiYd2dUUqVSimeK2XHTClmKz+mcSQ8riQW0elpbGTWLNstN?=
 =?us-ascii?Q?5Z9gaSGdjYk+83Y7TeB5TJOYODLo66ZtxJ3oETNeytcmd/MtglSacDx49DaQ?=
 =?us-ascii?Q?ItpeWRsVyEIW4bIRid4xgIx7ICodeyizOuiy7i7sz0xNLyPYDCkrQOtDXmUt?=
 =?us-ascii?Q?hdMLg40ehvh3eDsKZv38o1yfemy2F4xZ1F42VUOVL1fk6rgGG9BT92O8X//Q?=
 =?us-ascii?Q?2AiUJni/ZrKSjgv2GSEfKhW4uN+VmQSh/J4I4B+xwLyPY+OeJt6hN6yUdNJS?=
 =?us-ascii?Q?9KWt/sqDjUinzUPINg77ybS2hZDqh5yGF3ZkbVC+xFclRyPVIu3E+4TDWFgr?=
 =?us-ascii?Q?fFzEGdVpNv1q6h2SFjpCoJDdzZuo64wGR9wb9T2siw10FSxMPGBzGlrnXW7N?=
 =?us-ascii?Q?j9gXgO4qvj0D7mQOHEpeQlE0HaoQLcAk9nz/KoTsBFXsHdToc0OuWmllIiz5?=
 =?us-ascii?Q?UelLUW3Bjfw68yI1p7NTWVkI3c8xyYloO17ZLzTrP74P5z5S2gU9McMYrmC9?=
 =?us-ascii?Q?DGBhcxqPorV+p17unQEPz5iX/cB+XiM9hgPttK7CtvY9q6Q60kQdzf7mdPoK?=
 =?us-ascii?Q?6s1mSSr4HDgcqcn1CS7he4JMdqn7QgoAE1V8wGI7BzIeyDxd25lKob7kSZcp?=
 =?us-ascii?Q?/wcNYIEZpNc=3D?=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:PH8PR12MB7181.namprd12.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(13230040)(4022899009)(366016)(1800799024)(376014)(38070700018)(13003099007)(8096899003);
 DIR:OUT; SFP:1101; 
x-ms-exchange-antispam-messagedata-chunkcount: 1
x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?PJ9JVPL3apVRMuiMBhs1H99z8qQHwoDZT8+vcJ/oJRrN/mbyzxYPQA2vka4r?=
 =?us-ascii?Q?2ZpmExYj2Q5ihNcD+S4X0dy/Eye5fspWfs2dYxkNorNnCVv/8tDoX5JvvnLi?=
 =?us-ascii?Q?rK0CGrn19ygVwcWcIVtpdcdr4Vw3Z/TtmYOCS0SSR2uqWE72s0Z1ASSuW1A5?=
 =?us-ascii?Q?athmFczlAalIJNKY2PZ+63bY1i1SqZZKX1Tp1Mf/fMlGdOQ4Pe/QAmhl/MyU?=
 =?us-ascii?Q?i+ZXu5PfqrtIX327RlcszwRrCAgtPjX8tiDmV+yyIlrpjLhR59zjF/kwYYkC?=
 =?us-ascii?Q?fT5b8umyWV3eEpPciwq6HgynEesA+bh73usPEO+n9pFRDswKIvSZvNI04he5?=
 =?us-ascii?Q?+oLtOkUCLCQWe5DgTXZAQBW02/0SzZzUAiseqmFRxqEo+wg8LJIaavN3nlUU?=
 =?us-ascii?Q?LsNHhZrOgV3p5FxN3q0TksHGGhGNrpDl7Z6oSQfXgVoFH16AunsC9B2Yas7G?=
 =?us-ascii?Q?HPGD10VgLdkgnckWIhY9ouYhyC/LiAqxFGfGPrsO7E8P7MC1gWZQ/LQEKhfN?=
 =?us-ascii?Q?0yF41Dl51QI6MJwVJt1qtXitDq0wM/VG86Sj2OEb4W2qux0nxh5ph4a3D0uF?=
 =?us-ascii?Q?aWpTnz1sPrP/LakMwzFfC3szu6FKJ4K01zSy2LWpSlG44rWou0TkHYAV9eWx?=
 =?us-ascii?Q?AC+64LQT1+ioeTYzL4OeZihFkSMEtP0nci7sPABXJr0MU+WE1n4UVovazbLL?=
 =?us-ascii?Q?eCMJeoW0TQdvDqXH4xLrSaE6QU4pOTKVjjZnf7vxMONhqdwmC6UwnaFNqyGn?=
 =?us-ascii?Q?8gP5fBZiMf5NNwK6uNSAT8NglvUle01p1Zq8d2GQa39/aSxrWBj9ijBKSaUp?=
 =?us-ascii?Q?a0WDy8KJxnLfrXDsTysqxzKGT9cIXfJsFpqRhYF84m4TEF9wIl4KCu5zQUoA?=
 =?us-ascii?Q?yIyPw9s1o4mXxKyNJCYj13qU5T5G3CoQo0L5ugPbaPKGeCYsd2g3/MzO1l75?=
 =?us-ascii?Q?ZBvDhlgFm3g93thCmKVykyQVI2U55Zlddyz8rskq65Kk5PDEa7ImIrcVO6Sk?=
 =?us-ascii?Q?h//Dw4Nx25dnXQfqa5sPb6bLw29uYmjic8ix8CAYBPXTVoh1wh/LMEEf6inU?=
 =?us-ascii?Q?Qkh5TdbLFKQjIKCBPnbCKnm6NfyrM55Ui+rIc9umKbGZnnEjNFQLStR14oWd?=
 =?us-ascii?Q?ftXnwjKuwlIAhBodRmHAzZvLIFrKJBwUCDWYnEQCPVvpftmE1vG3PcMmisOu?=
 =?us-ascii?Q?ilgU+/jlDEkSCj33/1Sn1r+43R/xcFNJJIdtvMBInRI+RESwimzeKHY+ZE2z?=
 =?us-ascii?Q?bs4V3BvhkSIUXntgbDtIsxpHPjW/De7vkOMDNLtlfGb7dW4yoPMCq+d8INYp?=
 =?us-ascii?Q?raOLyjCNhSPg7jz/bp373apsnAD1qNUrquJsUSaoaeJimr3r6qVfIOHlzeIK?=
 =?us-ascii?Q?Xc+IU8tcyeH2Mv29JviSah7nuURgu/2Urtn9MXc1zHtzHi/4Ub9GY7b6rN3f?=
 =?us-ascii?Q?y/SMEu349Dl+KgjtnSjt15QToGIWT9zqWAJR3NwpALt34RXKxy7D9mbTo8sD?=
 =?us-ascii?Q?5XBypgGAzD7eRx+n0V1epEDB1nBi0gqT29xZ6fJJKM+WrWIAn3seY5Y8SKca?=
 =?us-ascii?Q?sKjxtcq/vupjFmoB4y4FJbPT51D4jMeo9xK48hXa?=
MIME-Version: 1.0
X-OriginatorOrg: Nvidia.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: PH8PR12MB7181.namprd12.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: d436193e-2161-4584-43bd-08dd84245f22
X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Apr 2025 18:09:50.5657 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: 3AylrebX1rRVpRUMX0neLvKTZ3MhmQb7ZarHHdiCseKPwoBZXJGF5TgqsSAYhHfZB5xf1MC4Gm9a1G6It5ZxfQ==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ1PR12MB6268
X-Content-Filtered-By: Mailman/MimeDel 2.1.29
Subject: Re: [FFmpeg-devel] [PATCH] cuda: add support for yuv420p10
X-BeenThere: ffmpeg-devel@ffmpeg.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org>
List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe>
List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel>
List-Post: <mailto:ffmpeg-devel@ffmpeg.org>
List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help>
List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe>
From: Diego de Souza via ffmpeg-devel <ffmpeg-devel@ffmpeg.org>
Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Cc: Diego de Souza <ddesouza@nvidia.com>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: ffmpeg-devel-bounces@ffmpeg.org
Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org>
Archived-At: <https://master.gitmailbox.com/ffmpegdev/PH8PR12MB7181977955B6EEFC136BEA35BF842@PH8PR12MB7181.namprd12.prod.outlook.com/>
List-Archive: <https://master.gitmailbox.com/ffmpegdev/>
List-Post: <mailto:ffmpegdev@gitmailbox.com>

Hi Timo and Lynne,

The encoder does not accept yuv420p10 and yuv422p10 pixel formats. Only the semi planar versions of them: P010 and P210.

Best regards,

Diego de Souza
Sr. Video Coding DevTech
NVIDIA<http://www.nvidia.com/>
On 25.04.25, 19:17, "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org> wrote:

External email: Use caution opening links or attachments


On 25.04.2025 13:02, Lynne wrote:
> This patch adds support for accepting yuv420p10 in encoders and cuda.
> ---
>   libavcodec/nvenc.c         | 2 ++
>   libavutil/hwcontext_cuda.c | 7 +++++--
>   2 files changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c
> index 41a4dc55f4..ccf8cc6d39 100644
> --- a/libavcodec/nvenc.c
> +++ b/libavcodec/nvenc.c
> @@ -57,6 +57,7 @@
>
>   const enum AVPixelFormat ff_nvenc_pix_fmts[] = {
>       AV_PIX_FMT_YUV420P,
> +    AV_PIX_FMT_YUV420P10,
>       AV_PIX_FMT_NV12,
>       AV_PIX_FMT_P010,
>       AV_PIX_FMT_YUV444P,
> @@ -99,6 +100,7 @@ const AVCodecHWConfigInternal *const ff_nvenc_hw_configs[] = {
>                               pix_fmt == AV_PIX_FMT_YUV444P16 || \
>                               pix_fmt == AV_PIX_FMT_X2RGB10   || \
>                               pix_fmt == AV_PIX_FMT_X2BGR10   || \
> +                            pix_fmt == AV_PIX_FMT_YUV420P10 || \
>                               pix_fmt == AV_PIX_FMT_GBRP16)
>
>   #define IS_RGB(pix_fmt)    (pix_fmt == AV_PIX_FMT_0RGB32  || \

Appears to be missing the entry in nvenc_map_buffer_format().

> diff --git a/libavutil/hwcontext_cuda.c b/libavutil/hwcontext_cuda.c
> index 5721612225..495d3687c2 100644
> --- a/libavutil/hwcontext_cuda.c
> +++ b/libavutil/hwcontext_cuda.c
> @@ -44,6 +44,7 @@ static const enum AVPixelFormat supported_formats[] = {
>       AV_PIX_FMT_NV12,
>       AV_PIX_FMT_NV16,
>       AV_PIX_FMT_YUV420P,
> +    AV_PIX_FMT_YUV420P10,
>       AV_PIX_FMT_YUVA420P,
>       AV_PIX_FMT_YUV444P,
>       AV_PIX_FMT_P010,
> @@ -162,7 +163,8 @@ static int cuda_frames_init(AVHWFramesContext *ctx)
>       // YUV420P is a special case.
>       // Since nvenc expects the U/V planes to have half the linesize of the Y plane
>       // alignment has to be doubled to ensure the U/V planes still end up aligned.
> -    if (ctx->sw_format == AV_PIX_FMT_YUV420P)
> +    if (ctx->sw_format == AV_PIX_FMT_YUV420P ||
> +        ctx->sw_format == AV_PIX_FMT_YUV420P10)
>           priv->tex_alignment *= 2;
>
>       av_pix_fmt_get_chroma_sub_sample(ctx->sw_format, &priv->shift_width, &priv->shift_height);
> @@ -197,7 +199,8 @@ static int cuda_get_buffer(AVHWFramesContext *ctx, AVFrame *frame)
>
>       // YUV420P is a special case.
>       // Nvenc expects the U/V planes in swapped order from how ffmpeg expects them, also chroma is half-aligned
> -    if (ctx->sw_format == AV_PIX_FMT_YUV420P) {
> +    if (ctx->sw_format == AV_PIX_FMT_YUV420P ||
> +        ctx->sw_format == AV_PIX_FMT_YUV420P10) {
>           frame->linesize[1] = frame->linesize[2] = frame->linesize[0] / 2;
>           frame->data[2]     = frame->data[1];
>           frame->data[1]     = frame->data[2] + frame->linesize[2] * (ctx->height / 2);

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fffmpeg.org%2Fmailman%2Flistinfo%2Fffmpeg-devel&data=05%7C02%7Cddesouza%40nvidia.com%7C4b00a855d0074468805a08dd841d00cc%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C638811982319400744%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=vn02EysjlXKOxF3pYJBIol76BIqmmCUJTDpoxuiW2Tg%3D&reserved=0<https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

-----------------------------------------------------------------------------------
NVIDIA GmbH
Wuerselen
Amtsgericht Aachen
HRB 8361
Managing Directors: Rebecca Peters, Donald Robertson, Janet Hall, Ludwig von Reiche

-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------
_______________________________________________
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".