From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 2507C4855A for ; Mon, 5 Feb 2024 18:06:51 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E961C68CDE9; Mon, 5 Feb 2024 20:06:48 +0200 (EET) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2012.outbound.protection.outlook.com [40.92.90.12]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3AC9D68CA91 for ; Mon, 5 Feb 2024 20:06:42 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gisanC/JgckZul823hSlR3VXBXJY9DC4ppD9Wq6dbtvvuqP69lj/xYnQGnLraNt8QxZLuw8H2z0YJbMepjr0qsQQVVY6sQ/V/k50Rm4KjljSXnCUNFeDsrdEuLSrDXVBmOIO7STy8DntydXEZNv4/BRn4O8eR+8JOdP5OGnsrEbVoUpihBhqVIvWXJq6FsT8C2DjseNerk6YoUtFPnGkv/ZRsMq68UB3rxyabTKDH5VO1VUoFsvL2YtwdfrGihXnkxeok+MeF8jyIynypNtqWMKKmniXwhP0js9dPDMWNzf9XFAywJ3NCfZOf4bPQPad/8DRrCbtKRZzOZ2L1wBtAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=XXtrkA6J4AQlGuRUSmYISNNXSzKfwqj2YltVvDvd8jM=; b=TEwqJsL3ZlaNqRAbND3uKDpjTEzM6bt69WC71bFtNl5qX6wovHEtxZachDF5vO2VZ8E9WxWjxEp85SzUwWq88gHUzXHXLWkkd945orucpIRMqzPNn/10AswRkr5JF49aG0tbQkV17rMfWrtsoXspq5xLHBJP6vN3PKDsFikhBDbjjR8ZeXbXwMPLyq1vtph5XskjwShWGqrqDZmFJxvrWLSK9m6Qus6QL9MAsARzWGsVB65sP00I57UArsQKjApVk0qAcXjYz60OBwTa0KhUgDd1vxUp2WvNkR8KKdzcXlr0xoM7I1feTvgBsEFE5tLguNbZz/6TFZWNiB8WBp3ltQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XXtrkA6J4AQlGuRUSmYISNNXSzKfwqj2YltVvDvd8jM=; b=YSdc9Ka00ecf625BsmP7csZOiVs5hmD+wpwCPypjnpfi2tp4aoAzgE3zU20RuW2EvE7jypIqWGjyxjuzbZqc5GSwA8uEwXx36Rv0+zc8iNckUPEzx1Gzd9VDeO0jM8UpMiuz+CNIxB5TGJ+ROoZ3+AZ1HCj2elPvOlw/viPpjAC2E8r4kJ4T2szrS3Sm4GM15L8I4HaAVpElbxCNuQRUpizCPyJx43KhxJV6kfvtURbl+9iXwtjSD2gDb4F1Px0wJvtrdr0L9uFEbEOvK+gLd75X8286ZGXLdRVl7Gy2PvzcPqo1xpBUR7dt+f2Men6Wadal92b07qZhckohS2ov+w== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AS8P250MB0396.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:37f::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7249.34; Mon, 5 Feb 2024 18:02:37 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d%5]) with mapi id 15.20.7249.032; Mon, 5 Feb 2024 18:02:37 +0000 Message-ID: Date: Mon, 5 Feb 2024 19:04:30 +0100 User-Agent: Mozilla Thunderbird Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <20240205174413.92730-1-ffmpeg@haasn.xyz> From: Andreas Rheinhardt In-Reply-To: <20240205174413.92730-1-ffmpeg@haasn.xyz> X-TMN: [LytJ/E9vCCGppZBFp9oriJ3tXwxreoPaJH2zT4Ho+fQ=] X-ClientProxiedBy: FR0P281CA0089.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1e::11) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AS8P250MB0396:EE_ X-MS-Office365-Filtering-Correlation-Id: fbc7db14-a172-4119-be45-08dc2674a2f3 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wTNg5vfH++d9VOzu1WnmdeJYjnJsQC6Hgy4f4hcW61NK89NNZHsA8GqMWWyi2ymxhPKKbuN/HDD/8kihsryUr2NT0BjAsFgKhsztVYA+uaZT3OhQK0iQ/x9UXNToiFYbKuwfY8nS3Oh9+9QHAS3Xb+myt86PwCY9yaL43rC46d7E3L+EJON+EXD+UcS8/oBtd5PVSQoBmumDGr8PBMz9aye66YmhsZoGslyQHaS2s/3wec3/L78HnGu02qvv/FOscPQ5QegxrDXHmiUIs8skHzp32gBWRJigFgLp3V4a/vPJnHmcJiot0eq+ZQ2kw6Kfu9SHpTTOoisi8diNAMPvmclnJxBP+oKC3v3e+8BfxLobzOYauFxFCAMcC2SjJGThO94mc3lgX0l5IWuCX+AIdg1OY7AQsd+nb5cBp4EHR588ipHM9eBZKnjjIKq3w+lc X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cGloWUdKSnpqdU5CaUw5anBtczZXbGhMK1dmWEY4Qyt6V3BwUGZNUUZ3a1lQ?= =?utf-8?B?MFRKd3lqTmtMUXlIUHJBNWJKS01CeWNkVVBGTFNKNjFwMnJaaURya2hpcG5F?= =?utf-8?B?Y0RweXBWZCtBMmRBK1RnTTRkTE9XN3BTWDBQUjhoQjNzRDRQN0RtaUhqSC9v?= =?utf-8?B?NkVUWjJYL0JxV0ZCY083eHduWFZpQ1piOFdrVjdDYkNLZlI4d043WWZObEZl?= =?utf-8?B?WXRveWs3clA0bEVqaE84NGRMb3VuOG1JK2ExenhXN2hrUkt6akVpQnorKytw?= =?utf-8?B?bldqbllPcEVnYnBYN2hrWFZ6VXo0NXgvRjg5NndZdVpPcldrZW82Q3NHa2Jx?= =?utf-8?B?ejhETHJFSDRPR09Va3QzNm44S0ZCVnlhWngyRGhaQmxnc3NMQ2VnakdYMktP?= =?utf-8?B?alIvSzd6MGpuS01sODFLMDlvbHVwd1RQeXc2b0czb2dybXJwakl2YUlrdUYr?= =?utf-8?B?ekZyZ0R6WHp5dFVmNXhvWVgrcnhibmUvUDRWWUpTYTE4WllnNVp1ZmUzVitl?= =?utf-8?B?RWNnR3ExOW5HZEJPWThwRGtGTmdTeTY4TXV1b01hVzNyL3kraGxDR0t2d25P?= =?utf-8?B?WU40QldVMkpYdWEzQTE5eWZ0bEhWeXorK1IySFMydzdQZ3YvZG1YWlN5S1Zk?= =?utf-8?B?bmYzUTg2NWg2VWN3SDVieXI0clNreHpPdkFBSUZJNUJKUy84WVdBOFNkV1VP?= =?utf-8?B?M3VHd3FKdXJKKzI0OFJiZ3VpVnVVNG9LbWR2ZERHZURvUUt0dEdScUlKVmJa?= =?utf-8?B?cC9SMjVlZ3hNZTUrOFZuQlRqbkhEcEVFMkpvRlFUR1JVVDNFVE5iUGptemgr?= =?utf-8?B?c3RJcnBEZFNxQXc1OUVsck1qakhyQ2JITk9vb0NodHVjNllLNmVOT00xTklR?= =?utf-8?B?RlhWWmltbDJyK21KZFhZYnJLbVlrc0NVZUs5eFFiTzNqbVBkRlM3QUF3T1lO?= =?utf-8?B?M3ExREl1Sy8rNVF3YnR3RHc0TU9qY0xyYm5YUklsc3YvUStXTDYvc01PbmtQ?= =?utf-8?B?V2J2RTJ1cng5NG53ZmRRU3dsNEN4YSt6bW1QdUE0TXlMU0R3YnpEY3dKYzQ5?= =?utf-8?B?Y09LaEVYaFB1d2N6dUxEeUtHbU8vTzY5L3lGRzlnMzJ2b2lWa01xLzFReHNB?= =?utf-8?B?NTBuVlpYUG9lNFVvQXdVQzlLR3RzNG9lWkFjYkMrZTV6WWROQlcyYVhiRlkx?= =?utf-8?B?bUJPOTFkRUxpb3NBSUVVSy91ZnVxdkVTSFJwc2pFN3hWeUM0SjR5T1dvVTVv?= =?utf-8?B?SkkrVkpyWkhqektIUDM3R1pkczFJNHRiMTJBVjlQa1N0NkVzNHExL3NsbHd3?= =?utf-8?B?djdqblM5TDJ1U2hTeXdiaEU0eHZnRjY2TDVLa0tQYWk0eXdCbW9hNGI0ajFT?= =?utf-8?B?TktXcWdNM2FZWVU5cFM1bmhPeFJ4NWpZSlo3QnBBb0NRVm1VeDlEdDMxaUN1?= =?utf-8?B?clNaTmdPSE1DaW1GQjhkbmt2RXhQZUdtOUhTUnIwcm1rV0tvbGw1eFduWDN0?= =?utf-8?B?dlJGSFBXUU92c2N2dnhKQ29POUswSXMyM3JuV055d0sxa3pHUENqR3VjRyty?= =?utf-8?B?YS8ybjdKa3pBQnk5MjdmYkVNWGxrUTVZb1pxdnREYTVkMWJITkhTL0NYMGxl?= =?utf-8?B?ZVJFZFdkUCtFUkFFRWJvdEZ6c1BYU1ZLVEVVNWFFSWZLQm9LcHMvQmEySk4x?= =?utf-8?Q?D5lFPi9h4fqNnmaKcip2?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: fbc7db14-a172-4119-be45-08dc2674a2f3 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Feb 2024 18:02:37.3494 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8P250MB0396 Subject: Re: [FFmpeg-devel] [PATCH 1/2] avcodec: add YUV color space metadata to AVCodec 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 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: Niklas Haas: > From: Niklas Haas > > This is motivated primarily by a desire for YUVJ removal, which will > require signalling the supported color ranges as part of the codec > capabilities. But since we're adding YUV range, we might as well add the > YUV color matrix as well - since some codecs (e.g. VP8, JPEG) only > support certain values. > > I decided to preserve the ambiguous and misleading "color_spaces" name, > for symmetry with AVFrame.colorspace. (Though this would IMO be better > called "color_matrix" or "color_system") > > I also decided to omit the other AVColor* fields for now, because > vf_scale cannot handle auto-conversion between primaries/transfer/etc. > There is little value in adding metadata we cannot do anything with, and > no harm in extending the API again in the future. In theory, vf_scale > can handle conversion between chroma locations, but also the signalling > for this is annoying, so I'll defer it to a future commit. > --- > doc/APIchanges | 3 +++ > libavcodec/codec.h | 6 ++++++ > libavcodec/version.h | 2 +- > 3 files changed, 10 insertions(+), 1 deletion(-) > > diff --git a/doc/APIchanges b/doc/APIchanges > index 1f5724324a..7849ce47d9 100644 > --- a/doc/APIchanges > +++ b/doc/APIchanges > @@ -2,6 +2,9 @@ The last version increases of all libraries were on 2023-02-09 > > API changes, most recent first: > > +2024-02-xx - xxxxxxxxxx - lavc 60.40.100 - avcodec.h > + Add AVCodec.color_ranges and AVCodec.color_spaces. > + > 2024-02-04 - xxxxxxxxxx - lavc 60.39.100 - packet.h > Add AV_PKT_DATA_AMBIENT_VIEWING_ENVIRONMENT. > > diff --git a/libavcodec/codec.h b/libavcodec/codec.h > index 8034f1a53c..8bd678de7a 100644 > --- a/libavcodec/codec.h > +++ b/libavcodec/codec.h > @@ -235,6 +235,12 @@ typedef struct AVCodec { > * Array of supported channel layouts, terminated with a zeroed layout. > */ > const AVChannelLayout *ch_layouts; > + > + /** > + * Array of supported YUV color formats. Ignored for RGB/Gray formats. > + */ > + const enum AVColorRange *color_ranges; ///< terminated by AVCOL_RANGE_UNSPECIFIED > + const enum AVColorSpace *color_spaces; ///< terminated by AVCOL_SPC_UNSPECIFIED > } AVCodec; > > /** > diff --git a/libavcodec/version.h b/libavcodec/version.h > index f2f14eaed1..19f3f4a272 100644 > --- a/libavcodec/version.h > +++ b/libavcodec/version.h > @@ -29,7 +29,7 @@ > > #include "version_major.h" > > -#define LIBAVCODEC_VERSION_MINOR 39 > +#define LIBAVCODEC_VERSION_MINOR 40 > #define LIBAVCODEC_VERSION_MICRO 100 > > #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ This presumes the relevant states to be a cartesian product. Which need not be true. A callback would be better; this would also allow to base the list on other values already set in an AVCodecContext. And if this were extended, it would also allow to remove init_static_data one day. It is furthermore quite wasteful to store color_ranges in a list, although there are only very few states for it. - Andreas _______________________________________________ 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".