[FFmpeg-devel] [PATCH 01/12] fifo: uninline av_fifo_peek2() on the next major bump
James Almer
jamrial at gmail.com
Tue Feb 25 23:28:57 EET 2020
On 2/24/2020 9:37 AM, Anton Khirnov wrote:
> Inline public functions should be avoided unless absolutely necessary,
> and no such necessity exists in this code.
> ---
> libavutil/fifo.c | 13 +++++++++++++
> libavutil/fifo.h | 5 +++++
> 2 files changed, 18 insertions(+)
>
> diff --git a/libavutil/fifo.c b/libavutil/fifo.c
> index 1060aedf13..0baaadc521 100644
> --- a/libavutil/fifo.c
> +++ b/libavutil/fifo.c
> @@ -23,6 +23,7 @@
> #include "avassert.h"
> #include "common.h"
> #include "fifo.h"
> +#include "version.h"
>
> static AVFifoBuffer *fifo_alloc_common(void *buffer, size_t size)
> {
> @@ -238,3 +239,15 @@ void av_fifo_drain(AVFifoBuffer *f, int size)
> f->rptr -= f->end - f->buffer;
> f->rndx += size;
> }
> +
> +#if LIBAVUTIL_VERSION_MAJOR >= 57
> +uint8_t *av_fifo_peek2(const AVFifoBuffer *f, int offs);
> +{
> + uint8_t *ptr = f->rptr + offs;
> + if (ptr >= f->end)
> + ptr = f->buffer + (ptr - f->end);
> + else if (ptr < f->buffer)
> + ptr = f->end - (f->buffer - ptr);
> + return ptr;
> +}
> +#endif
> diff --git a/libavutil/fifo.h b/libavutil/fifo.h
> index dc7bc6f0dd..8cd964ef45 100644
> --- a/libavutil/fifo.h
> +++ b/libavutil/fifo.h
> @@ -27,6 +27,7 @@
> #include <stdint.h>
> #include "avutil.h"
> #include "attributes.h"
> +#include "version.h"
>
> typedef struct AVFifoBuffer {
> uint8_t *buffer;
> @@ -166,6 +167,7 @@ void av_fifo_drain(AVFifoBuffer *f, int size);
> * point outside to the buffer data.
> * The used buffer size can be checked with av_fifo_size().
> */
> +#if LIBAVUTIL_VERSION_MAJOR < 57
> static inline uint8_t *av_fifo_peek2(const AVFifoBuffer *f, int offs)
> {
> uint8_t *ptr = f->rptr + offs;
> @@ -175,5 +177,8 @@ static inline uint8_t *av_fifo_peek2(const AVFifoBuffer *f, int offs)
> ptr = f->end - (f->buffer - ptr);
> return ptr;
> }
> +#else
> +uint8_t *av_fifo_peek2(const AVFifoBuffer *f, int offs);
> +#endif
This patch will need a following one after the bump to remove dead code,
so IMO might as well just do this in one commit after the bump and save
all the ifdeffery.
>
> #endif /* AVUTIL_FIFO_H */
>
More information about the ffmpeg-devel
mailing list