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 BD06240768 for ; Thu, 31 Mar 2022 08:26:21 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0B73D68B18C; Thu, 31 Mar 2022 11:26:19 +0300 (EEST) Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-oln040092072087.outbound.protection.outlook.com [40.92.72.87]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1A72968AECD for ; Thu, 31 Mar 2022 11:26:11 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QmwahWAYwsY7tDqV7v7fkZ1JIcGgQOMiQ9ulA2UGhBi7POFbnnlyY2OLIAkV0VZjFsvGYQCB9iSLl8nzLdrAF5FRklyCxOlsyaVMixZ2K3ZLVGGXpWCAyuIR61O1sQjmCYQWXnAKf9Ldp+FiaoII+hhfHgGDMqO09QKWhkdALwB6F6gtzEBasuHzA43+6cZiCBYo0t2ep84uoCmR5xND6PFIc95PA8DKFY0yuCXZ/WOITlxwqTBjZu6YTVobvL3dVKn9JFkAGiIYSmQUKrpg07tRFRAq5q2pp7Z7iOaneAjGc7r6CpXHtnnSqMqKXY44DhyfztzzCECDgq8pa5hQTg== 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=7EhgXXgf6Pn8DFKM4qUaUys9M8dqIKZUrIbuspoYa6c=; b=bTJv6CSlUT110zDYglggzHXyBRKUJrGRLVVk0qFyiD5Zwm4wOuvYXrRvMUrBwa3hax92mJLGgfsbGIO2arlR/e9VryQqgeRUiMk7WgpAK8KV9NCdSdgJJSitGi7hJ0p3E7L15M2Qc9TZLOLoYwqs+WdXERR6mLSWDEBWTZH7vY0UaYogb5xzbjsCiz8yrM2HVbQr8K8slGAHGjX5O/TcH/jkcgi/fFcw64bLlGi+ZYiBAjG41Rp8LI4beiWnAVFZ2dL+E8zSEQyZyiHI3NS5x0oeFgPvt6z0tkTYwGA9pSN69xR5VKHgMQJ6FJFFoYwlxs3QPh8oSGcaYp5k83TNvw== 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=7EhgXXgf6Pn8DFKM4qUaUys9M8dqIKZUrIbuspoYa6c=; b=PdiIwDHG5gcbqJ2SWMgfJ7YHEGeqde168YLunZr12QwL5W8znqGyFE4gjwoyG8Au/9FzVazvLrhCGF1ZY45PfUdb/b3xzgYo+5oqxeVVOOQpNU/Rafa0F87NZzUXzNj+hXnCeTSz5yn2mH8q3rknfdgCCmSIDjs1snC0FK2ouyv0WCi/OWAnFQz7Vmn8kGJTS0Qa4G9OBNVokxYDIGIaUOJUQHKgrzKjldB6dwA+jSuvMwhHZTVhxCAz9qJOmqqFl31hhZbRcC2qs5Rrzov9MSbb2zNZUC/rhJqlok0+HSft13nNs6/U3cM6AizMxex234To4TW9peJq1hQkECjb9A== Received: from AS1PR01MB9564.eurprd01.prod.exchangelabs.com (2603:10a6:20b:4d1::16) by AM6PR0102MB3045.eurprd01.prod.exchangelabs.com (2603:10a6:209:2::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.19; Thu, 31 Mar 2022 08:26:09 +0000 Received: from AS1PR01MB9564.eurprd01.prod.exchangelabs.com ([fe80::9070:a5fd:e532:bdf8]) by AS1PR01MB9564.eurprd01.prod.exchangelabs.com ([fe80::9070:a5fd:e532:bdf8%3]) with mapi id 15.20.5102.022; Thu, 31 Mar 2022 08:26:09 +0000 Message-ID: Date: Thu, 31 Mar 2022 10:26:07 +0200 Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: From: Andreas Rheinhardt In-Reply-To: X-TMN: [bcMDQm7XrcsOoTRHoy0WXG0Hzz8YeBVJ] X-ClientProxiedBy: ZR0P278CA0029.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:1c::16) To AS1PR01MB9564.eurprd01.prod.exchangelabs.com (2603:10a6:20b:4d1::16) X-Microsoft-Original-Message-ID: <0740c9da-4e00-4f29-35ab-8a636268ad6f@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 149deb3d-fd24-4bda-8ec1-08da12f01bc2 X-MS-TrafficTypeDiagnostic: AM6PR0102MB3045:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: VDfu+ruHpem0UApBNzx/7U5vo5s/FczlKzAAfheVvi1bkxSctnetcFHPhAmUWax+T6sdomkCWaQMY3wUbZVf6W3xbxTFQxdSaVgm9QW1sVGVhECfc5/wODglei4II+/J13IJAMNu+4xo3UqJa9fdIu6oqcLP6agFLOYc2IlvZD4v9xmVnKAI6TLj/xyQOKMndaPBAl+WqH95nwDBRtMr2fys/WX+ZD/H6f76aG9jXm/XuKV/EiprHiF3XuUqzWTtZQzvGouK40V545Ka2JYAO2jWQUrD8ORxIVKxLa4vW0XzcqoB04QGl2cpEWTo5wk+yLzHzKvq0DCwx0JYxajgk54wm6SSytnLr3dxXcIXO0MV68lEUSx2bi5axwzKIzVsjv5dVl3c0DTGGqZXg6lLE4nFqxrz/8SXXjefxWq2TIyyZ1glld950DdKcOxbg9IjpGlrpVdix67pffY6UYGU9oQL7DCF5S8eaVwyXai1bvols7klTiLJuYa1rmRuM+ZiAzcBvz4jXI/wk3uXDHUWLGMykd4SFDmjA50oasYTIACk6BK0E4a+bTneq25/ql/soz+YPdMbM0cXvA9Tydl23Q== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Y1hzTFFma1dVb1hhQnNRUU45cktlajNZZVhoVlZCNVppZUZoNjN4NXVuT1Av?= =?utf-8?B?bU5yaE5nYlR0dlVuRTdacWRUYkYrNGJ5ZUZ3elFhN01GMzJwS0c0bzlQR3R0?= =?utf-8?B?Z0ZLaUE5b3ZlakFPRVQ3OHNOYmp4ajR4bHE3NGdzK1g4N1BFemxyWVlNZFB2?= =?utf-8?B?aVVkK3hWdEVJcWxzbzNnTVU4bU9PVFlZUVJoZjlVTHc1TEY0VlQvQ05KTWNO?= =?utf-8?B?djVTVmZaT1YzUStBV1Y1bEl1M29zRURuRFkwODkvendBR2dHZnRmZkRQWkIr?= =?utf-8?B?OEFlT3kxT2lLWmxobk5LRkZxV2VRaVpqMm9xQ2lDc1VsYVd3NDhtVFdtM01K?= =?utf-8?B?OWtQTXNURnlvOWpLTk55OVVFMDRMV0tReE55eCtyQ0VIMytjZW9zRUZzME0y?= =?utf-8?B?cWtSdHZGc2J4Ylk1b2FVaTFTenEzOHloc2JHOVZicHNNeHhRUFVnM1ViRmtt?= =?utf-8?B?NmxINXFJb2lKOGNxNkZvY0ZIY2o1bU5lblRwL2ZNY2wvUHlzeVpINW9OcUN6?= =?utf-8?B?Nlg0TmtDUENhbWxMR3VleEQzL2dRcExxQ3krQkpIUEk2dlNhL2daWGgyUDNk?= =?utf-8?B?MHltZnBFWWhIdjViTEMyUTcxanBhcURybFhEbnpwdktQTVFYdnZwYlhpQ0RD?= =?utf-8?B?a0RGeEZpVVRIMks5YkQ4bVorLzgwVmNWU1RmT1V3MGdFRnQwU25Ta2dvV2pO?= =?utf-8?B?ZGdPN3VNb2JNWEkzM2ZCZlQ1UGgrR3FMNXIzdDNMc2x1YW1jZWZEbGxUTUpj?= =?utf-8?B?YkhMMkh6dElVdENDRTRnN1o1QzVDMENiVDVyUSsrOFBrYWJLK3V3dEFZU2tx?= =?utf-8?B?MkttOWw0MFR3MGtQUHY3dHZlTmZodFM3bEYxcUNCcUk1STR4bHNySTB5QXRS?= =?utf-8?B?bzY2SmVNRWxjNklmdm9ldmllRmM0bmhCSStyd2I2ZVo3MUdEUzdlNFA3SFdV?= =?utf-8?B?L0kxVWFVQlJJSEtiOUhNOUFWSWh0THY0Sm5CZ3phUkNRTmM5WkRnajZDZUh4?= =?utf-8?B?S2Q3cnY3dVl1RlZxbDV4d3NrWk9KQVczbVA1L2JSb0h4SGdSUGR1RlNvcWpn?= =?utf-8?B?akFZd0g5SGU4Ykw5TU41RFZDNTV4TDFPdHQ2S2VyVm15YkFFYUg4eHUzbjVo?= =?utf-8?B?eW54Z3l2Q0JhcUxUa0dtN2ZmanpMNVlGV2ZnSWhWTEx4MytpNDY3cGJWNm8y?= =?utf-8?B?WHJUWmVWWmdqQ0RaazhUQW5FK2l4YkI1b3VrWTVHWkFRYVJLUFZnQ3lFVlNp?= =?utf-8?B?MSs3MWFERXJuMnkxdXIxVHZIMkRHMUt1MzRwWm1EUHFsVlBRY09ucnhCcTBF?= =?utf-8?B?R2xITmpMZUVUUERFdlQ3SXAxQ1ZFMU5ZajZ1cHZOOGFHWStuMTlZbHNvMkZ6?= =?utf-8?B?bFRZc0FIOHlWdzY5WXRPclV4T0FyL2E4WlltZ3lwbmFlNDNZRUVwNlBidGYz?= =?utf-8?B?amx5a0crQWg4ZnJia3JDZHVkMHlNcG9VT1FHczBxWWhCV2RCZEQ5QnFwTHpK?= =?utf-8?B?Wkp5cmxYbzFRTzF1dThuaXFpQ1RxMXpaYUxMaFk4VXZkeEtZS1FtdUNmbkV1?= =?utf-8?B?dmVIZlRTbHhJR0g3Q2k5aUVjNGJzWVBqQUtiK1RPNVFHRm43aDZra1dYMi9X?= =?utf-8?B?L3d5ZEVYSTgwSUk2L21TU211ZHU4dW1VTVFJNDh3OUxtV05penppbU5laEZY?= =?utf-8?B?YUordXMyQk1lOVNmWVFqNWU5TC85Y08xTmJPTDQ4b1NZaDBDMnFZUnNlOEkv?= =?utf-8?B?ZCtpa01GU3lWd1BkK0FURVNXUUprOTZ6WlQ0cTY4cFNyRU4rYlhCRkswMWFL?= =?utf-8?B?N2d3SFFjYVJaR1pWR1ZGOW9sR3VlOTlrNHlXb1pFbFFQKzZ3V1dqRHJ3bFJY?= =?utf-8?B?bjlUek90Q2Q4K2VCRWN2Q0lVMzlkK0lNcWU0U3d3VEdmdXIzSTVoRENjU2kr?= =?utf-8?Q?x+d9idVU2Vv02zFwd/pvLw+qiJNo8Rpf?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 149deb3d-fd24-4bda-8ec1-08da12f01bc2 X-MS-Exchange-CrossTenant-AuthSource: AS1PR01MB9564.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Mar 2022 08:26:09.7750 (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: AM6PR0102MB3045 Subject: Re: [FFmpeg-devel] [PATCH 8/8] avcodec/codec_internal: Include codec_tags only when they are needed 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: Andreas Rheinhardt: > They are only needed for the fuzzer, so check for CONFIG_OSSFUZZ. > This decreases sizeof(FFCodec), which is important given that > FFCodecs reside in .data.rel.ro in case of ELF with > position-independent code which is always loaded and can't be shared > between processes. > > Signed-off-by: Andreas Rheinhardt > --- > libavcodec/bitpacked_dec.c | 5 +---- > libavcodec/codec_internal.h | 10 ++++++++++ > libavcodec/hapdec.c | 13 +++++-------- > tools/target_dec_fuzzer.c | 2 ++ > 4 files changed, 18 insertions(+), 12 deletions(-) > > diff --git a/libavcodec/bitpacked_dec.c b/libavcodec/bitpacked_dec.c > index 419550dfe0..b62d88fa8f 100644 > --- a/libavcodec/bitpacked_dec.c > +++ b/libavcodec/bitpacked_dec.c > @@ -151,9 +151,6 @@ const FFCodec ff_bitpacked_decoder = { > .init = bitpacked_init_decoder, > .decode = bitpacked_decode, > .p.capabilities = AV_CODEC_CAP_FRAME_THREADS, > - .codec_tags = (const uint32_t []){ > - MKTAG('U', 'Y', 'V', 'Y'), > - FF_CODEC_TAGS_END, > - }, > .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE, > + FF_CODEC_TAGS(MKTAG('U', 'Y', 'V', 'Y')) > }; > diff --git a/libavcodec/codec_internal.h b/libavcodec/codec_internal.h > index 596cdbebd2..b6b5b05b44 100644 > --- a/libavcodec/codec_internal.h > +++ b/libavcodec/codec_internal.h > @@ -21,6 +21,7 @@ > > #include > > +#include "config.h" > #include "libavutil/attributes.h" > #include "codec.h" > > @@ -74,10 +75,16 @@ > */ > #define FF_CODEC_CAP_SETS_FRAME_PROPS (1 << 8) > > +#if CONFIG_OSSFUZZ > /** > * FFCodec.codec_tags termination value > */ > #define FF_CODEC_TAGS_END -1 > +#define FF_CODEC_TAGS(...) \ > + .codec_tags = (const uint32_t[]){ __VA_ARGS__, FF_CODEC_TAGS_END }, > +#else > +#define FF_CODEC_TAGS(...) > +#endif > > typedef struct FFCodecDefault { > const char *key; > @@ -196,10 +203,13 @@ typedef struct FFCodec { > */ > const struct AVCodecHWConfigInternal *const *hw_configs; > > +#if CONFIG_OSSFUZZ > /** > * List of supported codec_tags, terminated by FF_CODEC_TAGS_END. > + * Should be defined with the FF_CODEC_TAGS() macro. > */ > const uint32_t *codec_tags; > +#endif > } FFCodec; > > static av_always_inline const FFCodec *ffcodec(const AVCodec *codec) > diff --git a/libavcodec/hapdec.c b/libavcodec/hapdec.c > index 4a7ac15a8e..72f922bc5b 100644 > --- a/libavcodec/hapdec.c > +++ b/libavcodec/hapdec.c > @@ -486,12 +486,9 @@ const FFCodec ff_hap_decoder = { > AV_CODEC_CAP_DR1, > .caps_internal = FF_CODEC_CAP_INIT_THREADSAFE | > FF_CODEC_CAP_INIT_CLEANUP, > - .codec_tags = (const uint32_t []){ > - MKTAG('H','a','p','1'), > - MKTAG('H','a','p','5'), > - MKTAG('H','a','p','Y'), > - MKTAG('H','a','p','A'), > - MKTAG('H','a','p','M'), > - FF_CODEC_TAGS_END, > - }, > + FF_CODEC_TAGS(MKTAG('H','a','p','1'), > + MKTAG('H','a','p','5'), > + MKTAG('H','a','p','Y'), > + MKTAG('H','a','p','A'), > + MKTAG('H','a','p','M')) > }; > diff --git a/tools/target_dec_fuzzer.c b/tools/target_dec_fuzzer.c > index 288aa63313..77f4bb8dd8 100644 > --- a/tools/target_dec_fuzzer.c > +++ b/tools/target_dec_fuzzer.c > @@ -279,12 +279,14 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) { > ctx->sample_rate = bytestream2_get_le32(&gbc) & 0x7FFFFFFF; > ctx->ch_layout.nb_channels = (unsigned)bytestream2_get_le32(&gbc) % FF_SANE_NB_CHANNELS; > ctx->block_align = bytestream2_get_le32(&gbc) & 0x7FFFFFFF; > +#if CONFIG_OSSFUZZ > ctx->codec_tag = bytestream2_get_le32(&gbc); > if (c->codec_tags) { > int n; > for (n = 0; c->codec_tags[n] != FF_CODEC_TAGS_END; n++); > ctx->codec_tag = c->codec_tags[ctx->codec_tag % n]; > } > +#endif > keyframes = bytestream2_get_le64(&gbc); > request_channel_layout = bytestream2_get_le64(&gbc); > Will apply tomorrow unless there are objections. - 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".