From patchwork Fri May 17 17:57:10 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 48960 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:3a48:b0:1af:fc2d:ff5a with SMTP id zu8csp3035469pzb; Fri, 17 May 2024 10:57:36 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCV6Na1y3vLZCRDZNG0cNPpj1j7othFhBSFZI7HjQk89dYjRYM2Hq77aphsJCjK2/Wyk38dIkpF+FAYYqrVGRXLhGShhDK+zXoZu2Q== X-Google-Smtp-Source: AGHT+IHq4U8n7W8Em5GAZwZp5nhQ5QIofIt/0Sb2MHSdGW0d/WD3dFP/3xBe30pHmNXvSF9jBKEp X-Received: by 2002:a17:906:f296:b0:a59:cb29:3fa8 with SMTP id a640c23a62f3a-a5a2d53adbbmr2257713466b.14.1715968656500; Fri, 17 May 2024 10:57:36 -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 a640c23a62f3a-a5a179463d1si959635866b.147.2024.05.17.10.57.30; Fri, 17 May 2024 10:57:36 -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=H88bTwh0; 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 87E3568C15A; Fri, 17 May 2024 20:57:26 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01olkn2091.outbound.protection.outlook.com [40.92.64.91]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 018AE68C15A for ; Fri, 17 May 2024 20:57:19 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SMDK7g0jzb+wDXY2nphklUonNI1pQhiMHDwbFCHw3iJmzPX1DRC6+99/5sa26QkQURCV2DNzKd/BycRWoZA6jzjDJ/xO2xCsQ6tIW1B2LvFlVUui98QZG00WncR2snLEz26NmMcZq0Q12Et1HOZEmcYqHHYChTw9OOesJmDEkYOM2fAURZxO2xt8CzF8kUpzZoD6wPiP4YWIhWwitIUZ4j13rJKkJl3q/LAP2RPGNFcae2M+TpnyuesVJbJ9O+Z4+ROFC2FSWq4cw5qsueRgYA5qerEYkcR0pM5jdBQi4ah0Z5cPgzce9+lvwfkG7/xyC0/HZpWoJt3IqXjlNlN8ow== 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=HMd8kK07m6X7UeVnqBn/EsHAvviwE74iXq3gY6gNa3I=; b=WjqI9raY4spBo5Jm81eiSeIZ9PJdA9f4v1OcbMrxrvjADIOlL7tIVc30EsPWpT38iAQAQiwyC9C53OeQ1plBILfdbuIU9ZLI8RSpIoDvdTpkDxheyJw20u42e6WFt1XfBxpUGieCh7v5p2ilaZSYJztHoLiaIdXA2TfgefWCXHpt61Nrs+1sDy+w1m93Dse57+rSWyTTXlNDA82QQ9IiCYV+a6GIwoB52kmdQQiFLWpjl82KdXvxVP06/p5VjbaknYdkW30mpIkYNveSsi/jkKF3EvnYLQ2NanXs3S1iPs2A+Qz7AGjBedWVkemn1XHrqJKMVqxdyk7J7sZOYLcNXw== 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=HMd8kK07m6X7UeVnqBn/EsHAvviwE74iXq3gY6gNa3I=; b=H88bTwh060pxNYXbCC4x5R8Vfz0xZBJrr/j0Vhzd8xUbEFYyP+KM5odD6njht1M6PFTw4plrf8eCRA6l13b9lx+sylC0QL+rhCdaEnyh5CG5U7IzV3YUvam5l6U4JeDbDew4qglc9GIOmCTW/a0rTeza7PjqX4XBxzc/R1YuKDWkjmtQSuNf6PC/7LpvCEIQ5vtVEqQ2iaB8CAnhiKtWANNepXYaqZkKOcPIi6Cb0fd9CpPjKug0ZO++Pdx+Q93Y90OAeXZioOQaqPo95P0fvCKq3A+nRf1DM4McPLn9z9YYbBnU1xy4tTnaTc58RZV03nDTzfJPi7Yv18ayYWkKhw== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by PA2P250MB1070.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:40b::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.28; Fri, 17 May 2024 17:57:18 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::384d:40d4:ecb7:1c9]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::384d:40d4:ecb7:1c9%4]) with mapi id 15.20.7544.052; Fri, 17 May 2024 17:57:18 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 17 May 2024 19:57:10 +0200 Message-ID: X-Mailer: git-send-email 2.40.1 X-TMN: [WOwvpbXMr8RSnx4yWXb5Pe/NSPI2gkC35JRs1IYlapo=] X-ClientProxiedBy: FR3P281CA0007.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1d::6) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20240517175711.3969422-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|PA2P250MB1070:EE_ X-MS-Office365-Filtering-Correlation-Id: 0e7f5eee-91cd-4d48-6b59-08dc769acae1 X-Microsoft-Antispam: BCL:0; ARA:14566002|461199019|440099019|3412199016|1710799017; X-Microsoft-Antispam-Message-Info: H1W0hRLqYtOvF1hvlAdWab/vcdNKikwR9o1I4MD20hdC01GHR/MfUWte0Q5a2OC6vWUUZ5PmwkoGgfTXf1NYfVKCdlSs3yBigUY3lCXVwZQ03zs+QXK8b0xQWspvzEbvsXKMzh6SganrfwdnTkB5VpnZX/y61hMAUfhtYAk6dW637P4vdx6P/aRqC9uzes3RC9dV5Sq63E2w01W3w2DsVoE6pd8IB5fET6GVsYTqB4xMTj09tB/GYowRZlGdw78uQCLkfd5ovVjBO2B9PuUXbngTcljXK8zuPPseJFzbgkd30kJWuKYxy+34G1IkhdDRW06ZFWcCKbIn1GUWYZOXchShcWRp/52vxS2qcojswCeRfbwRD4McIfF98+sklS8or29JQMlapsMVrU3Kj5JAIU1VXTGO1golzg/3EP+lZZer0+l7ULCMwLCpP6u4QRt1dkXhSyun7/YCMaZ/1JdYfpq6wRRUQywqmFshiBBn+XdG49JGt1OP193lEX6EVEpV0H8HOGb6BtJ2UvcL6CtWxhcbPsfqMlsuszfJw5xvFgHkPSPOPVvgV82QNu6t9Hxw1Wj5GML1PVnADiig8hWrsTWc7dC8ITHHVxd1GN84LFQXnaXoglXizNEvT0UzJmV0 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 1nvKdsYnVW+L50Ui37gWPdBjO3SO5Z2JPHJY8/vRIVi3b1JeOtdEQkx4P0l976aNixfQykqgjOpZLkQ3iT2OgdWAfzbS/SU4jfxifAaOYBjPSjEJQbn7Z9AK2JCtiLRaQPAsYyAkeMT7QlEcmDHWg0DdIPV0gY1NM5bYV3Ejd+S1QbF2OsojYcnZhVCNzbWbXLQVX/naXoqBsVkRclvjNCENvylg1sZSxs6o0o6yWIpOAiej94eMbeozXF7G4c3+/gVH1sr3SX9jTTMYOvgea48BNS17rBGgDVYsbtVT88CSGKT95EOgzJVxZ4tL50ZpJCUYlQzz7QFX1ko+Ix68wAvtWEYzptgt2HzfHoLude3WdxP/rjUzO5+Nmz7hyPrZJpDVLJZznN+CGsByGb1t+CA6sBDO8HLMuQpgI2nYa3w7wMxAWVZF6nw+rkA+GKX1S1r3pGmvsIvjQfVZzaYLRKqJQpGmj7hn890MPaqIdf76WeLSOCoCatNMequDlytSlTT46Y5ZiQh0PTZESDrvGQVnAZJRZmMvZsVjPTRmuPtXBz0wyyZZa8ofs6+jGAeczWjVg7W/0GFI8flOUiPKZ1vgvtcdLYRE2X+QxDguEKYxHJG1kj92PFIcff9onVIBNpXCpVfdLD8t1TIJcensXXJgIZLSmP2Opv1DmzH2AkIwKytNB2neOFXRPUkckDYtngEbuV4XsjmYeUXrEUmwyp1lvAS5SPLQ8sc4fE4SGJ+k5XPALaPHRNYKnkzIQc6XZ4HB267voKhjnlzYm2GzQsBx7NkicPud1QxIlOhB5pHuLg9BcKEUjlAPT9Yi+Y0OdD9fOLvl+pzErsWwyWTmf6J8LNY9kTYVYuwDari/LfJAqtt6IB3Vx2//pDaTdiHnzJX2/abVxQxo1EsC7uDibD9anTmddQFMfh2xGAD/4F6+JCEAwonGXtxCIDoll5JaQhanwenkS8DAUYHe54vheimqli+KaxubMgfSVhe91xTQw5AORjL5+oCYrJyuqKdY1cBL/9OB1cLRtBr8zng7mi52WlE/fGUOO2iOTm/3fFbLLhejUwqOwyY5kAei1L2pRtutAyrKAKvr0nTRLR/g6eOcZFfh/2+foypBzwJgstzGyVrtjJLAOEe8JSurKgSLZdBMx4hVBYfTMrmF+4dCMW45qd5hzEMj3mrp0FDnHRXxQTWp23HtjKWMgWW6a+MdNwHrP4uZvdlt5a0L+olFNv9FBsNjptZxOStx06iaJCC34WnU5KMD583CIWb9TlQgxWll2bZsz/SPCAhrdb23QQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0e7f5eee-91cd-4d48-6b59-08dc769acae1 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 May 2024 17:57:18.2475 (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: PA2P250MB1070 Subject: [FFmpeg-devel] [PATCH 1/2] avcodec/ac3enc_template: Avoid always-true check 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: xwHwOvidUBSI This might also help Coverity with issue #1596532. Signed-off-by: Andreas Rheinhardt --- libavcodec/ac3enc_template.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/libavcodec/ac3enc_template.c b/libavcodec/ac3enc_template.c index 49fc6d7f37..049666fdca 100644 --- a/libavcodec/ac3enc_template.c +++ b/libavcodec/ac3enc_template.c @@ -31,6 +31,7 @@ #include #include "libavutil/attributes.h" +#include "libavutil/avassert.h" #include "libavutil/mem_internal.h" #include "audiodsp.h" @@ -50,14 +51,15 @@ */ static void apply_mdct(AC3EncodeContext *s, uint8_t * const *samples) { - int blk, ch; + av_assert1(s->num_blocks > 0); - for (ch = 0; ch < s->channels; ch++) { + for (int ch = 0; ch < s->channels; ch++) { const SampleType *input_samples0 = (const SampleType*)s->planar_samples[ch]; /* Reorder channels from native order to AC-3 order. */ const SampleType *input_samples1 = (const SampleType*)samples[s->channel_map[ch]]; + int blk = 0; - for (blk = 0; blk < s->num_blocks; blk++) { + do { AC3Block *block = &s->blocks[blk]; SampleType *windowed_samples = s->RENAME(windowed_samples); @@ -71,7 +73,8 @@ static void apply_mdct(AC3EncodeContext *s, uint8_t * const *samples) windowed_samples, sizeof(*windowed_samples)); input_samples0 = input_samples1; input_samples1 += AC3_BLOCK_SIZE; - } + } while (++blk < s->num_blocks); + /* Store last 256 samples of current frame */ memcpy(s->planar_samples[ch], input_samples0, AC3_BLOCK_SIZE * sizeof(*input_samples0));