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 083204A68C for ; Wed, 3 Apr 2024 16:29:21 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 3977268D05A; Wed, 3 Apr 2024 19:29:18 +0300 (EEST) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04olkn2088.outbound.protection.outlook.com [40.92.74.88]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5732768CDD1 for ; Wed, 3 Apr 2024 19:29:11 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cccXg0pJxLC5FaE9bKUxoM3KDTBdRMbieyAv2tCzNUQjXn7p9QdsIr7YWvqmmx0yAO+toJZWMU8JLh880YTyCAYfqDaGP8+vpKwq+QXRG83/49oU53wVkAX1gkv6Lja4MMLDzmdYY4XDSROfkQAiY9lSmsAGe2M6mKZw6XpfFrdkEVaXI10QBnlDWixJq/kdBmlhgI857I/5eG1ok5ECA2rUGfnuVAfO5E2wBu+thtQ9S2/MNfXHj/UN2+zJZ01YWJ0EsgkPj3+dR6RCDF5oeeAxt8rmMOuuzVu/B9S5mVW8mNtsYIbZw6wb+p/PXADCqbbkKUFSKE5ePhvHMoGn6w== 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=mg/Olml7GzdPKOA+hVk4dj5h5I7hjpL2haGUv4+sCjA=; b=EOu9RQgj1SYhgChSpXBc1TAVczWvOEpIKzLpmPGAMCRzL+M5ljfXm3xUGK+rMRNP+HX4pmlDCCj+r7mro9cuAd1rxTPk0m/5kfhd680J+It2gL0TQ9Czm1jtmLxfASARVfqfWhGzsVIBkZwn6NucUaZJQTpgA3Ve4cMda5DimOFcut28n8zd2pDVR9atgZcoZuI3wuiSuLmwvGjJ2rC56oNUWgnui9S74dV2dDsaqNhrzCqZoX507HpEmZHu+Tp/1SFuVEdU6qMYt0kuuecdduXPQAYdDHmmY8ezSbJaqrcGuAqVVEQ/YNm8uJ2rZ5eA7zaNlIDJrGYiaPXCAeApOQ== 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=mg/Olml7GzdPKOA+hVk4dj5h5I7hjpL2haGUv4+sCjA=; b=hxYiuKE0Od5Ji8dDpSUtRCWPi4W2rw9iswpPwOZpa2mcZlZOiECkobOfYgqgXf4Y0fqc6If8MFTKGiyv44TC/O6sh2Q3wyOj7ZEFvUBntF+nQq6fvHNAkn+LmIa/kR70Vs9Plq5av5XyBwnsxkEYb/AH+C3YzZ7DNkUy5WP0FhLxGBbl+4Zxh7RBQ1hpl5TGLpObk3vdH3DiKyV9ujKYsVg43V8NDLVqEQBv0Q1oqvnQ0n72o44aOKlkbSjQfjL7eo3lkDnlmizEjqZ1ywELkDJ6pEMPw2Qi0O8/iHVB+kFL37uBcXBP9lrJFfGd2zk+CjwcUHyqeEdIF/duQ7Pc0Q== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by DU2P250MB0128.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:271::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7452.27; Wed, 3 Apr 2024 16:29:08 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4a3b:cf76:cddc:c68d]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::4a3b:cf76:cddc:c68d%4]) with mapi id 15.20.7409.042; Wed, 3 Apr 2024 16:29:08 +0000 Message-ID: Date: Wed, 3 Apr 2024 18:29:06 +0200 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <20240403154330.71585-1-ffmpeg@haasn.xyz> Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: <20240403154330.71585-1-ffmpeg@haasn.xyz> X-TMN: [AGAUrHi8SVnp62aR6KdfZJ3RpOfMbib8FIwPpXe45ko=] X-ClientProxiedBy: ZR2P278CA0029.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:46::12) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|DU2P250MB0128:EE_ X-MS-Office365-Filtering-Correlation-Id: c8481abd-c4ac-4757-e17f-08dc53fb2f93 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: F2bQlRxIB/jNc5pb7F0XVuZ9PwMjKsgsNwoePwtcvVDEitUnRNdMJBuvFHj+ssgiLQrEEbRm9HrtkbuyLYzfKhdU21qqS/xSY9wLjG+kBQbaf0rQntvFeVEjrcEGuXWay0nt+TignSowDTSHfBwem2b7PBWqfPMcID8uUkPswTH1DJdQ8DJbqfp2cHhfm35BXnyc3+UDyZvyXM3hStu3e5D6ylr88j7M8learZqvCgoIJTX1fsbWynr0vIln99Y7ooSALLw+I9xOwR+mDw6WaNcAAYI4NIp9Uqc5cLQs3mMC46kuEQaomVx2FO3iFOI4lwXIxYFIJv5DUhHKE7TEQZQPkWPyyu6hgSpWPVh7j4YsWX0phr/fg7atF9m2hKK1q0DTUIQdCif+uhaa14rUvABvWUmJqBLTCuRG/Zf6iRAIShQjm2F9ZmBaO/xHXKkillX/Z3rCzjYGqTqt44HdfluWhl1bNmj8Xaz0vCo2y78IVPZO+bjlOKmmeUIanwEGbXa0NxKcxYaiFUQ9zN3nwhhhVAsJ72ZnKnCMfwF6liwLPtsgCOfMPl+PGd89g6eH X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?eEgxTk1iczJ3WW5xYUZzcUpNN2lEaUNoOVBtSVV0WmNHZkVVd25obTJyVExW?= =?utf-8?B?a2hESTBFYTZ5S1d1bklyVXNYL1BwWTRDMW5ZS0dXR2NWSzl4anJHdFBpYStx?= =?utf-8?B?WmlJSGFqbm1GS25Eb2EvUXkzNjFJbUFrN1NVNTcwbjlDVGk5Yi9DOHV3SUlk?= =?utf-8?B?MEl1Z3N4YURkWUlFYmtFVVBKRHl0YWZ5VVU2SUdTellPaXgzL1VUcFVCWStL?= =?utf-8?B?djBzbmZ4Tmo1YzgzTCtTaGx5UEMvTHV0RUNhTGl0eENIUXBDajVWOXZWb3Bu?= =?utf-8?B?Vi9WZUlnY0VIZFd1MktKa1JVOUFyeStZenUwT0NxNmpVNjhMeFNNUXhJZlE1?= =?utf-8?B?Z3QzQ3AvNUZRREdiRy9sWmtuVEJUejc2TXZEdkprUnp3QWRyc3NRdFJRZ0dF?= =?utf-8?B?VGpLcmtVWFFhWlJGT1RWOUZYcHN3emF2QURnYjJDY21aUmVpNDZmTTNNVzc3?= =?utf-8?B?czE4M0FpNGlPakZiSGVXUU5WQXVRbTlGcjhNaWhhZHI1aGxpY3QxSWN6eTJP?= =?utf-8?B?NkUzcVZKTExjTkRKNHBOVlhYd2NZeTF5TjVTQUZqSUczU1B2NTY4VHMwTWs3?= =?utf-8?B?Uk9tODNRRU5rQ3J6MmJ4Z3ZOTkMycUhYeElCUGptYnpTMWQwWVROQzdDMmow?= =?utf-8?B?eXVMbm41aXY3cmlLaVB2K20xZ0p4aW82NzBiUmlUUDZDZytGVlJEMEJPekhX?= =?utf-8?B?OTdUeWZXQ2NlUlVxcFVGR05NYkVOZ28rMGx3Yk9SbXk5cGRlaWxRaHBDSEhr?= =?utf-8?B?S2MwUkFUWm5PbDA1M3Bla0tFaWwyZU1OcmZrODVnTDdydE9qTEhJZW9HZDNQ?= =?utf-8?B?Uk9qQkl6THpnL1luNG9SOEpLSGIxVmpRZDBMZTdlaTBpLzVZZ3FLczJ5NVJQ?= =?utf-8?B?bm9hMm9VWEhZbnFHVU1FZEpGM0g1RFB3RDk3WFVuTWhXTlh4RUd6cW5iYlBY?= =?utf-8?B?MVByT0tpcnNyZm5nWS9Od0lwelBrZmN1dy9HN1ptL1d0ZFBrV3Zrd01tczd1?= =?utf-8?B?TVVYZTJvR1JuYVhKQmsya0dvb0ZIcTg0bTBVM2dPTFZES3l1aE5WQ3NKZDVk?= =?utf-8?B?Yk04bmYzQ3lDRFpFQUdEUjZwdmF0eGdRdXBDaS9VWEhkL0crdXg1V1NJWnFk?= =?utf-8?B?SkZUNUJGQTM5NnQ2MHFXM2JXZDcyajlvYTBBdnhUR2lPNExFYmhSdEpKTSts?= =?utf-8?B?VFZ4QzZhM053Yi8rZDBHcGlrVUtQUGtldklkSWU0TTdSeTF5SEVhQmVLTVRB?= =?utf-8?B?ZndvdHI3TkN0MzNjQURFRlhEaVROVVNBaGxMa3BuRnVpMGE1YnN2cFFQZTN2?= =?utf-8?B?U0IyUHJPNlp6NlRpYXRYZVQ4dGlVTC8zTEhNclJyeXlZQ0ZJQW9tYi9kSWhM?= =?utf-8?B?aGF6SmdGZlMrUUl3UG9VUTRKSktYRnFPUzloNHNJbGtlL3dwSm4wcURHMVJt?= =?utf-8?B?MjhLL2cxWXpDb1JTTS9NdERxU21GdTlHT2VycXNVZGdWWngyRTZCU09FZ2VU?= =?utf-8?B?OW5yem1jd2NZSmM1YlAwZGVzTGJRVHdJK0xPbGxkaU85RzFkbUw1ckhVajI0?= =?utf-8?B?L1lsTFRsNGdxRzd2NkFnTFV3K2QrQVpzaEYvelM4SGFPQ0o5ZGFFa2RvYUdR?= =?utf-8?B?c1BSTkRMTnVHb3JHbVZGQy9nSnJuSEFJSERYZDhpa2tnSGptRFdtcHRvZklm?= =?utf-8?B?SXBUY2N3ZzNJNzZXN3BWcE5YMEY5cVhaWi9taVpNWWVkSmg3MDgwVXRnPT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c8481abd-c4ac-4757-e17f-08dc53fb2f93 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2024 16:29:08.2473 (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: DU2P250MB0128 Subject: Re: [FFmpeg-devel] [PATCH 01/10] avcodec: add dolbyvision option 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 > > Tri-state yes/no/auto option. Allows users to set `dolbyvision` to `no` > to suppress coding dolby vision even when supported by the target codec. > --- > doc/APIchanges | 3 +++ > doc/codecs.texi | 12 ++++++++++++ > libavcodec/avcodec.h | 11 +++++++++++ > libavcodec/options_table.h | 2 ++ > libavcodec/version.h | 2 +- > 5 files changed, 29 insertions(+), 1 deletion(-) > > diff --git a/doc/APIchanges b/doc/APIchanges > index 7eda1321cb0..a4484ceb670 100644 > --- a/doc/APIchanges > +++ b/doc/APIchanges > @@ -2,6 +2,9 @@ The last version increases of all libraries were on 2024-03-07 > > API changes, most recent first: > > +2024-03-23 - f17e18d2922 - lavc 61.6.100 - avcodec.h > + Add AVCodecContext.dolbyvision option. > + > 2024-04-xx - xxxxxxxxxx - lavu 59.12.100 - dovi_meta.h > Add AVDOVIMetadata.ext_block_{offset,size}, AVDOVIMetadata.num_ext_blocks, > AVDOVIDmData and AVDOVIDmLevel{1..6,8..11,254..255}, av_dovi_get_ext() > diff --git a/doc/codecs.texi b/doc/codecs.texi > index 6bdeb664e72..7203adc0489 100644 > --- a/doc/codecs.texi > +++ b/doc/codecs.texi > @@ -1018,6 +1018,18 @@ Note: The required alignment depends on if @code{AV_CODEC_FLAG_UNALIGNED} is set > CPU. @code{AV_CODEC_FLAG_UNALIGNED} cannot be changed from the command line. Also hardware > decoders will not apply left/top Cropping. > > +@item dolbyvision @var{integer} (@emph{encoding,video}) > +Whether to encode Dolby Vision metadata when transcoding. > +Possible values: > +@table @samp > +@item auto > +Enable when coded frames contain Dolby Vision side data (default) > +@item yes/on > +Enable always, error out when frames do not contain metadata > +@item no/off > +Disable always, strip any tagged metadata > +@end table > + > > @end table > > diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h > index 83dc487251c..f54f758608d 100644 > --- a/libavcodec/avcodec.h > +++ b/libavcodec/avcodec.h > @@ -2075,6 +2075,17 @@ typedef struct AVCodecContext { > */ > AVFrameSideData **decoded_side_data; > int nb_decoded_side_data; > + > + /** > + * Video encoding only. Whether to mark the coded stream as Dolby Vision. > + * If set to FF_DOLBYVISION_AUTO, this will be enabled only if > + * decoded_side_data contains a valid RPU. > + * > + * If enabled, sending frames without AV_FRAME_DATA_DOVI_METADATA is > + * considered an error. > + */ > + int dolbyvision; > +#define FF_DOLBYVISION_AUTO -1 > } AVCodecContext; > > /** > diff --git a/libavcodec/options_table.h b/libavcodec/options_table.h > index 7a2ef3474e7..d92269d2ff7 100644 > --- a/libavcodec/options_table.h > +++ b/libavcodec/options_table.h > @@ -407,6 +407,8 @@ static const AVOption avcodec_options[] = { > {"mastering_display_metadata", .default_val.i64 = AV_PKT_DATA_MASTERING_DISPLAY_METADATA, .type = AV_OPT_TYPE_CONST, .flags = A|D, .unit = "side_data_pkt" }, > {"content_light_level", .default_val.i64 = AV_PKT_DATA_CONTENT_LIGHT_LEVEL, .type = AV_OPT_TYPE_CONST, .flags = A|D, .unit = "side_data_pkt" }, > {"icc_profile", .default_val.i64 = AV_PKT_DATA_ICC_PROFILE, .type = AV_OPT_TYPE_CONST, .flags = A|D, .unit = "side_data_pkt" }, > +{"dolbyvision", "flag stream as Dolby Vision", OFFSET(dolbyvision), AV_OPT_TYPE_INT, {.i64 = FF_DOLBYVISION_AUTO }, -1, 1, V|E, .unit = "dolbyvision" }, > +{"auto", NULL, 0, AV_OPT_TYPE_CONST, {.i64 = FF_DOLBYVISION_AUTO }, .flags = V|E, .unit = "dolbyvision" }, > {NULL}, > }; > > diff --git a/libavcodec/version.h b/libavcodec/version.h > index 7aa95fc3f1c..da54f878874 100644 > --- a/libavcodec/version.h > +++ b/libavcodec/version.h > @@ -29,7 +29,7 @@ > > #include "version_major.h" > > -#define LIBAVCODEC_VERSION_MINOR 5 > +#define LIBAVCODEC_VERSION_MINOR 6 > #define LIBAVCODEC_VERSION_MICRO 100 > > #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ Why is this a global option when only a handful of encoders support it? Apart from that, adding an option is not an APIChange. - 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".