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 648F24A4E5 for ; Thu, 28 Mar 2024 23:12:47 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D75C468D785; Fri, 29 Mar 2024 01:12:03 +0200 (EET) Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-vi1eur04olkn2090.outbound.protection.outlook.com [40.92.75.90]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2A0B268D778 for ; Fri, 29 Mar 2024 01:12:01 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZNXK40xN4Kn66o0bFWV51hUvgu/Ow0aR7+Zg+/jsu76AnFS6FHXGLTJzr2vCsCI06+vAREDTqVZ6Zg8G/opLN7Ven4GAgD9krxETKF+4TRe7hXv9/++LRioCEJq2Z0OREL99SThxxz2V3KS3sS0Hp/sgXQGvgRET8vyU4kzZWsKdOJ5DJykf8J2gEBYllGMHS6udilbUAgCVEthzuVS5+S2lp/shTNZXsEG9NsY2TJLq1okSslHdDO8OKZ6P8Jm0/dAq2FSICC/G6TXLqWcjspiT/uFG9bvi/iAF4kFszu1e7/7AkYlZ4RITJufL09xNvnlBEFYS717b/jsy4EiJ4A== 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=9hLDwfoDkTTxzlWqsvfv5ase2h+onzgvEh0j1BqGKEw=; b=IQ8SDeT0DtpRs9y3TCdqE54d1lZR52Y747JWXn31BDPJL7XO1LZYREmk1lwhsr4W6pkCqOJaeGU4hJDxPVckl/Wz2EAi4RaYoGQqOdBjTfMQ1+L03tdfl+2Y+E20NDzm6tJuMZxtlIs0KxhtEA8vtWBG0FYMTnS/sqZAStww7JHhTU4RCKmEDZltVpP+KMkpZLOMXUI153ce4C3VqHigwzZDg/EMQh2xrMJaiRmo6u6BVBZ15FqINLsdW527EcudW+EHG2HDAebAxc1BXCf65PorpxuST6RQiEobcP56eH9ByavI9eht32gRa2cRWeX7ne9E3q6Q4i1B0WlxtoY0dw== 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=9hLDwfoDkTTxzlWqsvfv5ase2h+onzgvEh0j1BqGKEw=; b=rnz9RbBAQVhsXMezFDumtXXL/GXgDZNTfDPUaLTa8mNpMyXnLCozMQHwn3y1drFLdz5cLxdk1lDLjwG36ahIxWktWkHncarTZjI2lt4DQZhyXdf+GXeuxkPxeYywbgeaPoOfnJMErdNgMiaMnVrW4oax9lHeHMZr+tnTym6wpOA/NhF4iUJ8esUDizLNdFsMUG4DcntTCXBWPOwLZrcvT147bM6nAc6tvP7F8htWoY1lqA4/P4qLfZYeg5tlQjndFSDDG6zg6mQZsnPlTHmzXTNn3tLKBpYBu5k5BEQAp5+y2Oq/gAXpYILVsiWXKH2W4xAqcHK66hlHdqM+PW3iZg== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AS1P250MB0553.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:4af::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.31; Thu, 28 Mar 2024 23:12:00 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::1f29:8206:b8c3:45bb]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::1f29:8206:b8c3:45bb%3]) with mapi id 15.20.7409.039; Thu, 28 Mar 2024 23:12:00 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 29 Mar 2024 00:10:42 +0100 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [OpYh9+z8fIa8gHxv7fPJx1xzZ0vqfj3FYNukoOCmwFQ=] X-ClientProxiedBy: ZR0P278CA0093.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:23::8) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20240328231047.2202386-12-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AS1P250MB0553:EE_ X-MS-Office365-Filtering-Correlation-Id: 9f2350a1-d554-4a55-681d-08dc4f7c78b4 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: MSIJZppk+uA9INxRmFxiCyzv3P7pnE+0P10sAr2YcZzlbSZBvcFUxyAdJoF0m11Jyfb1GRvaPp2LuU9xL1VICHnW/eGe0OAuYf3Yyt2ndbqyYQSAZQPGRE7Iehq2ohCetlQb34AuDzelzBx3yeaTg4MPJFDf2yntiz2TB39vFwmIB1TQjeTFbV7nnbPp954Jgn589qq0KoBhGluDSymSMC1fG3m9CCEoDggO5QKp3rqvnXs1uNY6REmUoZyDJc474I+864wt8CD6SHzWyramO+qpx0PWsSQYpxWLvTc3s93PhEDAI/592w0QkDBfGhXwC2u6ghu1ySynDnk7QwoDtqxvs5jbFSdQqDmQI/MMudu/s4j6FwnhsEOlBdokzincESQIfj81ZBp8IDC8M28O+C4s5JjhjAayIeoRKwVYM2/3SUdXPq/oDhoOI1Hfd2ZkZWpBLgTp6rH4/XsVq4FV5Mjxx8R5UID8RGCrp+ILE5yPP8FjAZaEwNHU+iApbqaE6YmhoVeOxXF1+VvOIWJfBJS55R1NV68unUS9+sE8Xf2NPeOAP7swCc7kC2ODEr7nBzWTN9sHVk1wJkmk6zHqMUTYlArc/48yifvjHWUBdWC6azIjQ/ZrD94B9GzMtgr1 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?p3xAXvfkJjFryTYhTNH4IRTJs8c/Wc/j3m7+cLGGzEh3PxBL/FNOPAp5Mf9S?= =?us-ascii?Q?yJYqXPg82rpPNImOHuhHUOfbqB3L9Yod/HRM2ndpxomEKO2QRifZZxJnhQ/5?= =?us-ascii?Q?YlO4z9AqRY4bvLixFh3Pwk+KikFFNYdCade2pDbMb8Xy50cTyMtLUzwE46C1?= =?us-ascii?Q?rqOZgQyVMNSopIkxgTfOPQiGKcyhfpVG7biaLhLblb0NuezWD9Z5XdrdtLEf?= =?us-ascii?Q?NeXnsal4IHiIxb0PMD5IVUCbZ8LseFTDzvjDysZeHpbh/v5NZAHD4tSw6Lhv?= =?us-ascii?Q?HXSbDEADficic3asrAKMOWxDHu3Oh/tVNj5AnFJDU3rxiR9vO6SRPVAq/Bth?= =?us-ascii?Q?aw89R8f9Q4/W8sSu3OkB2Y7xvXc38K1hAx9+JTewoJTrsQuNpz68mMs7ZYi1?= =?us-ascii?Q?fxFbAXsFE2VS4AFBIjSMDBiEzfmRJ6b/EdYzsXujyZ6Av2cGUypAvUReS0Yn?= =?us-ascii?Q?+t9GFiNViUumOXb7NdCRF69UpMWFvWGRTB+hPWzYGRxwaHJReRGvcAmpecI0?= =?us-ascii?Q?pd5d/1uSvqJ5c+50fM7r6pIICYEOXTVpPkdJpZMACJiqRriTBNTDSkACUILs?= =?us-ascii?Q?3OJoF9K00IIjLylqrYrGUYYUj1NSXXVVM2kNk56cDNG/GQdRPZgrh2JR5rKD?= =?us-ascii?Q?yMgj1AU3IwMgDC/f+EQGy18fYfW8Aek1X7NMDTW/ayETRTBScEnUCaWXdQYd?= =?us-ascii?Q?0l9iJIWLaS6rLGDtrfSREbiJp38PacHkfXOA3hSzvyXj4RbggXlXMPK8JUHJ?= =?us-ascii?Q?RM5b/wSX1SjItUIF5FoXv7Ulmc6ipwcqSmfwOUciNoVTrBFIeKfM3l1YYo2a?= =?us-ascii?Q?Fp6KCtCCbO4OpvlNKYuuddz6qyPnrrWytPVJ+wz27EUqA7uLl7iMt6PjywVf?= =?us-ascii?Q?E/rITgedasx3HRHdRmsAayTflxn3BD9ggrTBPhwILiiktqSBCKxkcOI7vHFx?= =?us-ascii?Q?gy4XAR5hIM8dxfDxAJG2/ukIHGpFMDA5rV2Ce4itk/YUvOxHmO8axKjjZBXB?= =?us-ascii?Q?OtntnBFcJn0FC+1ibysnHDXKkgUA9fWBUyuIujbZFovHT7CEYZPcuu3UrQ7Z?= =?us-ascii?Q?kd+EQ5LX2E+Y1akrWuC32NBFc6VxW8+HtvzEU8b8LV24fqcD4+eFiJR6GdxV?= =?us-ascii?Q?U3ckAjJuPz+OFafyX+u5KRAGx1K3CGe5Dpqi/FWL7buni/Vdj0MxoS5JFjg9?= =?us-ascii?Q?+c0AWx5MvhQvyRsF0DecDifuSnIGz2nH+K3kdtE9s1ezJVhRQOteileq3psr?= =?us-ascii?Q?IcnEBPqUFOkF0CAGMldpzwwsrG+WzAW1Fb3Z7oPuRg=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9f2350a1-d554-4a55-681d-08dc4f7c78b4 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2024 23:12:00.1554 (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: AS1P250MB0553 Subject: [FFmpeg-devel] [PATCH 13/18] avcodec/arm/mpegvideo_arm: Use static_assert to check offsets 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: Also move AV_CHECK_OFFSET to its only user, namely lavc/arm/mpegvideo_arm.c and rename it to CHECK_OFFSET. Signed-off-by: Andreas Rheinhardt --- libavcodec/arm/mpegvideo_arm.c | 20 ++++++++++++-------- libavutil/internal.h | 8 -------- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/libavcodec/arm/mpegvideo_arm.c b/libavcodec/arm/mpegvideo_arm.c index 008ef18eea..28a3f2cdd9 100644 --- a/libavcodec/arm/mpegvideo_arm.c +++ b/libavcodec/arm/mpegvideo_arm.c @@ -18,8 +18,9 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA */ +#include + #include "libavutil/attributes.h" -#include "libavutil/internal.h" #include "libavutil/arm/cpu.h" #include "libavcodec/avcodec.h" #include "libavcodec/mpegvideo.h" @@ -27,13 +28,16 @@ #include "asm-offsets.h" #if HAVE_NEON -AV_CHECK_OFFSET(MpegEncContext, y_dc_scale, Y_DC_SCALE); -AV_CHECK_OFFSET(MpegEncContext, c_dc_scale, C_DC_SCALE); -AV_CHECK_OFFSET(MpegEncContext, ac_pred, AC_PRED); -AV_CHECK_OFFSET(MpegEncContext, block_last_index, BLOCK_LAST_INDEX); -AV_CHECK_OFFSET(MpegEncContext, inter_scantable.raster_end, - INTER_SCANTAB_RASTER_END); -AV_CHECK_OFFSET(MpegEncContext, h263_aic, H263_AIC); +#define CHECK_OFFSET(s, m, o) \ + static_assert(offsetof(s, m) == o, \ + "Hardcoded ASM offset of " #s " field " #o " needs to be updated."); +CHECK_OFFSET(MpegEncContext, y_dc_scale, Y_DC_SCALE); +CHECK_OFFSET(MpegEncContext, c_dc_scale, C_DC_SCALE); +CHECK_OFFSET(MpegEncContext, ac_pred, AC_PRED); +CHECK_OFFSET(MpegEncContext, block_last_index, BLOCK_LAST_INDEX); +CHECK_OFFSET(MpegEncContext, inter_scantable.raster_end, + INTER_SCANTAB_RASTER_END); +CHECK_OFFSET(MpegEncContext, h263_aic, H263_AIC); #endif void ff_dct_unquantize_h263_inter_neon(MpegEncContext *s, int16_t *block, diff --git a/libavutil/internal.h b/libavutil/internal.h index 461c0df9ad..e0b2c74b21 100644 --- a/libavutil/internal.h +++ b/libavutil/internal.h @@ -76,14 +76,6 @@ #define FF_MEMORY_POISON 0x2a -/* Check if the hard coded offset of a struct member still matches reality. - * Induce a compilation failure if not. - */ -#define AV_CHECK_OFFSET(s, m, o) struct check_##o { \ - int x_##o[offsetof(s, m) == o? 1: -1]; \ - } - - #define FF_ALLOC_TYPED_ARRAY(p, nelem) (p = av_malloc_array(nelem, sizeof(*p))) #define FF_ALLOCZ_TYPED_ARRAY(p, nelem) (p = av_calloc(nelem, sizeof(*p))) -- 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".