[FFmpeg-devel] [PATCH] libavcodec: add editpts bitstream filter [v4]

Andreas Håkon andreas.hakon at protonmail.com
Tue Sep 3 15:31:04 EEST 2019


Hi Marton,


‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Tuesday, 3 de September de 2019 9:57, Marton Balint <cus at passwd.hu> wrote:

> On Tue, 3 Sep 2019, Andreas Håkon wrote:
>
> > Hi,
> > Ping, ping! (another time).
> > Please take note of these three points:
> >
> > 1.  Lip-Syncing is a relevant topic in the AV editing area. Almost all professional video editors have
> >     the functionality to realign audio with video. And at time the ffmpeg project lacks for a lipsync
> >     bitstream filter. For this reason, this new filter is relevant. Although it can also be used for other purposes.
> >
> > 2.  This is the fourth iteration of the patch, and it incorporates all suggested requests. So it's ready
> >     for review and acceptance.
> >
> > 3.  Although the current implementation can be improved (using, for example, values expressed in
> >     nano-seconds), it's preferable to first add it and then improve it.
> >
>
> Some things can't be improved later, because they become part of the
> public interface so we can no longer just remove them, we'd have to
> deprecate them first.
>
> Also ffmpeg tries to be consistent with other parts of the code, use names
> based on the same logic, or use similar concepts throughout the libraries.
>
> Avoiding duplicated functionality is also a strong requirement for us, if
> something can be implemented in a more generic way (even if that takes a
> little more work), we should aim for that.
>
> That is why I suggest you implement a more generic approach, a setpts like
> filter (setts) with evaluation. As others pointed out, you typically need
> to modify both PTS and DTS, so the expression should affect both.
> Additional parameters can be introduced if somebody wants different
> expressions for PTS and DTS.

After looking at the "libavfilter/setpts.c" and the documentation I don't see what you want to copy from it.
The "expression" functionality can be useful, but the number of constants compatible with a bitstream filter
are very limited. From my point of view only some of them have sense: PTS and T in fact.

Any suggestion?
Perhaps you should describe the functionality of the "setpts_bsf" filter.

Regards.
A.H.

---



More information about the ffmpeg-devel mailing list