[FFmpeg-devel] [PATCH 08/10] avfilter/formats: Avoid redundant counter
Andreas Rheinhardt
andreas.rheinhardt at outlook.com
Sun Aug 15 12:55:36 EEST 2021
The ff_set_common_(formats|channel_layouts|samplerates) have to free
their list in case it doesn't have an owner; therefore they tracked
whether they attached it to an owner. But the list's refcount already
contains such a counter, so we don't have to keep track of whether we
have attached the list to an owner.
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
libavfilter/formats.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/libavfilter/formats.c b/libavfilter/formats.c
index 9e39d65a3c..cc73c5abcb 100644
--- a/libavfilter/formats.c
+++ b/libavfilter/formats.c
@@ -623,7 +623,7 @@ void ff_formats_changeref(AVFilterFormats **oldref, AVFilterFormats **newref)
}
#define SET_COMMON_FORMATS(ctx, fmts, ref_fn, unref_fn) \
- int count = 0, i; \
+ int i; \
\
if (!fmts) \
return AVERROR(ENOMEM); \
@@ -634,7 +634,6 @@ void ff_formats_changeref(AVFilterFormats **oldref, AVFilterFormats **newref)
if (ret < 0) { \
return ret; \
} \
- count++; \
} \
} \
for (i = 0; i < ctx->nb_outputs; i++) { \
@@ -643,13 +642,11 @@ void ff_formats_changeref(AVFilterFormats **oldref, AVFilterFormats **newref)
if (ret < 0) { \
return ret; \
} \
- count++; \
} \
} \
\
- if (!count) { \
+ if (!fmts->refcount) \
unref_fn(&fmts); \
- } \
\
return 0;
--
2.30.2
More information about the ffmpeg-devel
mailing list