[FFmpeg-devel] [PATCH] Implement guessed_pts in avcodec_decode_video2.

Reimar Döffinger Reimar.Doeffinger
Mon Jan 31 19:22:54 CET 2011


On Mon, Jan 31, 2011 at 12:37:20PM +0000, M?ns Rullg?rd wrote:
> Jean-Daniel Dupas <devlists at shadowlab.org> writes:
> 
> > Le 30 janv. 2011 ? 20:39, M?ns Rullg?rd a ?crit :
> >
> >> Nicolas George <nicolas.george at normalesup.org> writes:
> >> 
> >>> Signed-off-by: Nicolas George <nicolas.george at normalesup.org>
> >>> ---
> >>> cmdutils.c           |   27 ---------------------------
> >>> cmdutils.h           |   24 ------------------------
> >>> ffmpeg.c             |   14 ++++++--------
> >>> ffplay.c             |   10 +++-------
> >>> libavcodec/avcodec.h |   20 ++++++++++++++++++++
> >>> libavcodec/utils.c   |   43 ++++++++++++++++++++++++++++++++++++++++++-
> >>> 6 files changed, 71 insertions(+), 67 deletions(-)
> >>> 
> >>> This patch moves the guess_correct_pts function from cmdutils to libavcodec.
> >>> The feature is available through a new field in AVFrame, guessed_pts.
> >>> 
> >>> make test and ffplay still work, but I would like to have some more time to
> >>> read it carefully, but I have things to do in the next few days, and this
> >>> feature was discussed in another thread, so here the current version. It
> >>> will conflict with some patches that will certainly soon be applied, so I
> >>> will update and submit it again anyway.
> >> 
> >> What is all this guessing supposed to achieve anyway?  It makes me
> >> feel uneasy
> >
> > Try to play H.264 with reordered frame in avi container without this
> > guess, and you will see why it is necessary.
> 
> AVI does not have timestamps (only an implied DTS), so the PTS would
> be calculated by counting decoded frames and multiplying by the frame
> rate.

AVI has 0-size frames that are used to (very inefficiently) handle
variable frame rate, your method certain will mess up timing completely
for that case.



More information about the ffmpeg-devel mailing list