[FFmpeg-devel] yadif frame doubling - incorrect closed captioning

Devin Heitmueller dheitmueller at kernellabs.com
Mon Jan 14 16:21:10 EET 2019

On Mon, Jan 14, 2019 at 3:31 AM Michael Niedermayer
<michael at niedermayer.cc> wrote:
> Thus a new function should be added which does all this, and that then
> be used

For what it's worth, the fix is actually incorrect both here and in
vf_vps.  When doubling the framerate, the correct behavior is to split
the content across both frames and cut the cc_count in half (it's
actually more tricky than that because certain entries have to be
moved to the front of the array).

That said, using a centralized function is a step in the right
direction.  It should probably be in libavutil, given it will need to
be available to both filters and formats (and potentially codecs as
well if we wanted them to proactively fix cases where they receive an
invalid cc_count).  That said, in order to do the transformation
properly it would need to receive the target framerate as well as be
able to maintain some state (since reducing the framerate requires
content to be cached in order to combine one or more entries).

In short, a centralized function would be good, but we probably need
to think through what the API looks like so we don't have to introduce
a new API in libavutil and then deprecate it once we want to make the
splitting/combining logic work according to the spec.


Devin J. Heitmueller - Kernel Labs

More information about the ffmpeg-devel mailing list