[FFmpeg-devel] [PATCH 1/3] lavf/dv: do not set video timebase more than once

Anton Khirnov anton at khirnov.net
Thu Apr 27 10:48:31 EEST 2023


Quoting Michael Niedermayer (2023-04-26 13:54:10)
> On Mon, Apr 24, 2023 at 05:55:51PM +0200, Anton Khirnov wrote:
> > Current code will call avpriv_set_pts_info() for each video frame,
> > possibly setting a different timebase if the stream framerate changes.
> > This violates API conventions, as the timebase is supposed to stay
> > constant after stream creation.
> > 
> > Change the demuxer to set a single timebase that is fine enough to
> > handle all supported DV framerates.
> > 
> > The seek tests change slightly because the new timebase is more
> > granular.
> > ---
> >  libavcodec/dv.h                   |  3 +++
> >  libavformat/dv.c                  | 25 ++++++++++++++++++++-----
> >  tests/ref/seek/lavf-dv            | 16 ++++++++--------
> >  tests/ref/seek/vsynth_lena-dv     | 24 ++++++++++++------------
> >  tests/ref/seek/vsynth_lena-dv-411 | 24 ++++++++++++------------
> >  tests/ref/seek/vsynth_lena-dv-50  | 24 ++++++++++++------------
> >  6 files changed, 67 insertions(+), 49 deletions(-)
> 
> This breaks:
> 
> ./ffmpeg -ss 4:56 -i ~/tickets/4086/Oca-Agu\ 1995.avi -codec copy -t 1 -bitexact 4086-30frames.dv
> (the file is empty after the patch)
> 
> The file seems no longer available on the original link and a little big
> ill put it in your home directory on the server probably in 30+min or so.
> once you are done with it please delete it off the server so it doesnt eat
> diskspace

Thank you, file downloaded and deleted.

Seems we do not have any FATE tests for dv in avi - do you (or anyone
else) have a reasonably small sample that can be used for that?

-- 
Anton Khirnov


More information about the ffmpeg-devel mailing list