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

Jean-Daniel Dupas devlists
Tue Feb 1 18:01:06 CET 2011


Le 1 f?vr. 2011 ? 17:44, M?ns Rullg?rd a ?crit :

> Michael Niedermayer <michaelni at gmx.at> writes:
> 
>> On Tue, Feb 01, 2011 at 12:47:17PM +0000, M?ns Rullg?rd wrote:
>>> Alexander Strange <astrange at ithinksw.com> writes:
>>> 
>>>> On Jan 30, 2011, at 2:28 PM, Nicolas George wrote:
>>>> 
>>>>> 
>>>>> 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.
>>>>> 
>>>>> Regards,
>>>>> 
>>>>> -- 
>>>>> Nicolas George
>>>>> 
>>>>> [..]
>>>>> +\
>>>>> +    /**\
>>>>> +     * pts estimated using various heuristics, in stream time base\
>>>>> +     * - encoding: unused\
>>>>> +     * - decoding: set by libavcodec, read by user.\
>>>>> +     */\
>>>>> +    int64_t guessed_pts;\
>>>> 
>>>> It's not quite estimated, it's chosen from either pts or dts.  I
>>>> think the name should be reassuring - though I can't think of one,
>>>> just 'timestamp'?
>>>> Also, the comment should say that clients can rely on this as the
>>>> time of the frame.
>>> 
>>> But can they?  The current code certainly doesn't look reliable to me.
>> 
>> A patch that improves it together with a bugreport that shows an example of
>> improvment is welcome.
>> 
>> besides in how far is this related to this patch?
> 
> The patch pushes the broken guessing code into lavc, which was up
> until now reliable.

If it was reliable, why ffplay and ffmpeg had to implement guessing in the first place ? 

-- Jean-Daniel







More information about the ffmpeg-devel mailing list