From patchwork Mon Aug 29 13:45:47 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 37555 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:139a:b0:8f:1db5:eae2 with SMTP id w26csp1954172pzh; Mon, 29 Aug 2022 06:46:08 -0700 (PDT) X-Google-Smtp-Source: AA6agR7RA5laTeXPMo0fFRhk2ZLDV2eyqn3UC0Hn2Wtijyf306AmB24RYQsOcUHPMc3yPhidXS5M X-Received: by 2002:a17:907:3f0c:b0:73d:60fc:6594 with SMTP id hq12-20020a1709073f0c00b0073d60fc6594mr14114572ejc.669.1661780768645; Mon, 29 Aug 2022 06:46:08 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id i13-20020a05640242cd00b004488842d88esi1651810edc.13.2022.08.29.06.46.08; Mon, 29 Aug 2022 06:46:08 -0700 (PDT) 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="Gh/eGqIq"; 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 4850F68BA86; Mon, 29 Aug 2022 16:46:05 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05olkn2073.outbound.protection.outlook.com [40.92.89.73]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 052C268BA0A for ; Mon, 29 Aug 2022 16:45:59 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Evwk3aDdNXMdCJpSUINCQsLzKaL77F++0dWMPWDRGS73zU30MQWs89ItiBYPn6FUCd7/VonVm4scJVD0qyeTjBvZnJtPeskLvUEvhysw05sGsyTwL9mfbJGyD0U8lI++0o8JiW2A0AJc5kWLPcO1XvEd9hX6blLJ7bRxCd2+Q1D3s/o5E/piv7IMh7BLQ+EE34HzZoJPaFq/caLod6/3iu+IUH0YFD/h1gOqYt+GUo9JC8RzlEXamocoueKTpxfEhCYg3sX3yBqPxD+ReiVvkccJKYM0WQbg1Lan7x/3TYQahzmol7T6luMuOIaNXC8FwMfIsI2AhrDTKicqDfltvA== 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=39a/8e5lrn0nHmhforsjF8rNqdaYzIKGXAMhHDTXFzk=; b=bmoTt2vFk6SQqg8M+X0VYezv79SMWqVIDR3DwopovtwkGVfQjxg8+4lgayFqW1duTSxdpkC2UbWCh6m9nbTtuDSH0ZeAix7d6s+pWA45YSYgwW2GpFY3QFfjC2/uZfidp/MDmEPPFVPl13vd1wElfp0iDjLKpqKWETq5vqjOQ/jty5hfmEdAwnnvdAyjO8+FkziAtLpM8C/W/Eqa9Bs4MCvYabuCQN8vZ6/h1KTT17kZ5oUUhV489ehgAKYHO9mcKguMbQ/1ui7Ca3TL9z8cT450kd2CwoSqEP6t+icwnl5Eo0FEoLtqDhujqC1Gsbmixq2LJwzLPdVI9u7LJG7tRA== 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=39a/8e5lrn0nHmhforsjF8rNqdaYzIKGXAMhHDTXFzk=; b=Gh/eGqIqKWrziHNoR5AMMYNNsNAZok7Cbci5s1flqAbAaO0EaiBuBJ2WoMWwaQPnP2YhWjthHlOcYSFJ6kkIjkFhQ8VJRI2+/UJTEE9KncWZq27ptnSgFK1QbZIDZ3Rnushsnng4TYh1jZ7lGOWeB1G32XswEGw/zmlJkkalVYcS5vAVXQx6S1okZQDlcb8zNI07E7BbzwtgcUmpMgwyF8Ln/xDYVcYuhAg0ZuZgoS3l+o73EOd68G3pJytA6SCbpXnDZB741RcKC9dFYXuusnQTT0vPhOmpi6HZ/r4qRcvNI41vcSHoz4TFjAwk59tRFaSW6thX7yizugii0sIALA== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AM8P250MB0263.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:32a::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5566.21; Mon, 29 Aug 2022 13:45:57 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::7d2a:d9d8:f384:4cee]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::7d2a:d9d8:f384:4cee%9]) with mapi id 15.20.5566.021; Mon, 29 Aug 2022 13:45:57 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 29 Aug 2022 15:45:47 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [xe4MdrAls3jeZKGyhZE4F+lXDRrK92sq] X-ClientProxiedBy: ZR0P278CA0192.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:44::16) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20220829134547.530517-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 74bbcf0c-5468-4733-365d-08da89c4ccc0 X-MS-Exchange-SLBlob-MailProps: AZnQBsB9XmrJ3OdcGJgulJWOepMDRIJzaY3BjxgSmEHSFebzrAjGXESmgx7tvD41yaBR5H/qLRJQq/jVXX1kBUeJkUKCzGJgKQxi2/SzTbAKT2opaeeRBJ7QNoz4CjtwX1fPFhIv2w9KdisGtjAhgit6BghRQR1NU7ouS6aip6AnfHuOmKA9IEAoaKmOLVP1M1SV45sX6Y1JGVpQvflBHNBbZ2JX6XkB48VuWIPOJGUBEyzo8gSsT3MeTFPveDvoBo0lX2oBuPtjmu1Mp/fJwWJcRtPsT7L/0r7a+et8ez7svCYNLTy7lskcBnyYYMEm3fYeeLMeqSKxkj6KtHXoQKPCj6YefgVNp09zv/o+ferLBUo3IyRYgAZzf4dd4bP6bk2Ps8XATfoVWe/7RvVXcWShS5fyR9cMMmWgD7LiYEw6tLh/Gk/RNNNtthK3zjSoPKTQedX4Zc2o1AxmJx5qlUr9pGow1SbUT323bJxHwxHs/f8LnyPMUpRnyXcauCsTQcFL8WetYLJ5AQqKIrY5Omlnn8pkEELBYyOlEgTeFflavbHOda1ILBwpsCcNnI+HLX0wrCqTpUL3Utl0DbmSrHaY+ZKJBXTdVPIRwvhe1uuE5/bUDVu3iK/1Yo1QZc7tXznHTN1DLKV0HYocjKJqBuQPmcQw2+0Xoefq8axe5WajHxxdyDzm5bAfBplMPvLVvS9hDhmRxNgVddQzAiJdIVnt3qhUzv3jIvefPe3AcmYmwB4pLveZrJEnJ3IoFUJpFuX1Ddf3xlU= X-MS-TrafficTypeDiagnostic: AM8P250MB0263:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: fe6gZSlD5dsDMEYRQRAk5IDAUg3h0FrTWjT9dBzDBYAIwUDr9aWOyukpUWqg//LRra/rlSbLBTjWNovkVsU4qKoaZr3/LihktdDsocL/DKBQXfkamNfJeiqyIPVVJg4Pf/X/oENmrN7mLXVns1qIDSgaZpFdZzRXNH8e4tQicEuY69FOPpKH7/tIvE7ssugxSD/isjuJ49S3Z7E+WXlwWPMvnNbigLKTAj9WHLAn3B7o9jqVc+RbOi6fwoz5De/Uo33h9k6m8sxH0jlBlqjkWHrPK0SZvpCoOOt+ermqTgA5Bbh7eCSBIXopFru9OUldnsZ8Z4TquoUtjsRGM69TwGm45h27h5nfhGF2h7ybqx78zqmeF5KVz+zvr3Y2dFNkH52q1Qo09AB78SldRWqdJx3CGc1a4mP67FpSE5BB//JgNktTB2ld1CZSluKRxldRFQepGGAbmSwh507psI37AJkTCslCInghDQI/3kB4khAPGrRBSqcYgZiWACfrmTOox0oyIq5aQk1SJQDoZ2LWHyuAoIszX691ruAGx9saSch92UwsnXJGRShKTPQqawpsmMHgoKCdoH8GmDdJ8r8sPeIKDMRpgUF0BmDZspIETHVd0z6wnvR49KQMPsiA8BF+/kyEtKE+48Q2NsYqPlCSaA== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: /skv8WUv55LGEPxSgaCMybULmMP/ADzxEFyURnRtPATpXzU5Oj9nbK3pCZZwdnKiiXVgXCXTmbMaXgfz8BUMw6DRLj8q7LH3YuVNdPGnHb83C1BDGrMJb254SE2xdqyeISCNAGwSShLjuhmePAx7EGTFmIe5o+V093PHmY9mJmT2t7yDoORLDz2WZMHW9IKne92AsICUhTd9STND9LQnIl+sL26wn4aAXEP7pfZWbAoGbTObWr6l2Cy+P0gez1pO/mMmnMVk/i5xJVKpyQpdYyKtk83CIwLeN6W4/fY14tEv+eU5no2bZzF79e2u3SzoLcR9KrFAk0M14TI8qCCZ2wy75PHNk/wjnZNbKLkIslx3A9wZZK+A5dMpX5gIVckHb6C0R+r/6xITtZahbZvNvG5YLax8LQTnvc0VmOq77VfxOA1n7BydTc8OPu5IN8KegvrB30+BvSWWVa84HqoBCC3RGba6J6oA+piZqyVyV6kVPttIODxo45WyJe1swAC54cjtRTVuim0d8UFvwOCDNyuwk74S8Bn72ZNt9PlJAEGFQ5xMY34AE5EyB1P5xZYTOCGFf/ERIjAH4Iu9cJcvltSwPjSbqhCApAAvc2iwBQhX/pt7IQVDi1P7DnybrxNHt/ACx/Nkmpiz5hSvzt5pkxBeUObeLzQfuySgr6MJfW+h43YJYm4V1UxCVDrNxhU1SMOrGYnXpw3l7iBRhFf4YnDx0GmD9Uwv2lMHAR49j3ejpaFOQJw4/YBY3RdsBT/VvcTbXDnRK9sOFZtfH4LjjOLUzEktAaBe5+eeIu1ZGAFULckM+dAb+xipyniZyCt8d+fXQQwTjq6xdEBe/USPJLYRZeY7lEx6wSMBzYH/UkAt/Yb8SfN2N5PG8meCwTk8rYDdwweHwz1GXvmNfN+/RbswbqxmgCyJTau5VgUG6nNpVHMmrfrDwry64j3JpE1GjvjCZADjolBkuX5jIs2uK8NbddvlIuEqe9MuF9VcrcsZy9pEaI/4aZy5cy9NdDUkH6jnQ7YDDpZbfuyMyOWLNdIPqMsT7tSwGE/GExaQH9dAqFpVHZUMCg89CIvNcOekOv+BLsM093Vjcgr3e8bAjKNojjmSR7rkR8+IYS8yVe1nBIyG070F8PNmRYtAU6+TCpBH4Xe3XI4FsQtdmyTetB+4cQ7ICg/NZzFyr59CGeH72TdteN4ziuRqJhOPlKsOH7/X+A0IBWOl6jDZdRR1rD4HXbxpvDN5EQMMnUTgmOK/T3kOHSANk46K/kJijh5SwY9lxVfaQSsXJffNkOJ11Oyp9bzMxaJ49f0hODXCHMw= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 74bbcf0c-5468-4733-365d-08da89c4ccc0 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Aug 2022 13:45:56.9965 (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: AM8P250MB0263 Subject: [FFmpeg-devel] [PATCH 18/18] avcodec/codec_internal: Add macros for update_thread_context(_for_user) 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: WNQumefjTCcW It reduces typing: Before this patch, there were 11 callbacks that exceeded the 80 char line length limit; now there are zero. It also allows to remove ONLY_IF_THREADS_ENABLED() in libavutil/internal.h. Signed-off-by: Andreas Rheinhardt --- libavcodec/cfhd.c | 2 +- libavcodec/codec_internal.h | 12 ++++++++++++ libavcodec/ffv1dec.c | 2 +- libavcodec/h264dec.c | 4 ++-- libavcodec/hevcdec.c | 2 +- libavcodec/mimic.c | 2 +- libavcodec/mpeg12dec.c | 2 +- libavcodec/mpeg4videodec.c | 4 ++-- libavcodec/pngdec.c | 4 ++-- libavcodec/proresdec2.c | 2 +- libavcodec/rv30.c | 2 +- libavcodec/rv40.c | 2 +- libavcodec/takdec.c | 2 +- libavcodec/vp3.c | 6 +++--- libavcodec/vp8.c | 2 +- libavcodec/vp9.c | 2 +- libavcodec/wavpack.c | 2 +- libavutil/internal.h | 11 ----------- 18 files changed, 33 insertions(+), 32 deletions(-) diff --git a/libavcodec/cfhd.c b/libavcodec/cfhd.c index 9eaac9ecfd..1af9cd44a9 100644 --- a/libavcodec/cfhd.c +++ b/libavcodec/cfhd.c @@ -1464,7 +1464,7 @@ const FFCodec ff_cfhd_decoder = { .init = cfhd_init, .close = cfhd_close, FF_CODEC_DECODE_CB(cfhd_decode), - .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context), + UPDATE_THREAD_CONTEXT(update_thread_context), .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; diff --git a/libavcodec/codec_internal.h b/libavcodec/codec_internal.h index 310e243d84..2d9b4f6460 100644 --- a/libavcodec/codec_internal.h +++ b/libavcodec/codec_internal.h @@ -264,6 +264,18 @@ typedef struct FFCodec { #define CODEC_LONG_NAME(str) .p.long_name = str #endif +#if HAVE_THREADS +#define UPDATE_THREAD_CONTEXT(func) \ + .update_thread_context = (func) +#define UPDATE_THREAD_CONTEXT_FOR_USER(func) \ + .update_thread_context_for_user = (func) +#else +#define UPDATE_THREAD_CONTEXT(func) \ + .update_thread_context = NULL +#define UPDATE_THREAD_CONTEXT_FOR_USER(func) \ + .update_thread_context_for_user = NULL +#endif + #define FF_CODEC_DECODE_CB(func) \ .cb_type = FF_CODEC_CB_TYPE_DECODE, \ .cb.decode = (func) diff --git a/libavcodec/ffv1dec.c b/libavcodec/ffv1dec.c index 2fc8941362..794c58cc40 100644 --- a/libavcodec/ffv1dec.c +++ b/libavcodec/ffv1dec.c @@ -1077,7 +1077,7 @@ const FFCodec ff_ffv1_decoder = { .init = decode_init, .close = ff_ffv1_close, FF_CODEC_DECODE_CB(decode_frame), - .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context), + UPDATE_THREAD_CONTEXT(update_thread_context), .p.capabilities = AV_CODEC_CAP_DR1 /*| AV_CODEC_CAP_DRAW_HORIZ_BAND*/ | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_SLICE_THREADS, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | diff --git a/libavcodec/h264dec.c b/libavcodec/h264dec.c index 3cef3f39f5..8f56f3ff92 100644 --- a/libavcodec/h264dec.c +++ b/libavcodec/h264dec.c @@ -1105,8 +1105,8 @@ const FFCodec ff_h264_decoder = { .caps_internal = FF_CODEC_CAP_EXPORTS_CROPPING | FF_CODEC_CAP_ALLOCATE_PROGRESS | FF_CODEC_CAP_INIT_CLEANUP, .flush = h264_decode_flush, - .update_thread_context = ONLY_IF_THREADS_ENABLED(ff_h264_update_thread_context), - .update_thread_context_for_user = ONLY_IF_THREADS_ENABLED(ff_h264_update_thread_context_for_user), + UPDATE_THREAD_CONTEXT(ff_h264_update_thread_context), + UPDATE_THREAD_CONTEXT_FOR_USER(ff_h264_update_thread_context_for_user), .p.profiles = NULL_IF_CONFIG_SMALL(ff_h264_profiles), .p.priv_class = &h264_class, }; diff --git a/libavcodec/hevcdec.c b/libavcodec/hevcdec.c index 91bafa2114..90961f87be 100644 --- a/libavcodec/hevcdec.c +++ b/libavcodec/hevcdec.c @@ -3854,7 +3854,7 @@ const FFCodec ff_hevc_decoder = { .close = hevc_decode_free, FF_CODEC_DECODE_CB(hevc_decode_frame), .flush = hevc_decode_flush, - .update_thread_context = ONLY_IF_THREADS_ENABLED(hevc_update_thread_context), + UPDATE_THREAD_CONTEXT(hevc_update_thread_context), .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DELAY | AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS, .caps_internal = FF_CODEC_CAP_EXPORTS_CROPPING | diff --git a/libavcodec/mimic.c b/libavcodec/mimic.c index c506a42322..1d4f2b85c1 100644 --- a/libavcodec/mimic.c +++ b/libavcodec/mimic.c @@ -446,7 +446,7 @@ const FFCodec ff_mimic_decoder = { .close = mimic_decode_end, FF_CODEC_DECODE_CB(mimic_decode_frame), .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS, - .update_thread_context = ONLY_IF_THREADS_ENABLED(mimic_decode_update_thread_context), + UPDATE_THREAD_CONTEXT(mimic_decode_update_thread_context), .caps_internal = FF_CODEC_CAP_ALLOCATE_PROGRESS | FF_CODEC_CAP_INIT_CLEANUP, }; diff --git a/libavcodec/mpeg12dec.c b/libavcodec/mpeg12dec.c index 2aa5bc776d..7133696f3c 100644 --- a/libavcodec/mpeg12dec.c +++ b/libavcodec/mpeg12dec.c @@ -2880,7 +2880,7 @@ const FFCodec ff_mpeg1video_decoder = { .caps_internal = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM, .flush = flush, .p.max_lowres = 3, - .update_thread_context = ONLY_IF_THREADS_ENABLED(mpeg_decode_update_thread_context), + UPDATE_THREAD_CONTEXT(mpeg_decode_update_thread_context), .hw_configs = (const AVCodecHWConfigInternal *const []) { #if CONFIG_MPEG1_NVDEC_HWACCEL HWACCEL_NVDEC(mpeg1), diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c index 8eb81688ef..4dbf37afe5 100644 --- a/libavcodec/mpeg4videodec.c +++ b/libavcodec/mpeg4videodec.c @@ -3686,8 +3686,8 @@ const FFCodec ff_mpeg4_decoder = { .p.max_lowres = 3, .p.pix_fmts = ff_h263_hwaccel_pixfmt_list_420, .p.profiles = NULL_IF_CONFIG_SMALL(ff_mpeg4_video_profiles), - .update_thread_context = ONLY_IF_THREADS_ENABLED(mpeg4_update_thread_context), - .update_thread_context_for_user = ONLY_IF_THREADS_ENABLED(mpeg4_update_thread_context_for_user), + UPDATE_THREAD_CONTEXT(mpeg4_update_thread_context), + UPDATE_THREAD_CONTEXT_FOR_USER(mpeg4_update_thread_context_for_user), .p.priv_class = &mpeg4_class, .hw_configs = (const AVCodecHWConfigInternal *const []) { #if CONFIG_MPEG4_NVDEC_HWACCEL diff --git a/libavcodec/pngdec.c b/libavcodec/pngdec.c index 9e7d9b589f..582953d17b 100644 --- a/libavcodec/pngdec.c +++ b/libavcodec/pngdec.c @@ -1722,7 +1722,7 @@ const FFCodec ff_apng_decoder = { .init = png_dec_init, .close = png_dec_end, FF_CODEC_DECODE_CB(decode_frame_apng), - .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context), + UPDATE_THREAD_CONTEXT(update_thread_context), .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS /*| AV_CODEC_CAP_DRAW_HORIZ_BAND*/, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_ALLOCATE_PROGRESS | @@ -1740,7 +1740,7 @@ const FFCodec ff_png_decoder = { .init = png_dec_init, .close = png_dec_end, FF_CODEC_DECODE_CB(decode_frame_png), - .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context), + UPDATE_THREAD_CONTEXT(update_thread_context), .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS /*| AV_CODEC_CAP_DRAW_HORIZ_BAND*/, .caps_internal = FF_CODEC_CAP_SKIP_FRAME_FILL_PARAM | FF_CODEC_CAP_ALLOCATE_PROGRESS | FF_CODEC_CAP_INIT_CLEANUP | diff --git a/libavcodec/proresdec2.c b/libavcodec/proresdec2.c index 68b29deadb..5ec579b994 100644 --- a/libavcodec/proresdec2.c +++ b/libavcodec/proresdec2.c @@ -878,7 +878,7 @@ const FFCodec ff_prores_decoder = { .init = decode_init, .close = decode_close, FF_CODEC_DECODE_CB(decode_frame), - .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context), + UPDATE_THREAD_CONTEXT(update_thread_context), .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_FRAME_THREADS, .p.profiles = NULL_IF_CONFIG_SMALL(ff_prores_profiles), .hw_configs = (const AVCodecHWConfigInternal *const []) { diff --git a/libavcodec/rv30.c b/libavcodec/rv30.c index 0361e75580..be62577f99 100644 --- a/libavcodec/rv30.c +++ b/libavcodec/rv30.c @@ -307,6 +307,6 @@ const FFCodec ff_rv30_decoder = { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, - .update_thread_context = ONLY_IF_THREADS_ENABLED(ff_rv34_decode_update_thread_context), + UPDATE_THREAD_CONTEXT(ff_rv34_decode_update_thread_context), .caps_internal = FF_CODEC_CAP_ALLOCATE_PROGRESS, }; diff --git a/libavcodec/rv40.c b/libavcodec/rv40.c index 728a04062a..75849b173e 100644 --- a/libavcodec/rv40.c +++ b/libavcodec/rv40.c @@ -590,6 +590,6 @@ const FFCodec ff_rv40_decoder = { AV_PIX_FMT_YUV420P, AV_PIX_FMT_NONE }, - .update_thread_context = ONLY_IF_THREADS_ENABLED(ff_rv34_decode_update_thread_context), + UPDATE_THREAD_CONTEXT(ff_rv34_decode_update_thread_context), .caps_internal = FF_CODEC_CAP_ALLOCATE_PROGRESS, }; diff --git a/libavcodec/takdec.c b/libavcodec/takdec.c index f7fb34617d..68ad1e9ed7 100644 --- a/libavcodec/takdec.c +++ b/libavcodec/takdec.c @@ -946,7 +946,7 @@ const FFCodec ff_tak_decoder = { .init = tak_decode_init, .close = tak_decode_close, FF_CODEC_DECODE_CB(tak_decode_frame), - .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context), + UPDATE_THREAD_CONTEXT(update_thread_context), .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_CHANNEL_CONF, .p.sample_fmts = (const enum AVSampleFormat[]) { AV_SAMPLE_FMT_U8P, AV_SAMPLE_FMT_S16P, diff --git a/libavcodec/vp3.c b/libavcodec/vp3.c index 58dd81cd61..31775455a4 100644 --- a/libavcodec/vp3.c +++ b/libavcodec/vp3.c @@ -3179,7 +3179,7 @@ const FFCodec ff_theora_decoder = { .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_FRAME_THREADS, .flush = vp3_decode_flush, - .update_thread_context = ONLY_IF_THREADS_ENABLED(vp3_update_thread_context), + UPDATE_THREAD_CONTEXT(vp3_update_thread_context), .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_EXPORTS_CROPPING | FF_CODEC_CAP_ALLOCATE_PROGRESS, }; @@ -3197,7 +3197,7 @@ const FFCodec ff_vp3_decoder = { .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_FRAME_THREADS, .flush = vp3_decode_flush, - .update_thread_context = ONLY_IF_THREADS_ENABLED(vp3_update_thread_context), + UPDATE_THREAD_CONTEXT(vp3_update_thread_context), .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_ALLOCATE_PROGRESS, }; @@ -3215,7 +3215,7 @@ const FFCodec ff_vp4_decoder = { .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_DRAW_HORIZ_BAND | AV_CODEC_CAP_FRAME_THREADS, .flush = vp3_decode_flush, - .update_thread_context = ONLY_IF_THREADS_ENABLED(vp3_update_thread_context), + UPDATE_THREAD_CONTEXT(vp3_update_thread_context), .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | FF_CODEC_CAP_ALLOCATE_PROGRESS, }; diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c index 6545002fd7..0e16e75faa 100644 --- a/libavcodec/vp8.c +++ b/libavcodec/vp8.c @@ -3003,7 +3003,7 @@ const FFCodec ff_vp8_decoder = { AV_CODEC_CAP_SLICE_THREADS, .caps_internal = FF_CODEC_CAP_ALLOCATE_PROGRESS, .flush = vp8_decode_flush, - .update_thread_context = ONLY_IF_THREADS_ENABLED(vp8_decode_update_thread_context), + UPDATE_THREAD_CONTEXT(vp8_decode_update_thread_context), .hw_configs = (const AVCodecHWConfigInternal *const []) { #if CONFIG_VP8_VAAPI_HWACCEL HWACCEL_VAAPI(vp8), diff --git a/libavcodec/vp9.c b/libavcodec/vp9.c index acbbce5624..029e9156c5 100644 --- a/libavcodec/vp9.c +++ b/libavcodec/vp9.c @@ -1882,7 +1882,7 @@ const FFCodec ff_vp9_decoder = { FF_CODEC_CAP_SLICE_THREAD_HAS_MF | FF_CODEC_CAP_ALLOCATE_PROGRESS, .flush = vp9_decode_flush, - .update_thread_context = ONLY_IF_THREADS_ENABLED(vp9_decode_update_thread_context), + UPDATE_THREAD_CONTEXT(vp9_decode_update_thread_context), .p.profiles = NULL_IF_CONFIG_SMALL(ff_vp9_profiles), .bsfs = "vp9_superframe_split", .hw_configs = (const AVCodecHWConfigInternal *const []) { diff --git a/libavcodec/wavpack.c b/libavcodec/wavpack.c index a326b06e94..7aa1f65e17 100644 --- a/libavcodec/wavpack.c +++ b/libavcodec/wavpack.c @@ -1707,7 +1707,7 @@ const FFCodec ff_wavpack_decoder = { .close = wavpack_decode_end, FF_CODEC_DECODE_CB(wavpack_decode_frame), .flush = wavpack_decode_flush, - .update_thread_context = ONLY_IF_THREADS_ENABLED(update_thread_context), + UPDATE_THREAD_CONTEXT(update_thread_context), .p.capabilities = AV_CODEC_CAP_DR1 | AV_CODEC_CAP_FRAME_THREADS | AV_CODEC_CAP_SLICE_THREADS | AV_CODEC_CAP_CHANNEL_CONF, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP | diff --git a/libavutil/internal.h b/libavutil/internal.h index 40072d4e30..c9e30bc5e9 100644 --- a/libavutil/internal.h +++ b/libavutil/internal.h @@ -115,17 +115,6 @@ # define NULL_IF_CONFIG_SMALL(x) x #endif -/** - * Return NULL if a threading library has not been enabled. - * Used to disable threading functions in AVCodec definitions - * when not needed. - */ -#if HAVE_THREADS -# define ONLY_IF_THREADS_ENABLED(x) x -#else -# define ONLY_IF_THREADS_ENABLED(x) NULL -#endif - /** * Log a generic warning message about a missing feature. *