• Ganesh Ajjanagadde's avatar
    ffmpeg: avoid possible undefined behavior · 2f4374fa
    Ganesh Ajjanagadde authored
    On lines 1633,1634 FFABS(pts) is performed. However, if av_stream_get_end_pts
    returns AV_NOPTS_VALUE always, pts remains stuck at INT64_MIN, leading
    to undefined behavior on FFABS.
    
    One could conceive of a solution using FFNABS. However, such a solution
    has to deal with the implementation defined rounding of integer division
    with at least one negative operand in ANSI C89. C99 forces truncation to
    zero, but I am not sure that all of our platforms compile with full C99
    support, and in particular whether we can safely assume a fixed
    rounding behavior across all platforms.
    
    This solution is simple, and I doubt changing INT64_MIN to INT64_MIN + 1
    has any practical loss - if it is stuck at its initial value, the stream
    is messed up anyway.
    Signed-off-by: 's avatarGanesh Ajjanagadde <gajjanagadde@gmail.com>
    Signed-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
    2f4374fa
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...
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_dxva2.c Loading commit data...
ffmpeg_filter.c Loading commit data...
ffmpeg_opt.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...