• Philip Langdale's avatar
    crystalhd: Fix handling of PTS · b5f45208
    Philip Langdale authored
    With all the various refactorings that have happened over the years,
    the current pts logic is very broken for non-trivial cases (ie: ones
    where not every frame/field has a meaningful pts assocated with it).
    
    Generally, we do not want to write AV_NOPTS_VALUE as the output
    timestamp, regardless of anything else. It's better to pass zero
    if there's no other information.
    
    Additionally, interlaced content where the decoder returns each field
    separately can result in the first field carrying the timestamp and
    the second having AV_NOPTS_VALUE. It's clearly wrong to overwrite
    the valid timestamp.
    
    So, let's just never write AV_NOPTS_VALUE into an output frame.
    
    Empirically, this fixed playback of interlaced mpeg2 and h.264 and
    mpeg4-asp with packed b-frames in an avi container.
    b5f45208
Name
Last commit
Last update
compat Loading commit data...
doc Loading commit data...
libavcodec Loading commit data...
libavdevice Loading commit data...
libavfilter Loading commit data...
libavformat Loading commit data...
libavresample Loading commit data...
libavutil Loading commit data...
libpostproc Loading commit data...
libswresample Loading commit data...
libswscale Loading commit data...
presets Loading commit data...
tests Loading commit data...
tools Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.travis.yml Loading commit data...
CONTRIBUTING.md Loading commit data...
COPYING.GPLv2 Loading commit data...
COPYING.GPLv3 Loading commit data...
COPYING.LGPLv2.1 Loading commit data...
COPYING.LGPLv3 Loading commit data...
CREDITS Loading commit data...
Changelog Loading commit data...
INSTALL.md Loading commit data...
LICENSE.md Loading commit data...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README.md Loading commit data...
RELEASE Loading commit data...
arch.mak Loading commit data...
cmdutils.c Loading commit data...
cmdutils.h Loading commit data...
cmdutils_common_opts.h Loading commit data...
cmdutils_opencl.c Loading commit data...
common.mak Loading commit data...
configure Loading commit data...
ffmpeg.c Loading commit data...
ffmpeg.h Loading commit data...
ffmpeg_cuvid.c Loading commit data...
ffmpeg_dxva2.c Loading commit data...
ffmpeg_filter.c Loading commit data...
ffmpeg_opt.c Loading commit data...
ffmpeg_qsv.c Loading commit data...
ffmpeg_vaapi.c Loading commit data...
ffmpeg_vdpau.c Loading commit data...
ffmpeg_videotoolbox.c Loading commit data...
ffplay.c Loading commit data...
ffprobe.c Loading commit data...
ffserver.c Loading commit data...
ffserver_config.c Loading commit data...
ffserver_config.h Loading commit data...
library.mak Loading commit data...
version.sh Loading commit data...