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 3D5FE4A8B5 for ; Thu, 18 Apr 2024 11:30:51 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9270B68D462; Thu, 18 Apr 2024 14:30:48 +0300 (EEST) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2057.outbound.protection.outlook.com [40.92.91.57]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id F151E68D198 for ; Thu, 18 Apr 2024 14:30:41 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Z/g4xRJFLCwuOiBL17CMkusz6w3Wax6NZ2JoFgfzpoWE/XQ/bYDFvHBjkeKU6KkC/UK2+jTvAqxAXtqos/9PnvnG0w7k5OLwHm2WN0CcToYfAZi1IHEyhm6Icmp+Hy1hqmQ+tEYceKmL2edBXnRAcxlZbZfIUBPcpCCE9LxOeovTeIjPMAxK/YJv+YeTux2rlM9DWcmGBbfOEwfZ66Fg2hJQ6F7xgMyex1N5Us1DFYMVmb7s2XSX+dhtj3vviwHL8aEYlUktQHfER1FyFUAMMI1obRydNRzxHL6AWBF9MXUixiQKiWmg61zFDyXf9CZmjXsaDRWsqmMSpcZI/vOq4w== 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=GPJecZaKdikVHK+Nc6d8Wiqy9hd+yk1MXEjwutgLahM=; b=almMmQNOZ/amZfOc/IiI4Gk6NeFUWl1K/q/6RZOEBjMB66mrEs5eWHdIhkY69xT+Qr/5tMRZU6qxzZyJqDQxJ18zFVS7bLv43xowgtx937rBHqCQR2Hf0UnS8uPkDDy4qT8Xh5EsZ4ArOvae23QMA0uDeMFIygJlHva6t79gmeiWr3m0cNQXHFkKfdL7hf/6e+dYLirar0TYHQfWGBzLUfHkOvb6mzK6c14qx3p6HPtgu8yzeeWcLI+w/Z1/20f/aP9mx5r3yEg9AN3tRNihmDoI6CBrncZLsLXHJSZzBEBGJNOMXluLixOfArGrvg3dQIkfSpKjL9/rTbTMRESoYg== 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=GPJecZaKdikVHK+Nc6d8Wiqy9hd+yk1MXEjwutgLahM=; b=Sv3GoUk3tb/2IlK5x3PFxfySu0OvR+uugNEXkHy6Aq0FOGGzvHgpuA1nTMWdlg0pzDL1qOoW6awJCMIDTQyxK03x0XQFUWnPTvejBntNolzE95qh10RRGnDdjix04h+8+gxeMn18bl6ZJkfIq5BjGrVfYqt+lGWVdqYKY14twvM6s/rmBMPebaIgJkYVklNP/AFKnC6LGhUz/LsyAjaZAU3Ne/2KJOWIiTltm0wPz3QCL/RBlABicMpgTGDiBsVoAuoDKlk5pczUvzLqydN7R84ilABuc2X1jqJqjCL9ETYNsNHeEIehG4Yn63OkyeS4qLb6K+1ORumN0w9f0+jtMw== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by PR3P250MB0211.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:17a::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7472.39; Thu, 18 Apr 2024 11:30:40 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::1f29:8206:b8c3:45bb]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::1f29:8206:b8c3:45bb%3]) with mapi id 15.20.7409.042; Thu, 18 Apr 2024 11:30:40 +0000 Message-ID: Date: Thu, 18 Apr 2024 13:30:39 +0200 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <20240412113620.84013-1-ffmpeg@haasn.xyz> <20240412113620.84013-9-ffmpeg@haasn.xyz> Content-Language: en-US From: Andreas Rheinhardt In-Reply-To: <20240412113620.84013-9-ffmpeg@haasn.xyz> X-TMN: [Zo/oBpvSBw+pLcCF6RiyQ3y51vlKG1vR] X-ClientProxiedBy: FR4P281CA0316.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:eb::16) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <7b961554-d8ca-4bd2-b95e-d59860cc8baa@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|PR3P250MB0211:EE_ X-MS-Office365-Filtering-Correlation-Id: 4e67cfb1-218e-4c0b-b02c-08dc5f9af9b9 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: SIODWTTef4d6AmKZY3VOd0gGbT/hpHG0XDUG8nUsDGYKMQnCHAi84MGk6ejdhpxp9Xc6phjtlnvFRpLAlIta5tL/9SofLS1M7etqlzGOUdYKesWc9mhar0LyK7nnIi97YQ1YsvqhQAURT4ChxKi3PKtC86/dOgjb2V2c8j9h5xB4Wm552+ZZ8P7GCdX7+KOq3zhr/gziiKSL1nI8gqE7PsPnGFAmgbDGV/NgisPFg8q7FfcaLGpRdV2W8N6KWFLfVjN40tU1kDnT6EYyJq0EH+CBwO6JKO84YLEOwbvYqUZp8fzd1E6KcFGl00ojvFNWAAIR3vkVJKaP9qopro4SsqXdr6sjX6gwa+9BCT0ccuA4YPgdg+7Atntm1BYBLviKfagBBCXdVtRyPzk3be5Fun19YLRNEEm7fXmf17lX2zyI7Tt8B4pWA3KWD2rBiC/MEDoB+JqVO+dbKCL7HEZyihD+plIP2GXOZ2n4+iUG6X0D2awKW7Lr7l3QyAo03miq6j7Hlniaf0/aI/TtTRmYNBYiU6W27VPsSfsEwynLG3STE+eghYzXcWcw3yXyu4tC X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VU9oYkFVWk00NFBKeHRUU2NJWWNJTjlLUDc1bmY1M3pZZDRnQ1JaeWFxVi9B?= =?utf-8?B?N3p4TldFRlA0Smk1QTlxVEtTd1ZYUFpLcDVLZWhTK01ydnVJdjJXWlN0WDdo?= =?utf-8?B?S3dQaVhRbWlhSXBPY0laOTFVdlBlQjB5eDN6MmtJZnJwY2x6NHg5dnVuaHZw?= =?utf-8?B?OGIvRVpIK2JtZVRjMkNlVzhwYXB0ckdOTUwrcWFWT2JJSG5KNDdwTHhLMHhZ?= =?utf-8?B?RjA3QWxOM1Y2TkdiRWFTaHhDK0lWU3Zxb09raFM4dHd5czBaRlpFZjZsVWhq?= =?utf-8?B?a3ZJTUZ5dnJTS2IwQ2lYOVZubnUzdzFJUUo4bVNNOCtRWWpRQ1ZQLzR3ZXBF?= =?utf-8?B?UXh4azFYblI5aERVN2daUzQwbHBtREhlaEpuUHFoVjF3em4ybCt5UWlObFQ3?= =?utf-8?B?N1VkNVBBWUR3Q1hxcEp0Y3BXcUxGelh6VHZKRlVjQWVQV29mandHRmRxY0Qx?= =?utf-8?B?UmZjd0N6enROdDR4M2VsZlJGdjhhNVJQN3U5QkVJb2s0NUlqeWsyakxQZjFI?= =?utf-8?B?SVp3c3hzZTE4MWxZRm1mZkhvWlBaSlJRaGpTaFRweGVBK294cWFsTUhKeGR5?= =?utf-8?B?Y0ZGWmgvNVl2bXFzaWRSazdCWXVoclk3cTVNV1ZhZ2syM1BPV04xYUszUnRu?= =?utf-8?B?M3A1VUlXVXVDWWZmckltcmdQQkJTN0JnNTJGRis5MVFqNmJUVDN5eTViYnRT?= =?utf-8?B?cnBDdCs1cm53enZHSmVFaTVSbGFYZXFhNFZwUzVtNStuK3EyVTZFU1FtZkgv?= =?utf-8?B?em12ZnYyZTd6Y2N1dmVuRjJkeitxNlNVSFMxREJzQmJxWGU2SFNJMitlRTBu?= =?utf-8?B?N0lRM0ZCQ2FSbzNlTnp2eDRMd2pENEpDUGUyazVSMkNXeEM2RGdXck9USVZO?= =?utf-8?B?Rkp1ZktKSGhTVkFtTmZYMG94T051WXVmSHhRT3NTWjhQbHJWYTd5RTNjbGFQ?= =?utf-8?B?S3ovdVBNbE1ocGVBMXVHaVR4eG1RdG54OCtvV21tN0xQdHVQTVNkWFRBbGtN?= =?utf-8?B?YU84L1N0UlN2MnF0MHA3aGg1SVR0TDQ1bGIwazlMK3BRNUNxR1IzNmo0MFND?= =?utf-8?B?bzBkVC9BdWJTYlRVd2hQeFo0cEZ6R2dxQllyWVhuK2w2YVNUeTVpaHBxdTky?= =?utf-8?B?aU41RlZqK0xRa2FMMlBxaS9VWm1FNDVuQTdaUE11MVk2dis4aW52SnBMY1JB?= =?utf-8?B?YUIxb3h4dit2RENFQWNjWHA0cUdaZ3dESHNrcDBHd0ZpM1MvUnVFTFFybjMr?= =?utf-8?B?U0UrdUttVUd2cThiR1ZQSi9tZGs1R1VSbC9XeVIxZ3p6cVBRbjh6TEZ2Y1Zw?= =?utf-8?B?Wjk0dEdoQ0lVTkJZY252RkNzVjFxMU9ialRSeVFPU2xLa3BYT01LNVpsVnlz?= =?utf-8?B?NDI1L1R1S2hIeVpOWEpUTE5wRXBjbFNjT3oyNDhOT2txT25NaFQwMVNXcVli?= =?utf-8?B?ZW1uTGw5ZXBXckpiQlJyWVFsNkZkdVZjSDYxd0kzSTFNcWVnTUdzS3l6SkJs?= =?utf-8?B?eFpJT0txb2pqMGYzbldJSm5mRDNEUUcrU1NpNGJudUpZUzZVOGtVcWk3Y2ds?= =?utf-8?B?QkVhRFE2ZEtGNXhXWU55VlBNcVd6c0R3MDhLNDMvdHNFdlprRXllUXo1b2RK?= =?utf-8?B?ZlEvSWZSZjY1U1NSeXEyNFpYd2V5Z0FpS0YvR0txenQ0L01QTjNybjVJNkE2?= =?utf-8?B?blIvMjNoU2xWakwzMnVZckpndE9XbXZxcDFWbTlLYy82N2ZUTmg1WWdBPT0=?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4e67cfb1-218e-4c0b-b02c-08dc5f9af9b9 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2024 11:30:40.1808 (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: PR3P250MB0211 Subject: Re: [FFmpeg-devel] [PATCH v3 08/13] avcodec/dovi_rpudec: make `enable` also affect decoding 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 could be used by codecs to selectively disable parsing Dolby Vision > RPUs, and is cheap to support. > --- > libavcodec/av1dec.c | 1 + > libavcodec/dovi_rpu.h | 2 ++ > libavcodec/dovi_rpudec.c | 6 ++++++ > libavcodec/hevcdec.c | 1 + > libavcodec/libdav1d.c | 1 + > 5 files changed, 11 insertions(+) > > diff --git a/libavcodec/av1dec.c b/libavcodec/av1dec.c > index 4c1405df77..20865b4f12 100644 > --- a/libavcodec/av1dec.c > +++ b/libavcodec/av1dec.c > @@ -1551,6 +1551,7 @@ static void av1_decode_flush(AVCodecContext *avctx) > static const AVOption av1_options[] = { > { "operating_point", "Select an operating point of the scalable bitstream", > OFFSET(operating_point), AV_OPT_TYPE_INT, { .i64 = 0 }, 0, AV1_MAX_OPERATING_POINTS - 1, VD }, > + { "dolbyvision", "Decode Dolby Vision RPUs", OFFSET(dovi.enable), AV_OPT_TYPE_BOOL, {.i64 = 1 }, 0, 1, VD }, > { NULL } > }; > > diff --git a/libavcodec/dovi_rpu.h b/libavcodec/dovi_rpu.h > index 3e80647422..8f8905b96b 100644 > --- a/libavcodec/dovi_rpu.h > +++ b/libavcodec/dovi_rpu.h > @@ -37,6 +37,8 @@ typedef struct DOVIContext { > * > * For encoding, FF_DOVI_AUTOMATIC enables Dolby Vision only if > * avctx->decoded_side_data contains an AVDOVIMetadata. > + * > + * For decoding, FF_DOVI_AUTOMATIC has the same meaning as 1. > */ > #define FF_DOVI_AUTOMATIC -1 > int enable; > diff --git a/libavcodec/dovi_rpudec.c b/libavcodec/dovi_rpudec.c > index 7c7eda9d09..978d5dfc2b 100644 > --- a/libavcodec/dovi_rpudec.c > +++ b/libavcodec/dovi_rpudec.c > @@ -37,6 +37,9 @@ int ff_dovi_attach_side_data(DOVIContext *s, AVFrame *frame) > AVDOVIMetadata *dovi; > size_t dovi_size, ext_sz; > > + if (!s->enable) > + return 0; > + > if (!s->mapping || !s->color) > return 0; /* incomplete dovi metadata */ > > @@ -306,6 +309,9 @@ int ff_dovi_rpu_parse(DOVIContext *s, const uint8_t *rpu, size_t rpu_size, > uint8_t use_nlq; > uint8_t profile; > > + if (!s->enable) > + return 0; > + > if (rpu_size < 5) > goto fail; > > diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c > index 7825efe2e6..c622a48b94 100644 > --- a/libavcodec/hevcdec.c > +++ b/libavcodec/hevcdec.c > @@ -3694,6 +3694,7 @@ static const AVOption options[] = { > AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, PAR }, > { "strict-displaywin", "stricly apply default display window size", OFFSET(apply_defdispwin), > AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, PAR }, > + { "dolbyvision", "Decode Dolby Vision RPUs", OFFSET(dovi_ctx.enable), AV_OPT_TYPE_BOOL, {.i64 = 1 }, 0, 1, PAR }, > { NULL }, > }; > > diff --git a/libavcodec/libdav1d.c b/libavcodec/libdav1d.c > index 09fe767fb8..f9e1a181fc 100644 > --- a/libavcodec/libdav1d.c > +++ b/libavcodec/libdav1d.c > @@ -674,6 +674,7 @@ static const AVOption libdav1d_options[] = { > { "filmgrain", "Apply Film Grain", OFFSET(apply_grain), AV_OPT_TYPE_BOOL, { .i64 = -1 }, -1, 1, VD | AV_OPT_FLAG_DEPRECATED }, > { "oppoint", "Select an operating point of the scalable bitstream", OFFSET(operating_point), AV_OPT_TYPE_INT, { .i64 = -1 }, -1, 31, VD }, > { "alllayers", "Output all spatial layers", OFFSET(all_layers), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, VD }, > + { "dolbyvision", "Decode Dolby Vision RPUs", OFFSET(dovi.enable), AV_OPT_TYPE_BOOL, {.i64 = 1 }, 0, 1, VD }, > { NULL } > }; > Is parsing this stuff very expensive? If not, I don't really see a reason to add an option for it (we also do not add options for lots of other side data types). - 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".