FFmpeg git repo
Go to file
Anton Khirnov c17e33c058 fftools/ffmpeg: propagate frame durations to packets when encoding
Remove now-obsolete code setting packet durations pre-muxing for CFR
encoded video.

Changes output in the following FATE tests:
* numerous adpcm tests
* ffmpeg-filter_complex_audio
* lavf-asf
* lavf-mkv
* lavf-mkv_attachment
* matroska-encoding-delay
  All of these change due to the fact that the output duration is now
  the actual input data duration and does not include padding added by
  the encoder.

* apng-osample: less wrong packet durations are now passed to the muxer.
  They are not entirely correct, because the first frame duration should
  be 3 rather than 2. This is caused by the vsync code and should be
  addressed later, but this change is a step in the right direction.
* tscc2-mov: last output frame has a duration of 11 rather than 1 - this
  corresponds to the duration actually returned by the demuxer.
* film-cvid: video frame durations are now 2 rather than 1 - this
  corresponds to durations actually returned by the demuxer and matches
  the timestamps.
* mpeg2-ticket6677: durations of some video frames are now 2 rather than
  1 - this matches the timestamps.
2023-04-19 21:12:03 +02:00
compat compat: Use '-' instead of '/' for rc.exe options 2023-02-13 13:49:40 +02:00
doc avutil: make av_frame_get_plane_buffer accept a const AVFrame* 2023-04-14 10:53:28 +02:00
ffbuild configure: probe RISC-V Vector extension 2022-09-27 13:19:52 +02:00
fftools fftools/ffmpeg: propagate frame durations to packets when encoding 2023-04-19 21:12:03 +02:00
libavcodec lavc/mjpegdec: properly set pts and duration for smvjpeg 2023-04-19 21:12:03 +02:00
libavdevice avdevice/decklink_enc: Add support for compressed AC-3 output over SDI 2023-04-08 20:08:18 +02:00
libavfilter lavfi: ensure audio frame durations match the sample count 2023-04-19 21:12:03 +02:00
libavformat yuv4mpegenc: add bitdepth multiplier after rounding width. 2023-04-19 09:49:09 -04:00
libavutil avutil/wchar_filename: propagate MultiByteToWideChar() and WideCharToMultiByte() failures 2023-04-14 10:04:47 -03:00
libpostproc version.h: Bump minor post 6.0 branch 2023-02-19 18:37:36 +01:00
libswresample swresample/swresample: add a used channel layout option using the new API 2023-02-19 18:28:45 -03:00
libswscale version.h: Bump minor post 6.0 branch 2023-02-19 18:37:36 +01:00
presets
tests fftools/ffmpeg: propagate frame durations to packets when encoding 2023-04-19 21:12:03 +02:00
tools tools/zmqshell: port to python3 2023-04-02 16:28:54 +02:00
.gitattributes
.gitignore
.mailmap mailmap: stop git lying about who I commit things as 2022-11-04 19:37:46 +01:00
.travis.yml
CONTRIBUTING.md
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS Use https for repository links 2023-03-01 21:59:10 +01:00
Changelog lavc/libaribcaption.c: add ARIB caption decoder using libaribcaption 2023-03-28 12:05:19 -04:00
INSTALL.md
LICENSE.md
MAINTAINERS MAINTAINERS: add maintainer for the imf demuxer 2023-02-13 18:41:22 +01:00
Makefile tools: add an AV_CODEC_CAP_ENCODER_RECON_FRAME test tool 2023-03-28 13:00:42 +02:00
README.md
RELEASE RELEASE: update after 5.1 branch 2022-07-13 00:31:42 +02:00
configure configure: remove duplicated extralibs of android_camera 2023-04-11 19:57:09 +08: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 means to alter decoded audio and video through a directed graph of connected 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.