aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2024-07-01 23:18:47 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2024-07-07 23:36:27 +0200
commit380a8213b165d1fda419c566241d2641cb6f5c3c (patch)
treebf70530e1a7e5542b39e9cbc11f7ed77aeec3663
parent7ba898218140d3e5c66510aa7d7f9cbb6ecd3fce (diff)
downloadffmpeg-380a8213b165d1fda419c566241d2641cb6f5c3c.tar.gz
tools/coverity: Phase 1 study of anti-halicogenic for coverity av_rescale()
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--tools/coverity.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/tools/coverity.c b/tools/coverity.c
index 19a132a976..541e108238 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;
+}