From patchwork Mon Sep 26 19:58:55 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 38372 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:3b1c:b0:96:9ee8:5cfd with SMTP id c28csp49282pzh; Mon, 26 Sep 2022 12:59:13 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5qAGxmkDS506KeZY+ZDDYBAYi7m39AuiMI7qFrmf5KXCI1orinscsrQmJ2hXXQvKdSlAWL X-Received: by 2002:a05:6402:2b8d:b0:43a:5410:a9fc with SMTP id fj13-20020a0564022b8d00b0043a5410a9fcmr24394380edb.99.1664222353345; Mon, 26 Sep 2022 12:59:13 -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 du16-20020a17090772d000b0072b1964e54esi780668ejc.1007.2022.09.26.12.59.12; Mon, 26 Sep 2022 12:59:13 -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=HLHm6vrK; 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 0EFA668B934; Mon, 26 Sep 2022 22:59:11 +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-db8eur05olkn2057.outbound.protection.outlook.com [40.92.89.57]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E3BA068B20B for ; Mon, 26 Sep 2022 22:59:03 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QBDrO9M7tgjwPE7RPilFiV5XxHjwve/xcB1x7Wc8olsjdysJpf0sFKv+ZZQAW8GwYQ6FR38jhzcDQY2mSpJIyGM9mGDRbT24tYpy17v/lbeWd99utv5UuYPMCA9ZDFYLLJJYe3DhSvVLF2YhG0QKfY/OC2G5cloXvbEKUJHiJmnhDcmKKxMO4XMaiCWnCTf8UuCDvy/nZqPIaPjFWqeLG/aeb3BR6Vqy9H+kutJD0loZkh63vQ9lnp+hGt64yTNVPOk8WHXnwgBC+Y4Bas4vIFMPhk2rC37SGTIeLIzGbzI5tXBTXPsLiruW2JKEAO6FBrrVMDtNF9WsXNZi2yJqPQ== 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=QHu/m9D7khFey8+n/XVUUiIoSN6pUFq+NBqYxgH5dv8=; b=ZFXrObIJaVvG/nTUSaAaqHiyyRLRgIwFPNmIXIV4iG0Fw4uLJwh4l4cSnaCnWzZF0o2+907ulGUWnSy6cYOvsLyS9QXq0+MCrh2rOosdVKWBQh4nfGREecgY+W1ZS+JioMUfJTCttEF5cjCN1gvWB41l/9hpQokOkDrQSQL1Z00DvYL67z+I8mpUfWDUI8exsXvKYyuje9VdgpXt+etxyTx2ATJ7T0oj7coJgeDJDUqa75VA2XLe/EB83i2Y4EWe1N1jkVwqaIhNfElYL5rAgHHhJM6qsGsvTBb1Cu1DScwTORx4gfxvwzZKHGSzd0RrDxyRMdxu9vlmcy1B2j1Dyg== 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=QHu/m9D7khFey8+n/XVUUiIoSN6pUFq+NBqYxgH5dv8=; b=HLHm6vrKZoJ2RxDhCAESjuxm52QFcPoS/8lri7kqY87yujzPVFLdUxa0/O2eU2Ol5G3N7xT2Hog2D4+o8IHyqNiRDtTha/Z1p0wypYZq4GKPMRfY1legVQdZS1F7BWKzsXKm+oymYOM08dS8mbEZmOGXxC7lGmbWQ3ghnR6JeAsTCEiET+859qLj4U3tU3o4bZI8kGwMX/6PMEeqGPngW2NgNVoFYtbh/RJ6d+1vhdmfyES5ZK0NJd0Yi3oS2hrtalVIbqbFZRjHFNbXV0NLs/JFAWGfRGhWxKkvOArHu7+LZZeKes47l0jgFqHutLkV85tnSRNB4iOzWdMZPFZakQ== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by PAXP250MB0470.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:283::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5654.25; Mon, 26 Sep 2022 19:59:02 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::68bd:2fc7:ac52:38f8]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::68bd:2fc7:ac52:38f8%9]) with mapi id 15.20.5654.025; Mon, 26 Sep 2022 19:59:02 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Mon, 26 Sep 2022 21:58:55 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [thN8OgRMbTMg2Oah1Uge+keeSGgOKfHK+l0aHA70vW0=] X-ClientProxiedBy: ZR0P278CA0038.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:1d::7) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20220926195858.3857174-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|PAXP250MB0470:EE_ X-MS-Office365-Filtering-Correlation-Id: fba1f5c7-9727-4fc0-26e7-08da9ff98ee3 X-MS-Exchange-SLBlob-MailProps: AZnQBsB9XmoDoqouQ984HdnI9yqZYxaIoNkELuETYHXKbUNDLpoW5Sh8Q9hPjU/t239pOkXmlvUsVApCidU9JskdsdxefkHwFZ41h6kWnLT4wmUPCn5r65SFxet3I5BMnOSHK4fIAyCrnVmVHjTh9RxTUfNwxp/7FLycvW3EVkqJ7+Kg3d687evj03J84fRLEWfwdMji7oQg1nYtotJRoJmCnEncSv4/VcwYftdwVYtd8yTG2cHTl0BqXBGn60H+ncVTMOYDp6/Ycr0OL4SbkVstDGFQS/mCQ4qzY65ms1Pcww0+IXGtNAnaoBwrXgxeWKT6kO7Kybsv+dpKgvR6wZUs8YiRGwZDXbk2HcNwlEU+bzF24ZwCwQzscTOYgtRrHYtjngTDy28ksHblqjqw40cbSKWqiaOhee1rWvUMoEGhoB31cQIz6CX7Hn8Kc7EYz12ItSIPutQeZYs4PGgduzaelbk6lQSS9TfZxqv4LY2nL4WyipmuYTfMAXqsvD2oiUVY5bB421Jia5Tkch7w46gTrKqxjJ13VIL5FbkyyByywKkOkDZywiIMS97iAVtzmZUbCxuzjwKJYGQHV+AvdwaeZ2/S+KYOJMJWplhW5KbBRarOrYqE6GKyUZQq1WmTJj8zGhGRjHy0Pe839PcORaxApr195yJrOEKwWtPJ/iS4TcSOYQx3V2VqPb45Zro2BJAg5/OBKDuAdY5u0nyHWHlotNaEZ1+kNgS8msquz4Q7zu2bs6YvkNzqMo377xOBDMWA5hV8wYs= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: R/yspP0WTf933rX7jp7bN61lO36lAy+YjpVtNw+yD5grdimRlM4aG4I3W+lRSktD34C62l6MVplzpNIMHcWCCQLSsYjFCOBbj9ibjNQ2maJZ+3OizYvVDjELe+ums/IDSPKHluXC1Y2BnWTv2bMrrlb9GK8WPNRZyPwkh47ABa4czTVtcs7IHwy9aZoZaZET62YPGhuWeAsTxKdZ5E8bzWt6V59S/5ONbCE1Mb7C8G7cY79dThwy04UGWKc3mkFemRAn6LyEuI1TzojM7z9ZbvDRmrO9ZHJ9m4+1rUk2JsM5vQ+Ieu2KAxD1xLoFciHvFJ8beTFLy6ooxOpJUsG0f6nMwHgabtLFBdn4wDhGbpH+NQ0CldlGhuD3rKw/HIzpgbuZwNg8XhKKQCxNGzY+ifKKRD4qhum911+J1sTeUl0GRlZAJBze4w02eSQLLZh7715c5bUtDHoJUqKoAN++FcSBDwtRbYZYKCu4d0S2VBX5B9ahRjE62lHAUNwibZTFcTWc9SQfhxGCc9ygDhkFZtYSawh0S1f88Lw1YJZqWJn58p8dktBCIA3ed1Ab7CrzIYjhL0Cf59yiQvQ9h4e9bSkMcXzmwE4aHC/8nhNbbWgp++6ICysCpfA5lB2vw/eWc/GrXVIK6kA6OC4LonlanQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: KeqzSY97oy5tsSeLBYTvsvASnsTkRgVsy4gFoOESEmEHxky8B065jatxVLz94mHkf+58jcNFdeaOhsZ27LXs89Ui9FLalRY7f4a7EThxRwGdI7lLu0xWHzVlEgJVOnhO6GdoJ8jfGqOA3QTR6mPu9dsfGLQSOmyUE6f8SMYWoYLrN5SExsswO/xLoKMzCNfZWWmUD9CaeChu5nlHLoYZ+HtxXPgHHi5UvJr4GyHVODVLecDo9yzj7UeJx6+iLPZIVX/M7piQztqe6PjVA5gLfLXfY3XzNSKaGpC87hdQY6sgHJlFcU48fk4fu69c2DDqx4NS+mNeLmP1yFSBYgTIMbzNou2ZYZiysk9VF3GtDLj/UGwrx6Bs8VH2fBhy2tr295e7zVjDErUpAfJWtngGipecIOX4NeA9VD4zBg6UYzym+aw/Qe7aCxis+iAb/xq14Ol6aYZVRqMalJAWuI0P5EaqUOam4TsEKkjQCkI/C8QpTOpD995ChGExlVIOFNUHfbMv2a3/rA+2w4H9Z2BzHmVAf2FtV4eGbv8p+ta7/0nxR5QiRY3Y5Oeie3TRkg1WxayT9eUArvun6i0czCh37u4ljMqNSMhfFD0U2r8WGGA2I7NW5YCulXduu3AKVW0iN4BzNsPl9Azi2q/9RL0f0OC7fsncqbQc5/5owfUxt0LZ3zFUV330YjR9pcJatDZlXQZsA1Yf5jXZaZOs3bsM4JbxRO1kuMKsN51tgMSLGzJXJzAr0bvSDF5OWyeFpvz0zTDhgzMbmpmRzki3JNfLX+vd2T1QomAouV79W18zRKBMRBHZKHoFzxwwRMVkSGVU0T4+WEfQ4Jv3O2w5sqO+ish3y8M9VUL5l/nEZqqwq3hd2Rp1GjbguEGbJHdlV3T5d4RTLb63YP8btMSw2TTJGR4DJFNn4b0bZd6tliiLgKj/zWW03HFOLcLiGRgXlWL7NTLiueqCVe2lY+w4nSQOSIVTk1Zv/EIzRAWJnTDf3BZbjMmxhw4wcYn84xWJIlmRsgttBlOMP7eC8EzHrF6cW6zdsK9cfCUUJXQRPSIm9srSVaHn3/mlQQrH0WQaJY0iueFGI+XM+br7iog0N1uqVtmVQOV3/WHzXWn6Q6JHGi6ZQSnAbm2a9KKx/2exdzmTh+zW+zHXYay8N3ihE8MT95rDM370utDu6DdhEL6d3CuxQQXNqGTS6BrtPAkbYtcjymRlgN1N0gD+vONW9LoVGJpcR30avn+ZbQYJb+MBPBY63DwrmPcgBm9ZyPr51HY2yzl75VToWcBogc32394xlU2miVpVEi6f9oA7vc5iVCnrZ4MRgc1uL4EE+C5U61ll X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: fba1f5c7-9727-4fc0-26e7-08da9ff98ee3 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Sep 2022 19:59:02.0976 (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: PAXP250MB0470 Subject: [FFmpeg-devel] [PATCH 2/5] avutil/pixdesc: Avoid direct access to pix fmt desc array 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: X3OV4BJ+G724 Instead use av_pix_fmt_desc_next(). It is still possible to check its return values by comparing it with the (currently) expected values and the code does so. Signed-off-by: Andreas Rheinhardt --- libavutil/pixdesc.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/libavutil/pixdesc.c b/libavutil/pixdesc.c index c42a0242c5..f6755f41df 100644 --- a/libavutil/pixdesc.c +++ b/libavutil/pixdesc.c @@ -2913,10 +2913,10 @@ int av_pix_fmt_count_planes(enum AVPixelFormat pix_fmt) } void ff_check_pixfmt_descriptors(void){ - int i, j; + const AVPixFmtDescriptor *d, *last = NULL; + int i; - for (i=0; ilog2_chroma_w <= 3); av_assert0(d->log2_chroma_h <= 3); av_assert0(d->nb_components <= 4); - av_assert2(av_get_pix_fmt(d->name) == i); + av_assert2(av_get_pix_fmt(d->name) == av_pix_fmt_desc_get_id(d)); + + /* The following two checks as well as the one after the loop + * would need to be changed if we changed the way the descriptors + * are stored. */ + av_assert0(i == av_pix_fmt_desc_get_id(d)); + av_assert0(!last || last + 1 == d); - for (j=0; jcomp); j++) { + for (int j = 0; j < FF_ARRAY_ELEMS(d->comp); j++) { const AVComponentDescriptor *c = &d->comp[j]; if(j>=d->nb_components) { av_assert0(!c->plane && !c->step && !c->offset && !c->shift && !c->depth); @@ -2948,6 +2954,7 @@ void ff_check_pixfmt_descriptors(void){ av_write_image_line(tmp, data, linesize, d, 0, 0, j, 2); } } + av_assert0(i == AV_PIX_FMT_NB); }