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

Måns Rullgård mans
Mon Jan 31 19:28:55 CET 2011


Reimar D?ffinger <Reimar.Doeffinger at gmx.de> writes:

> 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.

That doesn't work with reordered frames anyway.

-- 
M?ns Rullg?rd
mans at mansr.com



More information about the ffmpeg-devel mailing list