[FFmpeg-devel] [PATCH] Implement guessed_pts in avcodec_decode_video2. (original) (raw)

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


Jean-Daniel Dupas writes:

Le 31 janv. 2011 ? 13:37, M?ns Rullg?rd a ?crit :

Jean-Daniel Dupas 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 guesscorrectpts function from cmdutils to libavcodec. The feature is available through a new field in AVFrame, guessedpts. 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