[FFmpeg-devel] [PATCH 2/5] lavc/container_fifo: move to lavu and make public
Alexander Strasser
eclipse7 at gmx.net
Sun Dec 15 23:20:28 EET 2024
On 2024-12-11 15:05 +0100, Anton Khirnov wrote:
> This can be useful in other places, e.g. it can replace objpool in
> fftools.
>
> The API is modified in the following nontrivial ways:
> * opaque pointers can be passed through to all user callbacks
> * read and write were previously separate callbacks in order to
> accomodate the caller wishing to write a new reference to the FIFO and
> keep the original one; the two callbacks are now merged into one, and
> a flags argument is added that allows to request such behaviour on a
> per-call basis
> * new peek and drain functions
> ---
> doc/APIchanges | 5 +-
> libavcodec/Makefile | 2 +-
> libavcodec/container_fifo.h | 89 --------------
> libavcodec/hevc/hevcdec.c | 10 +-
> libavcodec/hevc/hevcdec.h | 2 +-
> libavcodec/hevc/refs.c | 4 +-
> libavutil/Makefile | 2 +
> {libavcodec => libavutil}/container_fifo.c | 116 ++++++++++--------
> libavutil/container_fifo.h | 130 +++++++++++++++++++++
> 9 files changed, 215 insertions(+), 145 deletions(-)
> delete mode 100644 libavcodec/container_fifo.h
> rename {libavcodec => libavutil}/container_fifo.c (51%)
> create mode 100644 libavutil/container_fifo.h
>
> diff --git a/doc/APIchanges b/doc/APIchanges
> index 13789fcea4..5d75b6077d 100644
> --- a/doc/APIchanges
> +++ b/doc/APIchanges
> @@ -2,10 +2,13 @@ The last version increases of all libraries were on 2024-03-07
>
> API changes, most recent first:
>
> -2024-12-xx - xxxxxxxxxx - lavu 59.50.100 - refstruct.h
> +2024-12-xx - xxxxxxxxxx - lavu 59.50.100 - refstruct.h container_fifo.h
> Add a new public header refstruct.h with new API for
> reference-counted objects.
>
> + Add a new public header container_fifo.h with new API for
> + a FIFO of container objects (e.g. AVFrame or AVPacket).
I see this was already pushed.
I wanted to comment mainly because of the naming. Didn't deeply
check the series as a whole, but AFAICS it looks legit.
I find the "container" part of the naming consusing, especially in
a multimedia project.
Didn't yet have brilliant ideas.
Some suggestions to get started follow in no particular order:
* objpool_fifo
* reusable_obj_fifo
* refstruct_fifo
Best regards,
Alexander
More information about the ffmpeg-devel
mailing list