[FFmpeg-devel] [PATCH 1/3] lavu: add a template for refcounted objects.
Anton Khirnov
anton at khirnov.net
Wed Jul 1 18:05:32 EEST 2020
Quoting Nicolas George (2020-06-27 17:16:44)
> Signed-off-by: Nicolas George <george at nsup.org>
> ---
> libavutil/avrefcount_template.h | 140 ++++++++++++++++++++++++++++++++
> tests/ref/fate/source | 1 +
> 2 files changed, 141 insertions(+)
> create mode 100644 libavutil/avrefcount_template.h
>
>
> I will need to refcount something soon. Recently, the need to stop
> abusing AVBuffer for all refcounting was mentioned on the list. So here
> is an attempt at isolating the refcounting itself.
>
> This is not the final verion, I will first work on the "something" to
> make sure it suits the needs. But it is a first version.
>
> Anton, I would appreciate if you had a look at this and told me if there
> is something you strongly dislike about before I have piled too much
> efforts over it.
Why a template? It seems simpler to add a struct like
typedef struct AVRefcount {
atomic_uint refcount;
void *opaque;
void (*free)(void *opaque);
} AVRefcount;
and then embed it in everything that wants to be refcounted. All just
normal structs and functions, no layers of macros.
--
Anton Khirnov
More information about the ffmpeg-devel
mailing list