On Tue, 3 Sep 2019, Andreas Håkon wrote:

Hi Marton,


‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Tuesday, 3 de September de 2019 9:57, Marton Balint <c...@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.

- PTS
- DTS
- STARTDTS
- TB - stream time base
- TS - when a single expression is used, TS is pts when pts is evaluated, TS is dts when dts is evaluated.


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

name is "setts".

options:
ts=<string>
dts=<string>
pts=<string>

<string> is an expression to be evaluated. Either the ts expression or both pts and dts expressions are defined.

If only ts expression is defined then it is evaluated for both PTS and DTS.

If pts and dts expressions are defined, they are used instead of the common expression.

Regards,
Marton
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to