1
0
Fork 0
FFmpeg with custom patches for LAV Filters
Go to file
Marton Balint 52cc89dc45 avfilter/yadif_common: fix timestamps with very small timebases
Yadif filter assumed that the output timebase is always half of the input
timebase. This is not true if halving the input time base is not representable
as an AVRational causing the output timestamps to be invalidly scaled in such a
case.

So let's use av_reduce instead of av_mul_q when calculating the output time
base and if the conversion is inexact then let's fall back to the original
timebase which probably makes more parctical sense than using x/INT_MAX.

Fixes invalidly scaled pts_time values in this command line:
ffmpeg -f lavfi -i testsrc -vf settb=tb=1/2000000000,yadif,showinfo -f null none

Signed-off-by: Marton Balint <cus@passwd.hu>
2024-02-04 20:04:18 +01:00
compat configure: Set WIN32_LEAN_AND_MEAN at configure time 2023-08-14 22:57:28 +03:00
doc avcodec: add ambient viewing environment packet side data. 2024-02-04 13:36:21 -03:00
ffbuild riscv: test for assembler support 2023-12-08 17:21:09 +02:00
fftools avcodec: add ambient viewing environment packet side data. 2024-02-04 13:36:21 -03:00
libavcodec avcodec: add ambient viewing environment packet side data. 2024-02-04 13:36:21 -03:00
libavdevice lavd: deprecate the bktr device 2024-02-02 15:40:35 +01:00
libavfilter avfilter/yadif_common: fix timestamps with very small timebases 2024-02-04 20:04:18 +01:00
libavformat avformat/mov: add support for 'amve' ambient viewing environment box 2024-02-04 13:36:25 -03:00
libavutil avutil/rational: increase av_d2q precision 2024-02-04 20:04:18 +01:00
libpostproc Bump versions after 6.1 2023-10-29 16:19:14 +01:00
libswresample swr/swresample: avoid reapplication of firstpts 2023-12-18 15:47:04 +05:30
libswscale riscv: test for assembler support 2023-12-08 17:21:09 +02:00
presets
tests tests/fate/mov: add a test for reading and writing amve box 2024-02-04 14:03:45 -03:00
tools tools/target_dec_fuzzer: Adjust threshold for QPEG 2023-12-29 01:15:41 +01:00
.gitattributes fate: add SCC test 2017-01-27 17:06:42 +01:00
.gitignore gitignore: add config_components.h 2022-03-17 18:35:41 -03:00
.mailmap mailmap: remap my email accounts 2023-11-03 20:57:49 +08:00
.travis.yml Merge commit '899ee03088d55152a48830df0899887f055da1de' 2019-03-14 15:53:16 -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 Use https for repository links 2023-03-01 21:59:10 +01:00
Changelog lavc/bsf: add a showinfo filter 2024-02-02 15:41:54 +01:00
INSTALL.md INSTALL.md: Fix Markdown formatting 2019-01-31 10:29:16 -09:00
LICENSE.md avfilter/vf_geq: Relicense to LGPL 2019-12-28 11:20:48 +01:00
MAINTAINERS MAINTAINERS: add my new PGP key 2024-01-10 23:07:28 -05:00
Makefile configure: Add a --disable-version-tracking option 2023-12-21 11:00:34 +02:00
README.md README: fix typo and description of libavfilter 2021-10-08 09:44:34 +05:30
RELEASE RELEASE: update after 5.1 branch 2022-07-13 00:31:42 +02:00
configure avformat/mpegts: add ts stream types for H266/VVC 2024-01-31 22:14:12 +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.