FFmpeg git repo
Go to file
Muhammad Faiz b8c6e5a661 swresample: add exact_rational option
give high quality resampling
as good as with linear_interp=on
as fast as without linear_interp=on
tested visually with ffplay
ffplay -f lavfi "aevalsrc='sin(10000*t*t)', aresample=osr=48000, showcqt=gamma=5"
ffplay -f lavfi "aevalsrc='sin(10000*t*t)', aresample=osr=48000:linear_interp=on, showcqt=gamma=5"
ffplay -f lavfi "aevalsrc='sin(10000*t*t)', aresample=osr=48000:exact_rational=on, showcqt=gamma=5"

slightly speed improvement
for fair comparison with -cpuflags 0
audio.wav is ~ 1 hour 44100 stereo 16bit wav file
ffmpeg -i audio.wav -af aresample=osr=48000 -f null -
        old         new
real    13.498s     13.121s
user    13.364s     12.987s
sys      0.131s      0.129s

linear_interp=on
        old         new
real    23.035s     23.050s
user    22.907s     22.917s
sys      0.119s     0.125s

exact_rational=on
real    12.418s
user    12.298s
sys      0.114s

possibility to decrease memory usage if soft compensation is ignored

Signed-off-by: Muhammad Faiz <mfcc64@gmail.com>
2016-06-13 12:36:01 +07:00
compat Merge commit '6bb99757b780144d9fa27cdce09d3621e1a0ed43' 2016-05-08 23:02:33 +01:00
doc avfilter/af_loudnorm: add dual_mono option 2016-06-09 13:06:30 -05:00
libavcodec avcodec/h264_slice: Add casts to suppress warnings 2016-06-13 01:57:22 +02:00
libavdevice avdevice: Fix max value of AV_OPT_TYPE_VIDEO_RATE 2016-06-09 10:34:42 +02:00
libavfilter Timeline function for the eq filter 2016-06-13 01:57:22 +02:00
libavformat lavf/os_support.h: Fix for unicode filenames on windows. 2016-06-13 13:47:32 +10:00
libavresample Merge commit '01621202aad7e27b2a05c71d9ad7a19dfcbe17ec' 2016-05-09 16:25:28 +01:00
libavutil lavu/intmath.h: fix compilation with msvc10. 2016-06-13 13:49:24 +10:00
libpostproc
libswresample swresample: add exact_rational option 2016-06-13 12:36:01 +07:00
libswscale swscale: add input support for gbrap10 pixel format 2016-06-10 17:17:12 +02:00
presets
tests fate: add afade test 2016-06-12 15:05:48 +02:00
tools
.gitattributes
.gitignore Merge commit '06edef3d5e072ef3c4face9ce946d2d9c36cc477' 2016-05-12 14:04:02 +01:00
.travis.yml
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
Changelog avcodec/cuvid: add cuvid decoder 2016-06-10 16:31:23 +02:00
INSTALL.md
LICENSE.md
MAINTAINERS avcodec/cuvid: add cuvid decoder 2016-06-10 16:31:23 +02:00
Makefile ffmpeg: Add cuvid hwaccel support 2016-06-10 16:31:23 +02:00
README.md
RELEASE
arch.mak
cmdutils.c
cmdutils.h
cmdutils_common_opts.h
cmdutils_opencl.c
common.mak Merge commit '3dfbf32b95ae69a9b15cd4912bc1c68fa16b4093' 2016-04-21 16:03:43 +01:00
configure avcodec/cuvid: add cuvid decoder 2016-06-10 16:31:23 +02:00
ffmpeg.c ffmpeg: Add cuvid hwaccel support 2016-06-10 16:31:23 +02:00
ffmpeg.h ffmpeg: Add cuvid hwaccel support 2016-06-10 16:31:23 +02:00
ffmpeg_cuvid.c ffmpeg: Add cuvid hwaccel support 2016-06-10 16:31:23 +02:00
ffmpeg_dxva2.c
ffmpeg_filter.c ffmpeg_filter: Fix AVBufferSrcParameters leak 2016-05-19 00:10:27 +02:00
ffmpeg_opt.c ffmpeg: Add cuvid hwaccel support 2016-06-10 16:31:23 +02:00
ffmpeg_qsv.c
ffmpeg_vaapi.c Merge commit '5d273d3efac340ef8de445c955ff44c7abed4e8f' 2016-05-08 22:39:39 +01:00
ffmpeg_vdpau.c
ffmpeg_videotoolbox.c
ffplay.c ffplay: simplify display code 2016-05-31 00:33:50 +02:00
ffprobe.c ffprobe: Don't try and decode things that have no dec_ctx 2016-04-12 17:24:07 +01:00
ffserver.c ffserver: fixed deallocation bug in build_feed_streams 2016-05-27 00:22:06 +02:00
ffserver_config.c
ffserver_config.h
library.mak library.mak: Put -Umain back for tests 2016-06-01 16:32:08 +02:00
version.sh

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.
  • 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.