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 16092474B2 for ; Fri, 8 Sep 2023 14:06:34 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5D5E768C835; Fri, 8 Sep 2023 17:06:31 +0300 (EEST) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2081.outbound.protection.outlook.com [40.92.90.81]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9C32968C857 for ; Fri, 8 Sep 2023 17:06:24 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jQ3Kv3nlp/URllMNmTKLyjwVjlkCOqtc//+IgIZ6V1ftLIdhg2ozw/Dpk5zTSuM+1QwMP46CBg7Wb6tR8HMHUkIfQiRE+0xr0nCd6mghiBdWkqDNZoHBOVM3mZZjJ5L9Uit7Znpq34MG+aD4OTgn3ZiX1wDXRAYFkABsdqym6K3IjqhUrac47dJGCPAGq4/B3d4XncYkh1RjG037WZP8OxFMxqGcVL/IiyddfoAFEwMsf1dyZy57Z9tyhB2YdxuT0qthSxw81tv8099kKJSPn41Vxt0piVrJFzXl4x6rWlwk52SWP60GPWqLcJb0irr0ICQPtRlaQTThBtrS7I3/nQ== 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=U/jgMfNO9W/7gAywB0rgleTLoivF3ubwu50wziSxK5I=; b=fSzF6a+h+K6jfcOcvMAg6nJwWIgWDt7krv6XzUeRGgUyMf6qKQhDS493W+U63ttvJnfUn9vzBxd4Js9M+ixX33ZtFKjeOB7Wr7FxseQ1D9tYssxY+rbppOiBtqIRoQwnC1vScpX5RExm1I+pS9savPc65q5uN2X6MvX5d/TMjoS6zz3pWOjWKpFC9cYYEb/Pdrh/8ZKEufNDNn7U9aaJZlwWiaAnubbbskFwu5fa0rcYYXINQzmrmbloyvbD0XqLnyAAZ9dWcoedRQVUo1B7Pb2M/FQNPPFLmKhomjl+KHb1cvXjfYXDQD7kgltSjVRXI1NSP4eXBU6DqKyCm7rBSA== 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=U/jgMfNO9W/7gAywB0rgleTLoivF3ubwu50wziSxK5I=; b=iucfqjaKBhWbwCbZkPryhSWPOrjhHFMsxGmgSruyjZAEbemb7SZRjPq4XbtWDsVX5I62QoI7bCt2IS8yq2Qt+tNsieOTz9bimMYuV/xYizS/Uqmf72ANxZL+3Oo2xptw5Tbq5ehjcl3FWRcc6fwAtgXkQKe5BOea+UsMpFbLurnMn/tp58Syeo+ZvnPMJzTtVwLEzqAKFTPh96UUlZa104Ouj8nIOvBmVHjuGoep0eSqYg/XRnFEjM7qgLrKC/QIDdHxuynPqn1cj+cm29SSzeKYFDlbkgjzkCJZHu/u8Qt/k1GF4zKQzgfy4ltL2PXDlbNIBNgsnNg2K1s10y6ONw== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by DU2P250MB0206.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:277::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6768.30; Fri, 8 Sep 2023 14:06:23 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::5e01:aea5:d3a8:cafa]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::5e01:aea5:d3a8:cafa%3]) with mapi id 15.20.6768.029; Fri, 8 Sep 2023 14:06:23 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 8 Sep 2023 16:07:23 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [aejDTxYUHz83XHq7iFVwFc8EXvxd0q5K] X-ClientProxiedBy: ZR2P278CA0069.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:52::15) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20230908140727.2150730-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|DU2P250MB0206:EE_ X-MS-Office365-Filtering-Correlation-Id: 9e2a5a69-b049-4250-9a64-08dbb074c874 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kNXB5aXFlnyztc4aGl8ryyIKSYGhQnP7IJX2h7q292z5jnbzq1GDVxx05ZwVCmiSdzyVBaVucKHEHJRRTZmltL9dzaa9SY/bu1M15IgM2usTIFgvF4v23m9+UhN4uQifiiFcbn56aKVs+sIMUUZBHrlMEkKxq78qdSaY9pLsSymNWvcQeNgd6OqbwZgxr4ddtOaq7RLsnVByk6UTA8V0/ut84J3CXhIsTBjiQO2LRB0vr+8B3xWR11yt23UZZDde04eEhf2+eWApSL0YZyI7HFq2Fwxc3QG6UdLqHov6EP7D8tlEUjYSSsohPJTxMPcjfM72T6zRTSGWFsajo0cvyyn0JKNRmNNnqD3YtioQJVc39gK8mPJeH46QCDyMgYmodgr54v0HsPIX0hDBtku0+WWcf49Dv6ErIQ2P4t+nf21zPG5kWTTmcviFyxM5GYuKQ9JvQQ8wSL6N3CrdP0zd4e8NRHO2cMgZlMtsj4IDrZX6+tb5jq1U+H97RqpKL7e8eFHSvkPxv5/XCnyz2nnOzuay0cH1+xbGtcgqHyc6S3e8hJGwxxLeV3xmuWsq1ctXceR584o3MAHsmQKLcZ/eSkm+fzpvB4psqMCfEY2nAIEmJPVcapBfYtA7s2nrL19K X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?q30ABc59vT7arb+npaKC4we/gXpABYhB1a6x5qHJYJcClmisynRfb8STWy/i?= =?us-ascii?Q?5/iEn6VEbBotdrYHssHqW3fAFtrf4VjFeSutcPTN9kPgT2jydxWO0qLUK3JF?= =?us-ascii?Q?UKmNjHBH5B+85SCg4+yWCooVJ6q2jubYefE4wUiMr6jT+Klu2nVzaAYzu1wK?= =?us-ascii?Q?oVAJRvXIux+p29I1KREYeVtp4axfAIhR6LBkKVAWb26dSYxROzJNJEImfHPQ?= =?us-ascii?Q?CXSjR9b3NG8QRvKq8tsr/fAE7UoSdYUAEothgdlDAppyw9sle9aUdjQ1PBJF?= =?us-ascii?Q?BYeMqDQhuGQSvnJf2nPn7PxITwNoAUHl5b2yxb4N4YHP5Y0UH4scSruU0U8Q?= =?us-ascii?Q?tpjTAIiJUCZDf/RIrlNzauG9qWJzUjBqBt8tnCm7pG47hR4zIyDuX0yVR2Xy?= =?us-ascii?Q?stZiVqR5O9xN/U0q/npDCEVKJSjSHpPhQlzCF9VrP2Tnj5PzOjjlQiEbuiIg?= =?us-ascii?Q?bAhOIfrg3FlvuiMfm+OCap4b06fsowELIoEUunnMpn6KlW8SEyU8Hpf3TFUq?= =?us-ascii?Q?SpU/LBlmg9FAZ0Gewen5KUFe7bbPEfSirIZxXB2z51STMBcfmdfEXc6QtK4z?= =?us-ascii?Q?4XU4QRNDNiopDnMfGKbe+ezYOc6W1vn09UcVunCLkwTbxr8FxARJwLrcVJDz?= =?us-ascii?Q?Iyfohnhuk/Nt9q8zYf7INt/voFzEnh24m10J/SqaKmkrM18dH9qZOBfrGhKW?= =?us-ascii?Q?vbOrpBQ5qZmywq69/1X7yhIv+6yJTL0QDagUBLL4u/ryC+yL5G+HFT6VA6Ld?= =?us-ascii?Q?8KrL+zIDJ1I2RYK6hYxBnNXDa/taBdoMqhK7yht6+AzuWJSSOknclCplrsRG?= =?us-ascii?Q?t0JTyIHfNDSSkzpPl1hUsr0Ex75TwKPN3lToD5k28Bv9aREUfQTwn02kmubt?= =?us-ascii?Q?q2nE7JDUn81XXOrA7oMEjnxcUdE1EmBQsq6sE6YStCc93CV3r6TV1O1wjGzf?= =?us-ascii?Q?rvY1DmgUaCQ3Brh2AiMFoESoq12zCl4SzAkznHT6URWTax4f++FxBy7roFbU?= =?us-ascii?Q?0GRXmYvbEfSAObb/pIKtKEZwDH5Zkb3cSuNxeLxaS+x6jk9wbqMsinTyuCzf?= =?us-ascii?Q?4XNh2HzFmzXaX/OVM3hz+v981NDhttuMPzhItZoS1GPh0fMC1iLoRdgTvdUz?= =?us-ascii?Q?7yi93Rq6ko4BCUM98dt5QhvnGL6QBVVl9HTZ7MHYhPLJNi+OfsjPgQcWl1X6?= =?us-ascii?Q?bFmGRDG0m1aDdkY3lQjIjqLt0NzuAPvGsRRWgRg3kC92dQ9iSPJ99crI9gzW?= =?us-ascii?Q?MB9XK0l0vuFZnNwMIUPO?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9e2a5a69-b049-4250-9a64-08dbb074c874 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Sep 2023 14:06:23.1069 (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: DU2P250MB0206 Subject: [FFmpeg-devel] [PATCH 3/7] avcodec/idctdsp: Avoid inclusion of avcodec.h 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 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: Not every user of idctdsp.h wants to initialize an IDCTDSPContext; e.g. the proresdsp only uses ff_init_scantable_permutation() and the IDCT permutation enum; similarly for cavsdsp and wmv2dsp. Using a forward declaration here avoids an avcodec.h dependency in the relevant files. Signed-off-by: Andreas Rheinhardt --- libavcodec/alpha/idctdsp_alpha.c | 1 + libavcodec/idctdsp.h | 21 +++++++++++---------- libavcodec/ppc/idctdsp.c | 1 + libavcodec/rtjpeg.c | 2 +- libavcodec/rtjpeg.h | 4 +++- tests/checkasm/idctdsp.c | 1 + 6 files changed, 18 insertions(+), 12 deletions(-) diff --git a/libavcodec/alpha/idctdsp_alpha.c b/libavcodec/alpha/idctdsp_alpha.c index bd43842535..ff770c15fd 100644 --- a/libavcodec/alpha/idctdsp_alpha.c +++ b/libavcodec/alpha/idctdsp_alpha.c @@ -19,6 +19,7 @@ */ #include "libavutil/attributes.h" +#include "libavcodec/avcodec.h" #include "libavcodec/idctdsp.h" #include "idctdsp_alpha.h" #include "asm.h" diff --git a/libavcodec/idctdsp.h b/libavcodec/idctdsp.h index 7224463349..c840a5186f 100644 --- a/libavcodec/idctdsp.h +++ b/libavcodec/idctdsp.h @@ -19,11 +19,12 @@ #ifndef AVCODEC_IDCTDSP_H #define AVCODEC_IDCTDSP_H +#include #include #include "config.h" -#include "avcodec.h" +struct AVCodecContext; enum idct_permutation_type { FF_IDCT_PERM_NONE, @@ -95,23 +96,23 @@ void ff_put_pixels_clamped_c(const int16_t *block, uint8_t *av_restrict pixels, void ff_add_pixels_clamped_c(const int16_t *block, uint8_t *av_restrict pixels, ptrdiff_t line_size); -void ff_idctdsp_init(IDCTDSPContext *c, AVCodecContext *avctx); +void ff_idctdsp_init(IDCTDSPContext *c, struct AVCodecContext *avctx); -void ff_idctdsp_init_aarch64(IDCTDSPContext *c, AVCodecContext *avctx, +void ff_idctdsp_init_aarch64(IDCTDSPContext *c, struct AVCodecContext *avctx, unsigned high_bit_depth); -void ff_idctdsp_init_alpha(IDCTDSPContext *c, AVCodecContext *avctx, +void ff_idctdsp_init_alpha(IDCTDSPContext *c, struct AVCodecContext *avctx, unsigned high_bit_depth); -void ff_idctdsp_init_arm(IDCTDSPContext *c, AVCodecContext *avctx, +void ff_idctdsp_init_arm(IDCTDSPContext *c, struct AVCodecContext *avctx, unsigned high_bit_depth); -void ff_idctdsp_init_ppc(IDCTDSPContext *c, AVCodecContext *avctx, +void ff_idctdsp_init_ppc(IDCTDSPContext *c, struct AVCodecContext *avctx, unsigned high_bit_depth); -void ff_idctdsp_init_riscv(IDCTDSPContext *c, AVCodecContext *avctx, +void ff_idctdsp_init_riscv(IDCTDSPContext *c, struct AVCodecContext *avctx, unsigned high_bit_depth); -void ff_idctdsp_init_x86(IDCTDSPContext *c, AVCodecContext *avctx, +void ff_idctdsp_init_x86(IDCTDSPContext *c, struct AVCodecContext *avctx, unsigned high_bit_depth); -void ff_idctdsp_init_mips(IDCTDSPContext *c, AVCodecContext *avctx, +void ff_idctdsp_init_mips(IDCTDSPContext *c, struct AVCodecContext *avctx, unsigned high_bit_depth); -void ff_idctdsp_init_loongarch(IDCTDSPContext *c, AVCodecContext *avctx, +void ff_idctdsp_init_loongarch(IDCTDSPContext *c, struct AVCodecContext *avctx, unsigned high_bit_depth); #endif /* AVCODEC_IDCTDSP_H */ diff --git a/libavcodec/ppc/idctdsp.c b/libavcodec/ppc/idctdsp.c index 29f625a01c..a7acbc5ead 100644 --- a/libavcodec/ppc/idctdsp.c +++ b/libavcodec/ppc/idctdsp.c @@ -40,6 +40,7 @@ #include "libavutil/ppc/cpu.h" #include "libavutil/ppc/util_altivec.h" +#include "libavcodec/avcodec.h" #include "libavcodec/idctdsp.h" #if HAVE_ALTIVEC diff --git a/libavcodec/rtjpeg.c b/libavcodec/rtjpeg.c index 8e02bce2e8..734e3875da 100644 --- a/libavcodec/rtjpeg.c +++ b/libavcodec/rtjpeg.c @@ -167,7 +167,7 @@ void ff_rtjpeg_decode_init(RTJpegContext *c, int width, int height, c->h = height; } -void ff_rtjpeg_init(RTJpegContext *c, AVCodecContext *avctx) +void ff_rtjpeg_init(RTJpegContext *c, struct AVCodecContext *avctx) { int i; diff --git a/libavcodec/rtjpeg.h b/libavcodec/rtjpeg.h index d4dc074408..14befb5489 100644 --- a/libavcodec/rtjpeg.h +++ b/libavcodec/rtjpeg.h @@ -24,6 +24,7 @@ #include +#include "libavutil/frame.h" #include "libavutil/mem_internal.h" #include "idctdsp.h" @@ -39,7 +40,8 @@ typedef struct RTJpegContext { DECLARE_ALIGNED(16, int16_t, block)[64]; } RTJpegContext; -void ff_rtjpeg_init(RTJpegContext *c, AVCodecContext *avctx); +struct AVCodecContext; +void ff_rtjpeg_init(RTJpegContext *c, struct AVCodecContext *avctx); void ff_rtjpeg_decode_init(RTJpegContext *c, int width, int height, const uint32_t *lquant, const uint32_t *cquant); diff --git a/tests/checkasm/idctdsp.c b/tests/checkasm/idctdsp.c index c06e607d99..05aeddea45 100644 --- a/tests/checkasm/idctdsp.c +++ b/tests/checkasm/idctdsp.c @@ -22,6 +22,7 @@ #include "checkasm.h" +#include "libavcodec/avcodec.h" #include "libavcodec/idctdsp.h" #include "libavutil/common.h" -- 2.34.1 _______________________________________________ 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".