[FFmpeg-cvslog] avfilter/formats: Avoid redundant counter

Andreas Rheinhardt git at videolan.org
Fri Aug 20 15:33:03 EEST 2021


ffmpeg | branch: master | Andreas Rheinhardt <andreas.rheinhardt at outlook.com> | Sun Aug 15 09:44:59 2021 +0200| [79595024ed887e2f473ec21ad3596af2c3fc4041] | committer: Andreas Rheinhardt

avfilter/formats: Avoid redundant counter

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.

Reviewed-by: Nicolas George <george at nsup.org>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=79595024ed887e2f473ec21ad3596af2c3fc4041
---

 libavfilter/formats.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/libavfilter/formats.c b/libavfilter/formats.c
index ca85b4094b..8a92ff0d57 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;
 



More information about the ffmpeg-cvslog mailing list