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 6B2B048E5D for ; Wed, 28 Feb 2024 16:17:00 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9CBAA68CD59; Wed, 28 Feb 2024 18:16:58 +0200 (EET) Received: from EUR05-VI1-obe.outbound.protection.outlook.com (mail-vi1eur05olkn2042.outbound.protection.outlook.com [40.92.90.42]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E6E3068CCAF for ; Wed, 28 Feb 2024 18:16:52 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V0YJDb6INlLDU3NiHT9kZTCjYgszQwVEgRIDCCKZlBpndgtQ0NkfT2U4o3YHBPCRTDkK94Zl181tssQM6BoAaG3mTlH7HuC2kzyvvGj3XP1tPXceMpDmfz4n5JClQIbpNjhur+6hwaaNBVWoVD6O/wxmqkH7HTdtohkQ4MtNLCrvtCSpp7bzzQ/lByDI/+Zm4YpDzjHZb8Ta/RHi3BFY2UxdRC/zDrHX1Jm2+cQXcTIK7QeR5epebU/PjNbF4cK4ve5QpN4UDFbDeB0zpP40J9bF5cMS6UusRFpcAyK1KxodIETM1J/xtl6u8mDDIaA3TOzk+or/nY9a4RR9Ej2xHA== 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=ziENMrsj2mVkhNxXrHXBeard+eG8QBww7kvGOdjdEDk=; b=bAtZ13ikR2kIvkawlPRZ2f0GLfHDkop00JYVLttTW/95gL8n783bWCNfwV8pjHjPbpZ7R1+5vSBzawSP9obMBIL5XwkrTfZDhg/zOoEy8MS3yquQQf8/9m0nc9Q0eNCYJf+3QJIBiUCqXA7q7Pn0WtoDHhjgd3kYA7O0V9qORbd6QCWAGDYWU73smpI1S9O9ChDWhFA3rgtleMoEMefVFblYEv/+hvoxQsv+ZGvxSQCNDpoZPSg0NY28w5YjiJtCdAaiSqaZWgWumhH/L36ir3gQ2Z8m0PzKDsnvLfUyiEm3N4Hu6Q4YZ7u8hrazb2SvtqrMc2kxgLS/SFnHK0ofVw== 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=ziENMrsj2mVkhNxXrHXBeard+eG8QBww7kvGOdjdEDk=; b=L7sehdFTx2TwGHMDba5Ii+BunxBpZDaNz/Pf3ger65fr3XAW8i1OY0VJQqN/cOiQou9e8IpAm8apILjLJrJBX5rqnUNhcXlOmDDOTQq8YDNAmQa42IAIVvTSnQt7wvpRUvsiTLvFhzLsHXILjt3YKETLeIBH8XGvCfw9w9GvE91Dw4OG4bu6mZ/WX9q/sElNCo+kIXRQjrwZTsLWpjRyw7MZEb0kM+7Co5LEHEUZtL5U8retaz0XVAiWkv+I6BTxzX37mNWD5M0QTqmZ0YOYNUoC0nW7FaksVgYzlGhYEQF1PEtwzBLiiPBDtBRuL6NucfwXKn6ijqjUZqUJsinIpQ== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AS4P250MB0512.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:4b7::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7316.34; Wed, 28 Feb 2024 16:16:51 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d%5]) with mapi id 15.20.7316.023; Wed, 28 Feb 2024 16:16:51 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 28 Feb 2024 17:18:40 +0100 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [+qPzhlcT/tv3keYEf11EOnh1v3OJ3MLDwiy6gKKAJB4=] X-ClientProxiedBy: ZR2P278CA0067.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:52::14) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20240228161844.2187053-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AS4P250MB0512:EE_ X-MS-Office365-Filtering-Correlation-Id: 7235c1cb-40ee-4f0e-f5fe-08dc3878abe0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kq7TMaSOopumEHq0pwPZfxWSecGE74ObBJndVHq6LLYujI2e80gON291IKH4JFQ007twef2ShYltTvHB2oXjRVG8a3IRwfqRhpEBRU9rW/pqSib6N3i2fHp2pNXKsH4DzEBHU1PWVqZo2nYkA72Bbz2qPLOTVQ1EdwvO3/oC6uw4DoDDmfGsgQ5nyZNWXa7unh5BqN409eem4oHHOXnpnWecDzL4aS3jYdsTrQfzx2w8eyOoLPN7+Sk1c1JecDqY5xi6fCSVNgQ7tvakmmDFyWgeCkdeiCfHGBXZ14lgCov8YJler4ixvjduFcZvOE9/SBh3YAQeQMyIJqGnFZooIpFHzcJo32zi664zU5O3rKHcYAN5hhB7Io/dp5i2FUFZoXGZnnwXP3gjC5rzKLmOMfSdhM+zaLsJCrQDreEGbACn3dZgeB0kzfxy19RRNgtH3AZ2k/PXJDT89XwUyU0XFJuh5tksUPzSrbrn+YjEypeVQzqf4rwICAXJrPPH3wFIC05oN8qNu5XT4qXs1uinCWauxL+b1wkONXdfApviRi8Lv0fu2PecVNIGLvbxmcqXjdHt2G5Q6+8aXy2J4WvQB9BV7bODC2hUtDcCgPMmEUV0ImXxwXSRMjWrWaw3cmNz X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?QqqWMFr+YPw1wGXvd1j5uahvQpi7EJC3/d4fhnVGboVNBeiGO66C+G1t9mVE?= =?us-ascii?Q?GDHx/s1sQafB1hr6roD6N+2YOB1HTmTBN3KN+/5oVCyERBWil5cyZwimajPO?= =?us-ascii?Q?NbfNY19kNZtei/1GY8PQPx1yD7LpXmStMUQ+zoCkIfOSwGBAwKCxJiYioNMy?= =?us-ascii?Q?73ffneatxUcP3SAvO9bSbvyhBIvFCE/pfMXJKRNJR6HlX+97KBdOPDSMwGpW?= =?us-ascii?Q?su68Cy6j35sqTgXjPIOxV10Lp0OVQ7hcO0CGj9DrGqz9EPLqiKEhsBXG3UHU?= =?us-ascii?Q?6Xp8tFAzdBb9sPiFT+2G//xhoAGFKvkNDPnpwdl3lee+cW8Mya5yhmlHW8yx?= =?us-ascii?Q?82z+eQz+h2BKtp8fgtt9UsKZL+cnYeCPIhmFPdyYnEjO6Ea4OjSk736eR3w/?= =?us-ascii?Q?RFCWk9O7spA1EXgLM9WiVYLgZdAKse1mtp7jM4HlzmPLFmBc1j/U7shAzBv6?= =?us-ascii?Q?YelMKrG2H4hhsJXAMORAzdc+CtUGcWfk/ruyrbSzsFocyiaW1TsrUFBPEVsB?= =?us-ascii?Q?eATCYAW+OdCEpN+4hEDFnfa/Wfd8DL7Agp6xPd1SuQ6sLkS+TqCi4utjxJSM?= =?us-ascii?Q?2ZrbW2I0XMcEop0/07O0g7HbjElhUsIXu3Uc+bWknV7m1VTh//hcMOQQHZO0?= =?us-ascii?Q?8hjGCCpAJ6FzMufjbb6FNLOZz5+u6JhxLl0/GabdPODzBj/KO+gmTN236JdS?= =?us-ascii?Q?Tkn8+qzTS8yJpjrBhyKfHeFqwy0JaghVhjEe6I4cu6D6mdBGY9dVgZ5YrbMW?= =?us-ascii?Q?PBDON9Bp7o/08B2qHmrS0mYl7gd2L9YNM85P1go449N+QCAl7QylO6bLXGB8?= =?us-ascii?Q?TVRfGx2T+hVEH66O10w1BgJYwgYGbZE5mDdnJw+Y4XJ6J+eta/isg2ZuXOl2?= =?us-ascii?Q?bjq+scwYbmjOPjDc6J/mk4f/Ztcr2opG4T57/UB25pUQ4fFmyC6LB8ELbnQn?= =?us-ascii?Q?kmpGwD9qNj97s2Hjjx+VusN2GHEiXNpXxbDvn7j57PvLPmjKt+injBI3kp6W?= =?us-ascii?Q?KgQyOFCpwuYoQBmKvBgkiVjf176FLN1q057FkdiOdGS41xtCJEwvcYqsQrIo?= =?us-ascii?Q?oQp9hW3DpxCyD2jNOHAs8y8pF5CShM+qLB6epP+ID3yVZe+lZEVHUJp4xXHS?= =?us-ascii?Q?tziZw8Vrh0EoCZDUXzB5usTyAC4GKZi1vMR7FMjcLhBTbwooiziOrnxQ4nva?= =?us-ascii?Q?vmCvca9yMF4g1wLzHowDLr8p0xNVwYcUASYDzg5DI2mwyBcQis7h3hV5O6Uv?= =?us-ascii?Q?FFqB61gaTixLvUPAM3Mv19TU8GRvBy7xlLD6ccIAzQ=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7235c1cb-40ee-4f0e-f5fe-08dc3878abe0 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Feb 2024 16:16:51.4880 (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: AS4P250MB0512 Subject: [FFmpeg-devel] [PATCH 2/6] avcodec/svq1enc: Move initializing DSP out of svq1enc.c 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: Otherwise svq1enc.o gets pulled in by the svq1encdsp checkasm test and it in turn pulls the rest of lavc in. Besides being bad size-wise this also has the downside that it pulls in avpriv_(cga|vga16)_font from libavutil which are marked as being imported from another library when building libavcodec as a DLL and this breaks checkasm because it links both lavc and lavu statically. Signed-off-by: Andreas Rheinhardt --- libavcodec/svq1enc.c | 23 ----------------------- libavcodec/svq1encdsp.h | 26 +++++++++++++++++++++++++- 2 files changed, 25 insertions(+), 24 deletions(-) diff --git a/libavcodec/svq1enc.c b/libavcodec/svq1enc.c index 5675ae5218..77dbf07275 100644 --- a/libavcodec/svq1enc.c +++ b/libavcodec/svq1enc.c @@ -137,16 +137,6 @@ static void svq1_write_header(SVQ1EncContext *s, PutBitContext *pb, int frame_ty #define QUALITY_THRESHOLD 100 #define THRESHOLD_MULTIPLIER 0.6 -static int ssd_int8_vs_int16_c(const int8_t *pix1, const int16_t *pix2, - intptr_t size) -{ - int score = 0, i; - - for (i = 0; i < size; i++) - score += (pix1[i] - pix2[i]) * (pix1[i] - pix2[i]); - return score; -} - static int encode_block(SVQ1EncContext *s, uint8_t *src, uint8_t *ref, uint8_t *decoded, int stride, unsigned level, int threshold, int lambda, int intra) @@ -760,16 +750,3 @@ const FFCodec ff_svq1_encoder = { AV_PIX_FMT_NONE }, .caps_internal = FF_CODEC_CAP_INIT_CLEANUP, }; - -void ff_svq1enc_init(SVQ1EncDSPContext *c) -{ - c->ssd_int8_vs_int16 = ssd_int8_vs_int16_c; - -#if ARCH_PPC - ff_svq1enc_init_ppc(c); -#elif ARCH_RISCV - ff_svq1enc_init_riscv(c); -#elif ARCH_X86 - ff_svq1enc_init_x86(c); -#endif -} diff --git a/libavcodec/svq1encdsp.h b/libavcodec/svq1encdsp.h index 5dfa35cc62..751b5eed86 100644 --- a/libavcodec/svq1encdsp.h +++ b/libavcodec/svq1encdsp.h @@ -23,14 +23,38 @@ #include +#include "config.h" + typedef struct SVQ1EncDSPContext { int (*ssd_int8_vs_int16)(const int8_t *pix1, const int16_t *pix2, intptr_t size); } SVQ1EncDSPContext; -void ff_svq1enc_init(SVQ1EncDSPContext *c); void ff_svq1enc_init_ppc(SVQ1EncDSPContext *c); void ff_svq1enc_init_riscv(SVQ1EncDSPContext *c); void ff_svq1enc_init_x86(SVQ1EncDSPContext *c); +static int ssd_int8_vs_int16_c(const int8_t *pix1, const int16_t *pix2, + intptr_t size) +{ + int score = 0; + + for (intptr_t i = 0; i < size; i++) + score += (pix1[i] - pix2[i]) * (pix1[i] - pix2[i]); + return score; +} + +static inline void ff_svq1enc_init(SVQ1EncDSPContext *c) +{ + c->ssd_int8_vs_int16 = ssd_int8_vs_int16_c; + +#if ARCH_PPC + ff_svq1enc_init_ppc(c); +#elif ARCH_RISCV + ff_svq1enc_init_riscv(c); +#elif ARCH_X86 + ff_svq1enc_init_x86(c); +#endif +} + #endif /* AVCODEC_SVQ1ENCDSP_H */ -- 2.40.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".