1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-28 20:53:54 +02:00
Go to file
Marios Titas 47f0d80ee0 avfilter/src_movie: fix how we check for overflows with seek_point
Currently, if the movie source filter is used and a seek_point is
specified on a file that has a negative start time, ffmpeg will fail.

An easy way to reproduce this is as follows:
$ ffmpeg -vsync passthrough -filter_complex 'color=d=10,setpts=PTS-1/TB' test.mp4
$ ffmpeg -filter_complex 'movie=filename=test.mp4:seek_point=2' -f null -

The problem is caused by checking for int64_t overflow the wrong way.
In general, to check whether a + b overflows, it is not enough to do:
    a > INT64_MAX - b
because b might be negative; the correct way is:
    b > 0 && > a > INT64_MAX - b

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
(cherry picked from commit c1f9734f97)

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-04-03 01:55:24 +02:00
compat compat/os2threads: split long lines 2016-02-14 19:17:36 +01:00
doc doc/Doxyfile: update for 3.0.1 2016-03-29 04:25:48 +02:00
libavcodec avcodec/j2kenc: Add attribution to OpenJPEG project: 2016-04-01 17:35:50 +02:00
libavdevice libavdevice/dshow.c: Correct CoGetMalloc check 2016-02-13 22:57:26 +01:00
libavfilter avfilter/src_movie: fix how we check for overflows with seek_point 2016-04-03 01:55:24 +02:00
libavformat avformat/svag: fix division by zero 2016-03-28 19:10:34 -03:00
libavresample
libavutil lavc/aacenc_utils: replace powf(x,y) by expf(logf(x), y) 2016-03-28 16:57:41 +01:00
libpostproc postproc: fix unaligned access 2016-02-23 15:58:07 +01:00
libswresample x86: use the new helper macros where useful 2016-02-14 20:04:19 -03:00
libswscale swscale/utils: Fix chrSrcHSubSample for GBRAP16 2016-03-26 21:52:47 +01:00
presets
tests avformat/utils: fix dts from pts code in compute_pkt_fields() during ascending delay 2016-03-26 21:52:47 +01:00
tools avcodec: Remove libstagefright 2016-01-06 16:43:06 +00:00
.gitattributes
.gitignore build: use a link instead of changing current directory when compiling 2016-01-25 20:43:34 +01:00
.travis.yml
arch.mak
Changelog Changelog: update 2016-03-29 04:23:42 +02:00
cmdutils_common_opts.h
cmdutils_opencl.c
cmdutils.c cmdutils: realign for some additional filters with very long name 2016-02-06 12:48:51 +01:00
cmdutils.h fate/source: Do not use GNU extensions in sed 2016-02-13 07:59:00 -08:00
common.mak build: use a link instead of changing current directory when compiling 2016-01-25 20:43:34 +01:00
configure configure: check for SEC_I_CONTEXT_EXPIRED before enabling SChannel 2016-03-16 15:32:50 +01:00
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
ffmpeg_dxva2.c
ffmpeg_filter.c ffmpeg_filter: Factor get_compliance_unofficial_pix_fmts() out 2016-02-10 13:28:23 +01:00
ffmpeg_opt.c ffmpeg_opt: Fix memleaks in "manually set programs" loop 2016-02-08 15:57:24 +01:00
ffmpeg_qsv.c
ffmpeg_vdpau.c
ffmpeg_videotoolbox.c
ffmpeg.c ffmpeg: replace "flush Media" with "flush_media" in benchmark_all output 2016-01-29 10:58:18 +01:00
ffmpeg.h
ffplay.c ffplay: update docs after previous changes in ffplay mouse behaviour 2016-01-20 21:23:03 +01:00
ffprobe.c ffprobe: Deprecate stream timecode field and add frame side data timecode field 2016-02-01 18:19:30 +00:00
ffserver_config.c
ffserver_config.h
ffserver.c ffserver&ffm: Fixed issues preventing ffserver write_index and files_size from being set correctly which was breaking ffserver streaming. 2016-02-23 15:58:42 +01:00
INSTALL.md
library.mak build: use a link instead of changing current directory when compiling 2016-01-25 20:43:34 +01:00
LICENSE.md avcodec: Remove libaacplus 2016-01-29 17:14:37 -08:00
MAINTAINERS MAINTAINERS: add myself as an OS/2 maintainer 2016-03-26 21:52:46 +01:00
Makefile build: use intermediate lcov coverage file 2016-02-06 15:42:09 +01:00
README.md
RELEASE Update for 3.0.1 2016-03-26 22:37:41 +01:00
RELEASE_NOTES Basic updates for 3.0 2016-02-14 23:03:41 +01:00
version.sh

FFmpeg README

FFmpeg is a collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata.

Libraries

  • libavcodec provides implementation of a wider range of codecs.
  • libavformat implements streaming protocols, container formats and basic I/O access.
  • libavutil includes hashers, decompressors and miscellaneous utility functions.
  • libavfilter provides a mean to alter decoded Audio and Video through chain of filters.
  • libavdevice provides an abstraction to access capture and playback devices.
  • libswresample implements audio mixing and resampling routines.
  • libswscale implements color conversion and scaling routines.

Tools

  • ffmpeg is a command line toolbox to manipulate, convert and stream multimedia content.
  • ffplay is a minimalistic multimedia player.
  • ffprobe is a simple analysis tool to inspect multimedia content.
  • ffserver is a multimedia streaming server for live broadcasts.
  • Additional small tools such as aviocat, ismindex and qt-faststart.

Documentation

The offline documentation is available in the doc/ directory.

The online documentation is available in the main website and in the wiki.

Examples

Coding examples are available in the doc/examples directory.

License

FFmpeg codebase is mainly LGPL-licensed with optional components licensed under GPL. Please refer to the LICENSE file for detailed information.

Contributing

Patches should be submitted to the ffmpeg-devel mailing list using git format-patch or git send-email. Github pull requests should be avoided because they are not part of our review process. Few developers follow pull requests so they will likely be ignored.