From patchwork Thu Jan 6 20:51:52 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 33135 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:cd86:0:0:0:0:0 with SMTP id d128csp1991007iog; Thu, 6 Jan 2022 12:52:13 -0800 (PST) X-Google-Smtp-Source: ABdhPJzyeMbdQu9U4GvWv3AVn9bQKjls/BYiYEkALKI40Fa1AXmv5orEsaYgpcP0aKO0KP0kYYwA X-Received: by 2002:a17:907:78cc:: with SMTP id kv12mr5410270ejc.359.1641502333046; Thu, 06 Jan 2022 12:52:13 -0800 (PST) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id hp32si1454963ejc.919.2022.01.06.12.52.12; Thu, 06 Jan 2022 12:52:13 -0800 (PST) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@outlook.com header.s=selector1 header.b=ursraxe8; arc=fail (body hash mismatch); spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B4FF7689C54; Thu, 6 Jan 2022 22:52:08 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-oln040092071044.outbound.protection.outlook.com [40.92.71.44]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 64A89689C54 for ; Thu, 6 Jan 2022 22:52:02 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TXPJCHxlXzA01P6tf91isVNVgbtyIztVVu/ykUbRllgQYtGGKBqxAAZOTTDvsZ6uS/CTiqZwZ4RQU+BuyQPrcedxA8HGIKeuEFFV9SCJCDzQ83h8/8aq4bQ/XjTlCue8h5MqxMMVksXz5TXqHtu9TyYNJfQTqWlUaRD/0K0QWF/pVypHtGyeGHb7XX04F1TzBp1KMVBry/nqNVuZANkW4CGsrGC+fVqJXEsnUM/vZRoCQ56Ezm2Z1nOu/KiCZSv2ZztM9FMEzyW22ygqS01GZ3Zfxh5D+DAHjMq2DIkGpORSD/FZeVYjyr3ZkWt2qxfxF21Bm3YIVs0/s0GiyweXew== 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=l0lM7f3ggkVT/x4A4SifC/MxcEJ0iy8e2Lt3Qttb/hk=; b=bqVgSJrly42XDiyZcQzUZ94tOiu6C1GX6ucvs0UxWESymf+R/muvempqKMcNg2KYZSswvUMqtxGSUd5ipdzvcgCpczUtzRefTaeaj9tVMsSXdZBR/AtDfp8aNy16Lym9dVy9Uhj53wovEbhRRmXtxHxySKfMlqCkY1si+kDNWNSaOXWhOwRXawzJ//n4zYqI3MYduxRU3wzo2v7NQKr3+/iSgC+Q+M/TALiwTQ+yKFFKdV+obFQnGSWPhzzTi3pCANCpf7+ka5r+bHXLd+SCLAm2qeYdeth1i3yBkFyjHqYTszMNgH/sf6grELpPtwwpBQkIsk76PKIeYMvBS7KmkQ== 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=l0lM7f3ggkVT/x4A4SifC/MxcEJ0iy8e2Lt3Qttb/hk=; b=ursraxe82gbsbWPHJvOgcgRAUvgfjG8WGx2DKGT3jB1iYmFeRDvW7IqAvk8ViaEjN+vP1A8jst31n2r9lsKDLsRjDAbr2Rk2GRxA5CqayobGOtCT14ubj6RuTCGzrFGcQsG82oUDjvFCifTmU1wwewvV+j0yk95iPZAlJkF1a1a67XfrMqveyYo+QN/vREwDM7V460xN4eSVTGSUcpF43ZK9HwsDbnV8i2lW7iBpjlPupF80+X3kmVPNx6Tp7fpNDgsU8sEWkHjUz7sDQNF9Ug91Lnsf886hdmRYamfUDx72/mxTxAjHN3vj4BBhonNpJMMJbV1j/kYL2AUL5ykPSQ== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM5PR03MB3092.eurprd03.prod.outlook.com (2603:10a6:206:19::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4844.16; Thu, 6 Jan 2022 20:52:00 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::19fc:be9f:2c9c:53f5]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::19fc:be9f:2c9c:53f5%9]) with mapi id 15.20.4867.010; Thu, 6 Jan 2022 20:52:00 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 6 Jan 2022 21:51:52 +0100 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [M08BRLtbUgm/XAkkrL9GOgUPrIxbPqm8] X-ClientProxiedBy: AM6P192CA0092.EURP192.PROD.OUTLOOK.COM (2603:10a6:209:8d::33) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20220106205152.2625727-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 05001e52-0e33-4fb1-bafc-08d9d15662de X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiR3EehW4kxQzdNcP2D/mG1JjOL+I2z92Bm+Hb6iUFj1s61CVE+NYjAxITP91tXq4uxqJSno20POj+2/BTgqImCAWd2MMoFshSfYn6uou5y1jVe7lPbEMnJBzgTLFAOWkeOigVikBqKUpWhRpL/hAA0Zlklqk9W8TONJqkDurinSLoaxXzgMaj6b9uNWnwSLTduOvna2M9ES3djUkQnWS0lZ2roVyo7dUGRJ6KEUFEAPMZ4teJPy1/8dny3iweNS0b76Hx4royvCPbUgF4fn65BqFNbpaaZm42lcFDGx8DlzlkiuRvJ0RmocNfW+UbXLaQJ9uUDqrH4wk6kEcULhgmPWHNXYUBaBmErqqgdmDXNnMjqP4jGnlYCEV9aSDXtKlwu2Opw9No+/ph09/E9Wqpgw9t1wQiqOPLPGu4zvEWyx71qgKlUw7AuBFKdyr3u2o5oXxfmguyNyfPBtv57WaIClEJE1d14led65BS7Mx8le7jEkcB0HVMUxh7BNs+taqjSfJjZwgaKtbLF24pnGIL2GZKMbUZ7n6CfqAP4pVHyn6Hg6U6UQVf+papZAGtlc6Fvn0NmQuhiDUvk3hniCkpgQYkeM/wgeZNzY2MTS0Bi1MV1GF39nhKejWnnQ9/65BAeizbJ2jJHHWzCKizt37OrLnUrWsuxEJ3Gqi2KmACIQjuoOkiD1V+xsv9LRVlW0LhMdxdb8lIXCvlHxMar9m9ClhXWJH/C3HlVn2rT376QIft6UdglDZKFtPnUFQ61x6LM= X-MS-TrafficTypeDiagnostic: AM5PR03MB3092:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: s4c4kZHWTiooJGsPu9MqFA/6eIVozS0YDSfVgIRBQ5sc6PpEDsoMHBLMWUM3sHxL3JAgczW1ZVphxpel6eLj2sUzsQV50fhrbh4tf+EYtVgXUyBI0HA8WnYvbdbdJmDGeRqfm/ji7y5VSqwnNX3SPWfdhxSPSzwzPTJjyFHxPHe4FdUJ4VpZYUzTwiZRg6eqQrr/4FWHT57FbenFS+lUMR+ihyna4KvxZQ5Qgbvi82Ki6O/xLJHgyNAdBZhAfTEl+y/qTAR4JsDW5bnbU6kPzodKkwXpeZEWboUxQ0HGK6iChEWWANBYHkSU+eOHNiPsX7tvATXESdcRjqFCp4LtQT9WXdQEBf2S2XXioQ84hs1X6cMWhvM9BdLbjbKfjrKko2KFruvh3ZVi6gYr+fnj2286bIEtTtSNmrUk/sT8VxZ0iSEvkmKWYYmF70YSm0Yf8mLRrqc1WyOqH+NIUYx3AaaNPxpsaFUQtD+K2fcZqM8S/UvaFOKsdNljom3Ncvh75OuKvOCkbY0AbNLblRv6ZYcMcJvSqb2tQKyQZRmPj2VQntMx1T71JKKUt+dnxSRsD6zMl3pOegcY2ThFsAl5hw== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ZwBGjx3SZCLcgHtFIP2pWDOr3ZhnzGHHREGsA0bDpBtYLlUeKOJUXl0EZKvX6hZdHcKbaqqCXC8tUMeojWxtC2fqRjVtK1xo/kWYTI7EQK/m1Hbave6O+WJWhvMthGSJdPb7Qm9UWhHacx7KJqfO+PgqIG5FsUqPphkPb/N4UwPt8jKq2bMYTNZ1LfO3fYhYYmWL+YC6ZEUKZ+Yw7NyYprwx3iaogWaXVI84i4/+7radDdhP2TidFjUICi6ymQl5Yxu/fsLbLrRmEF0C8C5xFHVASh/lND3FLiUDbghLlMsK5xnxaLW204dZaggvDKGi94jQ0rQx84QKO0RHZAPC3MryU7gfylS7q4XlSb8WmrqGJCDsyAsWx2hxZb59llG2E3VPDJtbtJIXIzPZnsS8+wvN2G7D5MXJpFm5TVV7Gk8fbo6pWKDfHQODTTP+ZjMCDzcLJFHHPYg7dSZtXMEiWM60T1YHqgPe0zC1HoEBFfY0uulJVMIBpdM1tkqQMMiII3TcK3ZoxOmxfWyig8z1qKOlzCORhfg7FovEU1b2HTirazCPz6+ZM5ipSYrmhSJ6en1TKjSTplt59Y7VXXV/jZwZh+ZQdz8CX+rkq394toAQ7GLY5BE0Lz8a+FCAB16odLudRtRODrrrX9i42vMDJsdPoIgmtVuCMxcmWEafK1/Gyk1WKqf2gs9dpTmOHby4GM4ku0ZOdZkzv5klu+AUg3gaLBi0WE5sNeRvBMQXfouAxNxfgbmdAug/yRvAa140iZ+7QanOpkc/wyDykh62NgaMMoTWp5nMfezdDwSJTTIfsnRmmcbhpKLO6Qy4+5hewkpKa77iOhnvJMJdANKjEiNqxqPoOb/EcMldMQ9KtT0ICUwG63yvr2EyC4jLsVYQp+oEti3TPyNhWE1Yt0X6+lxT+3YkfYdOR43RuUSFNbKsmTWxbvFOpF6TT85lYvF36M0dQ3IR2cWv5XCivkyQuA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 05001e52-0e33-4fb1-bafc-08d9d15662de X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jan 2022 20:52:00.8292 (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: AM5PR03MB3092 Subject: [FFmpeg-devel] [PATCH 15/15] avformat/img2dec: Don't include disabled demuxers 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 Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: SFvBuPt7Uyej Signed-off-by: Andreas Rheinhardt --- libavformat/img2dec.c | 73 +++++++++++++++++++++++++------------------ 1 file changed, 42 insertions(+), 31 deletions(-) diff --git a/libavformat/img2dec.c b/libavformat/img2dec.c index a6084ceef0..4d5ac51b53 100644 --- a/libavformat/img2dec.c +++ b/libavformat/img2dec.c @@ -1130,7 +1130,8 @@ static int gem_probe(const AVProbeData *p) return ret; } -#define IMAGEAUTO_DEMUXER(imgname, codecid)\ +#define IMAGEAUTO_DEMUXER_0(imgname, codecid) +#define IMAGEAUTO_DEMUXER_1(imgname, codecid)\ const AVInputFormat ff_image_ ## imgname ## _pipe_demuxer = {\ .name = AV_STRINGIFY(imgname) "_pipe",\ .long_name = NULL_IF_CONFIG_SMALL("piped " AV_STRINGIFY(imgname) " sequence"),\ @@ -1143,33 +1144,43 @@ const AVInputFormat ff_image_ ## imgname ## _pipe_demuxer = {\ .raw_codec_id = codecid,\ }; -IMAGEAUTO_DEMUXER(bmp, AV_CODEC_ID_BMP) -IMAGEAUTO_DEMUXER(cri, AV_CODEC_ID_CRI) -IMAGEAUTO_DEMUXER(dds, AV_CODEC_ID_DDS) -IMAGEAUTO_DEMUXER(dpx, AV_CODEC_ID_DPX) -IMAGEAUTO_DEMUXER(exr, AV_CODEC_ID_EXR) -IMAGEAUTO_DEMUXER(gem, AV_CODEC_ID_GEM) -IMAGEAUTO_DEMUXER(gif, AV_CODEC_ID_GIF) -IMAGEAUTO_DEMUXER(j2k, AV_CODEC_ID_JPEG2000) -IMAGEAUTO_DEMUXER(jpeg, AV_CODEC_ID_MJPEG) -IMAGEAUTO_DEMUXER(jpegls, AV_CODEC_ID_JPEGLS) -IMAGEAUTO_DEMUXER(pam, AV_CODEC_ID_PAM) -IMAGEAUTO_DEMUXER(pbm, AV_CODEC_ID_PBM) -IMAGEAUTO_DEMUXER(pcx, AV_CODEC_ID_PCX) -IMAGEAUTO_DEMUXER(pgm, AV_CODEC_ID_PGM) -IMAGEAUTO_DEMUXER(pgmyuv, AV_CODEC_ID_PGMYUV) -IMAGEAUTO_DEMUXER(pgx, AV_CODEC_ID_PGX) -IMAGEAUTO_DEMUXER(photocd, AV_CODEC_ID_PHOTOCD) -IMAGEAUTO_DEMUXER(pictor, AV_CODEC_ID_PICTOR) -IMAGEAUTO_DEMUXER(png, AV_CODEC_ID_PNG) -IMAGEAUTO_DEMUXER(ppm, AV_CODEC_ID_PPM) -IMAGEAUTO_DEMUXER(psd, AV_CODEC_ID_PSD) -IMAGEAUTO_DEMUXER(qdraw, AV_CODEC_ID_QDRAW) -IMAGEAUTO_DEMUXER(sgi, AV_CODEC_ID_SGI) -IMAGEAUTO_DEMUXER(sunrast, AV_CODEC_ID_SUNRAST) -IMAGEAUTO_DEMUXER(svg, AV_CODEC_ID_SVG) -IMAGEAUTO_DEMUXER(tiff, AV_CODEC_ID_TIFF) -IMAGEAUTO_DEMUXER(webp, AV_CODEC_ID_WEBP) -IMAGEAUTO_DEMUXER(xbm, AV_CODEC_ID_XBM) -IMAGEAUTO_DEMUXER(xpm, AV_CODEC_ID_XPM) -IMAGEAUTO_DEMUXER(xwd, AV_CODEC_ID_XWD) +#define IMAGEAUTO_DEMUXER_2(imgname, codecid, enabled) \ + IMAGEAUTO_DEMUXER_ ## enabled(imgname, codecid) +#define IMAGEAUTO_DEMUXER_3(imgname, codecid, config) \ + IMAGEAUTO_DEMUXER_2(imgname, codecid, config) +#define IMAGEAUTO_DEMUXER_EXT(imgname, codecid, uppercase_name) \ + IMAGEAUTO_DEMUXER_3(imgname, AV_CODEC_ID_ ## codecid, \ + CONFIG_IMAGE_ ## uppercase_name ## _PIPE_DEMUXER) +#define IMAGEAUTO_DEMUXER(imgname, codecid) \ + IMAGEAUTO_DEMUXER_EXT(imgname, codecid, codecid) + +IMAGEAUTO_DEMUXER(bmp, BMP) +IMAGEAUTO_DEMUXER(cri, CRI) +IMAGEAUTO_DEMUXER(dds, DDS) +IMAGEAUTO_DEMUXER(dpx, DPX) +IMAGEAUTO_DEMUXER(exr, EXR) +IMAGEAUTO_DEMUXER(gem, GEM) +IMAGEAUTO_DEMUXER(gif, GIF) +IMAGEAUTO_DEMUXER_EXT(j2k, JPEG2000, J2K) +IMAGEAUTO_DEMUXER_EXT(jpeg, MJPEG, JPEG) +IMAGEAUTO_DEMUXER(jpegls, JPEGLS) +IMAGEAUTO_DEMUXER(pam, PAM) +IMAGEAUTO_DEMUXER(pbm, PBM) +IMAGEAUTO_DEMUXER(pcx, PCX) +IMAGEAUTO_DEMUXER(pgm, PGM) +IMAGEAUTO_DEMUXER(pgmyuv, PGMYUV) +IMAGEAUTO_DEMUXER(pgx, PGX) +IMAGEAUTO_DEMUXER(photocd, PHOTOCD) +IMAGEAUTO_DEMUXER(pictor, PICTOR) +IMAGEAUTO_DEMUXER(png, PNG) +IMAGEAUTO_DEMUXER(ppm, PPM) +IMAGEAUTO_DEMUXER(psd, PSD) +IMAGEAUTO_DEMUXER(qdraw, QDRAW) +IMAGEAUTO_DEMUXER(sgi, SGI) +IMAGEAUTO_DEMUXER(sunrast, SUNRAST) +IMAGEAUTO_DEMUXER(svg, SVG) +IMAGEAUTO_DEMUXER(tiff, TIFF) +IMAGEAUTO_DEMUXER(webp, WEBP) +IMAGEAUTO_DEMUXER(xbm, XBM) +IMAGEAUTO_DEMUXER(xpm, XPM) +IMAGEAUTO_DEMUXER(xwd, XWD)