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

Måns Rullgård mans
Mon Jan 31 14:59:50 CET 2011


Jean-Daniel Dupas <devlists at shadowlab.org> writes:

> Le 31 janv. 2011 ? 13:37, M?ns Rullg?rd a ?crit :
>
>> 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.
>
> So why the demuxer is providing wrong information ? 

Because someone put code in libavformat to guess missing PTS.
Unfortunately this code is broken.

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



More information about the ffmpeg-devel mailing list