Go to file
Derek Buitenhuis 28503c5aea mov: Properly abide by the track's media duration
The track's media duration from the mdhd atom takes precedence
over both the stts and elst atom for calculating and setting
the track's total duraion.

Technically, we shouldn't be using the stts atom at all for
calculating stream durations.

This fixes incorrect stream and final packet durations on files
with edit lists that are longer than the media duration.

The FATE changes are expected, and output is more correct (the
AAC frame is not 1028 samples).

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2018-04-26 14:42:15 +01:00
compat w32pthreads: always use Vista+ API, drop XP support 2018-04-09 21:58:39 +02:00
doc doc/examples/filtering_audio: Remove setting deprecated refcounted_frames 2018-04-22 15:39:22 +08:00
ffbuild Merge commit '17b6c7efb471e8ff1b8a7271f6531ba1d52bf69c' 2017-11-12 01:02:02 -03:00
fftools make swresample optional for ffmpeg 2018-04-25 12:38:03 +02:00
libavcodec avcodec/error_resilience: Fix integer overflow in filter181() 2018-04-25 23:09:47 +02:00
libavdevice avdevice/android_camera: Fix AVClass.version 2018-04-19 23:44:33 +02:00
libavfilter avfiler/vf_mix: fix crash with >8 bit depth 2018-04-25 14:08:21 +02:00
libavformat mov: Properly abide by the track's media duration 2018-04-26 14:42:15 +01:00
libavresample avresample: remove deprecated attribute from the AVAudioResampleContext struct 2018-01-09 10:56:53 -03:00
libavutil avformat/mov: Increase support for common encryption. 2018-04-19 03:15:32 +02:00
libpostproc Bump minor versions after release/4.0 branching 2018-04-16 12:35:12 +02:00
libswresample swresample/arm: remove unintentional relocation. 2018-04-19 21:49:47 +02:00
libswscale swscale/swscale_unscaled : add X86_64 (SSE2 and AVX) for uyvyto422 2018-04-22 19:15:32 +02:00
presets presets: remove moldering iPod presets 2014-06-17 16:15:04 -08:00
tests mov: Properly abide by the track's media duration 2018-04-26 14:42:15 +01:00
tools lav*,tests: remove several register_all calls 2018-04-02 03:26:22 +01:00
.gitattributes fate: add SCC test 2017-01-27 17:06:42 +01:00
.gitignore Remove the ffserver program 2018-01-06 18:31:37 +00:00
.travis.yml Merge commit '4809781586d1c956005f72946a2aab5915eab350' 2017-10-28 15:08:31 -03:00
CONTRIBUTING.md Add CONTRIBUTING.md 2016-09-18 10:02:13 +01:00
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS CREDITS: redirect to Git log, remove current outdated content 2013-01-31 18:02:52 +01:00
Changelog Revert "libavformat: add mbedTLS based TLS" 2018-04-23 20:29:02 +01:00
INSTALL.md INSTALL: add markdown syntax 2014-05-28 22:38:38 +02:00
LICENSE.md Merge commit '4fef648d10bf3bcfd4b8fa5755c1128966a2427c' 2017-03-15 22:07:47 +01:00
MAINTAINERS MAINTAINERS: add myself to documentation section 2018-04-13 09:40:27 -08:00
Makefile Revert "lavd: add new API for iterating input and output devices" 2018-03-31 23:26:31 +01:00
README.md Remove the ffserver program 2018-01-06 18:31:37 +00:00
RELEASE RELEASE: update for git after 3.4 branchpoint 2017-10-11 02:46:23 +02:00
configure make swresample optional for ffmpeg 2018-04-25 12:38:03 +02:00

README.md

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.
  • 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 and will be ignored.