[FFmpeg-devel] [PATCH 02/23] avfilter/internal: Uninline ff_insert_(in|out)pad()
Nicolas George
george at nsup.org
Mon Aug 16 15:40:50 EEST 2021
Andreas Rheinhardt (12021-08-12):
> These functions are not hot at all and future commits will make them
> bigger.
>
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
> ---
> I haven't found a caller that adds a pad somewhere else than the end
> of the list, so the index parameter could be removed. Shall I do so
> or is there a compelling reason to retain this functionality?
No objection. It would be easy to
> libavfilter/avfilter.c | 32 +++++++++++++++++++++++++++++---
> libavfilter/internal.h | 32 ++------------------------------
> 2 files changed, 31 insertions(+), 33 deletions(-)
>
> diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c
> index f9d7226386..de7501c37b 100644
> --- a/libavfilter/avfilter.c
> +++ b/libavfilter/avfilter.c
> @@ -101,9 +101,23 @@ void ff_command_queue_pop(AVFilterContext *filter)
> av_free(c);
> }
>
> -int ff_insert_pad(unsigned idx, unsigned *count, size_t padidx_off,
> - AVFilterPad **pads, AVFilterLink ***links,
> - AVFilterPad *newpad)
> +/**
> + * Insert a new pad.
> + *
> + * @param idx Insertion point. Pad is inserted at the end if this point
> + * is beyond the end of the list of pads.
> + * @param count Pointer to the number of pads in the list
> + * @param padidx_off Offset within an AVFilterLink structure to the element
> + * to increment when inserting a new pad causes link
> + * numbering to change
> + * @param pads Pointer to the pointer to the beginning of the list of pads
> + * @param links Pointer to the pointer to the beginning of the list of links
> + * @param newpad The new pad to add. A copy is made when adding.
> + * @return >= 0 in case of success, a negative AVERROR code on error
> + */
The documentation should be in the header where the function is
declared: this is where we would be looking for it.
> +static int insert_pad(unsigned idx, unsigned *count, size_t padidx_off,
> + AVFilterPad **pads, AVFilterLink ***links,
> + AVFilterPad *newpad)
> {
> AVFilterLink **newlinks;
> AVFilterPad *newpads;
> @@ -133,6 +147,18 @@ int ff_insert_pad(unsigned idx, unsigned *count, size_t padidx_off,
> return 0;
> }
>
> +int ff_insert_inpad(AVFilterContext *f, unsigned index, AVFilterPad *p)
> +{
> + return insert_pad(index, &f->nb_inputs, offsetof(AVFilterLink, dstpad),
> + &f->input_pads, &f->inputs, p);
> +}
> +
> +int ff_insert_outpad(AVFilterContext *f, unsigned index, AVFilterPad *p)
> +{
> + return insert_pad(index, &f->nb_outputs, offsetof(AVFilterLink, srcpad),
> + &f->output_pads, &f->outputs, p);
> +}
> +
> int avfilter_link(AVFilterContext *src, unsigned srcpad,
> AVFilterContext *dst, unsigned dstpad)
> {
> diff --git a/libavfilter/internal.h b/libavfilter/internal.h
> index 6c908690b4..615b725cab 100644
> --- a/libavfilter/internal.h
> +++ b/libavfilter/internal.h
> @@ -214,39 +214,11 @@ void ff_tlog_ref(void *ctx, AVFrame *ref, int end);
>
> void ff_tlog_link(void *ctx, AVFilterLink *link, int end);
>
> -/**
> - * Insert a new pad.
> - *
> - * @param idx Insertion point. Pad is inserted at the end if this point
> - * is beyond the end of the list of pads.
> - * @param count Pointer to the number of pads in the list
> - * @param padidx_off Offset within an AVFilterLink structure to the element
> - * to increment when inserting a new pad causes link
> - * numbering to change
> - * @param pads Pointer to the pointer to the beginning of the list of pads
> - * @param links Pointer to the pointer to the beginning of the list of links
> - * @param newpad The new pad to add. A copy is made when adding.
> - * @return >= 0 in case of success, a negative AVERROR code on error
> - */
> -int ff_insert_pad(unsigned idx, unsigned *count, size_t padidx_off,
> - AVFilterPad **pads, AVFilterLink ***links,
> - AVFilterPad *newpad);
> -
> /** Insert a new input pad for the filter. */
> -static inline int ff_insert_inpad(AVFilterContext *f, unsigned index,
> - AVFilterPad *p)
> -{
> - return ff_insert_pad(index, &f->nb_inputs, offsetof(AVFilterLink, dstpad),
> - &f->input_pads, &f->inputs, p);
> -}
> +int ff_insert_inpad(AVFilterContext *f, unsigned index, AVFilterPad *p);
>
> /** Insert a new output pad for the filter. */
> -static inline int ff_insert_outpad(AVFilterContext *f, unsigned index,
> - AVFilterPad *p)
> -{
> - return ff_insert_pad(index, &f->nb_outputs, offsetof(AVFilterLink, srcpad),
> - &f->output_pads, &f->outputs, p);
> -}
> +int ff_insert_outpad(AVFilterContext *f, unsigned index, AVFilterPad *p);
>
> /**
> * Request an input frame from the filter at the other end of the link.
Regards,
--
Nicolas George
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20210816/dc42661e/attachment.sig>
More information about the ffmpeg-devel
mailing list