From patchwork Fri Jul 5 12:50:41 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Niedermayer X-Patchwork-Id: 50368 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:cc64:0:b0:482:c625:d099 with SMTP id k4csp4282728vqv; Fri, 5 Jul 2024 05:50:55 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXhfZhDCUIq+p7+ayc2AP7l/8c48+lInpRBi5F46xSElwhUr6xCzkc4CZpgZHCxtJvVpE1YsRWQdEr4TA2vvDfLTO+KA5WdOviv/Q== X-Google-Smtp-Source: AGHT+IG3hL9A48XQklkkyH8D1eFqrrmOA4N41VmKCtMF5dR/TyBBpy031bdi+rE7KX+q4xwLmAk/ X-Received: by 2002:a19:5218:0:b0:52e:9daa:25f4 with SMTP id 2adb3069b0e04-52ea0641d7cmr2875915e87.2.1720183855116; Fri, 05 Jul 2024 05:50:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1720183855; cv=none; d=google.com; s=arc-20160816; b=BWrtJbkdVPmoZKh475pF/U6n6zpbQJZYYi7ZyyKSKBKSQtJ0mt36D6Yb0T9Rr6ooSI J72EWX6hErXUDX3PV+3hOjdBOqfY+6yTgPN4gT+vA0nigXoml0oJsfM2FVPOiinMejWm PeuowfDEt7jz6FJneEwaK31Jr4qhdpV+4UVHb93U26QVhCtLJwsjYr/G7Uebrn8ZsVIQ QsOKVx+4L+6zYKrofUnXvf3J3tOwjDIriWw6riqPyZCTt552y9WcGI0lM5aKMDOcDDRd nEOGnstb9dnOUXno7ddwTIA8svK4hBcrnUEejGbiGeOZabCHtLSdXhcSc67OJN4dlWJ6 YnwQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to; bh=LaL0wz3KczcE9UXuTC1YPOFZaUYcmI3iCtb8VA97EBc=; fh=e5zN9xSzcxLA6bGo3lF+CqTbY/oLwzApV03EO/RBfgQ=; b=K5JBC1xAQngLZ3R+1lRFQJDKI8PCHj9Whn7G4g8PjME+H6DHMK1jivEc4g7plx7cF3 mdhnCmjcKm7a+YQc27rDMPlXRcCHDoAoLfCn+CaaOKKaXH67i3pW44ruafRWxYicZPdx YQoBdMEpxTxwqUuLxNc3eqmNAozpcbAIiNQk+IlttI+jPnoxFXuuIDK9Hbl+BnDVdWDG jxM+pBUBBohmqQRXlMCvcFVg0n7Xb3AdOA20k+TSBpEGBPt3P5svbjtsnyS7eLmaYkyh FfDkmiGoMuRNoYoVqXAmfz6r3tzNHCpmTOclkS10zZ3cgMiM3mri+7UNtunKlsZpF6Kh dTCw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@niedermayer.cc header.s=gm1 header.b="GY5/y5CS"; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 2adb3069b0e04-52ea6ab5fc1si410016e87.543.2024.07.05.05.50.54; Fri, 05 Jul 2024 05:50:55 -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=@niedermayer.cc header.s=gm1 header.b="GY5/y5CS"; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EB18768DB4D; Fri, 5 Jul 2024 15:50:49 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from relay5-d.mail.gandi.net (relay5-d.mail.gandi.net [217.70.183.197]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2A65668DB38 for ; Fri, 5 Jul 2024 15:50:43 +0300 (EEST) Received: by mail.gandi.net (Postfix) with ESMTPSA id 787621C0003 for ; Fri, 5 Jul 2024 12:50:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=niedermayer.cc; s=gm1; t=1720183842; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=d7cWKUi1I4/KJyPv9n6tuHWROWbI3eEorxbew90xLLM=; b=GY5/y5CSu4CD39Py52EqIHiVTxcMO+GhWUV4zaKj+gbRz3Wem5dmBb+Gts86PKcO0GRFAA pNIK5hFiSaYxFNR6RmCxofs+Lf7Iyng4nGKz2uUr8V5+wSq9fdFs0E4dLI3Dp8pfKS2eLh RurbLpEL2sHwi6rvI9sEUyzDUQBkgvWy7ZidlT9mGng1YbwA6cLzh7B64qsnsWMnXw/VJg Ds7OU3jtTIXujFZclBFdMQeD30e8j5bEw+HgYNzS5Ear1BV1BYIy/FvEtEBr49cB1rWjZP je3x/N2qys+B/rMi3hhMx3k327KWK4q1vXKePSLEIJES5VPg7gargX/N2oYcxA== From: Michael Niedermayer To: FFmpeg development discussions and patches Date: Fri, 5 Jul 2024 14:50:41 +0200 Message-ID: <20240705125041.1967554-1-michael@niedermayer.cc> X-Mailer: git-send-email 2.45.2 MIME-Version: 1.0 X-GND-Sasl: michael@niedermayer.cc Subject: [FFmpeg-devel] [PATCH] tools/coverity: Phase 1 study of anti-halicogenic for coverity av_rescale() 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: KnF8Ipy+7Gb3 Signed-off-by: Michael Niedermayer --- tools/coverity.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tools/coverity.c b/tools/coverity.c index 19a132a9767..541e108238d 100644 --- a/tools/coverity.c +++ b/tools/coverity.c @@ -31,6 +31,17 @@ #define NULL (void *)0 +typedef long long int64_t; + +enum AVRounding { + AV_ROUND_ZERO = 0, + AV_ROUND_INF = 1, + AV_ROUND_DOWN = 2, + AV_ROUND_UP = 3, + AV_ROUND_NEAR_INF = 5, + AV_ROUND_PASS_MINMAX = 8192, +}; + // Based on https://scan.coverity.com/models void *av_malloc(size_t size) { int has_memory; @@ -77,3 +88,10 @@ void *av_free(void *ptr) { __coverity_mark_as_afm_freed__(ptr, "av_free"); } + +int64_t av_rescale_rnd(int64_t a, int64_t b, int64_t c, enum AVRounding rnd) { + __coverity_negative_sink__(b); + __coverity_negative_sink__(c); + + return (double)a * (double)b / (double)c; +}