Go to file
Michael Niedermayer 4977692461 swresample: Choose 16bit internally only if input and output is 16bit or less
or if no rematrix and no resampling is performed and the input is 16bit
note reampling and rematrix itself always use more than 16bit internally
the "internal" sampling format is the format between these steps

Its unlikely the difference from this commit is audible in any case
unless there is some bug either before or after the change.
but multiple people prefer this and it slightly improves the precission
of computations.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-21 17:33:46 +02:00
compat compat/os2threads: Check av_malloc() return code 2015-06-02 15:16:45 +02:00
doc libvpxenc: support setting colorspace for vp9 2015-06-20 16:30:46 -07:00
libavcodec avcodec/jpeg2000dwt: also test 9/7 float DWT 2015-06-21 15:52:53 +02:00
libavdevice doc: avoid incorrect phrase 'allows to' 2015-06-16 21:48:51 +02:00
libavfilter libavfilter/formats: Fix parsing of channel specifications with a trailing 'c'. 2015-06-20 19:51:14 +02:00
libavformat avformat/brstm: support little-endian s16 PCM 2015-06-21 10:32:13 +00:00
libavresample Merge commit 'd68c05380cebf563915412182643a8be04ef890b' 2015-06-01 00:22:47 +02:00
libavutil avutil/fixed_dsp: remove ff_ prefix from static function 2015-06-20 03:39:09 -03:00
libpostproc postproc: fix unaligned access 2015-06-19 01:47:59 +02:00
libswresample swresample: Choose 16bit internally only if input and output is 16bit or less 2015-06-21 17:33:46 +02:00
libswscale swscale/output: Add rgba64/rgb48/bgra64/bgr48 output functions with full chroma interpolation 2015-06-17 00:45:46 +02:00
presets presets: remove moldering iPod presets 2014-06-17 16:15:04 -08:00
tests swresample: Choose 16bit internally only if input and output is 16bit or less 2015-06-21 17:33:46 +02:00
tools Merge commit '30dfc1dad4285e7362ce3f596d7c5d5d9b7fb33d' 2015-06-12 22:46:10 +02:00
.gitattributes Treat all '*.pnm' files as non-text file 2014-11-28 17:52:43 -05:00
.gitignore doc/examples: add directory listing example 2015-03-28 03:13:44 +01:00
COPYING.GPLv2 Rename COPYING.GPL --> COPYING.GPLv2 and COPYING.LGPL --> COPYING.LGPLv2.1. 2009-06-05 09:51:31 +00:00
COPYING.GPLv3 Add configure option to upgrade (L)GPL to version 3. 2009-06-05 11:04:03 +00:00
COPYING.LGPLv2.1 cosmetics: Delete empty lines at end of file. 2012-02-09 12:26:45 +01:00
COPYING.LGPLv3 Add configure option to upgrade (L)GPL to version 3. 2009-06-05 11:04:03 +00:00
CREDITS CREDITS: redirect to Git log, remove current outdated content 2013-01-31 18:02:52 +01:00
Changelog lavf/brstm: support little-endian files (BCSTM; 3DS) 2015-06-20 16:50:47 +02:00
INSTALL.md INSTALL: add markdown syntax 2014-05-28 22:38:38 +02:00
LICENSE.md LICENSE.md: add *_rect filters 2015-05-03 01:43:30 +02:00
MAINTAINERS MAINTAINERS: add myself as hls encryption maintainer 2015-06-16 16:52:38 +02:00
Makefile makefile: add Loongson-3 support 2015-04-27 14:10:28 +02:00
README.md README: add ffserver 2015-02-12 11:59:22 +01:00
RELEASE RELEASE: update to 2.6.git 2015-03-08 18:59:57 -03:00
arch.mak Merge commit 'eecd29b3fd7fee221580798346d6582b75c7ade4' 2015-05-31 23:42:36 +02:00
cmdutils.c cmdutils: Fix sign error in display matrix auto-rotation code 2015-05-18 02:07:34 +02:00
cmdutils.h ffplay&cmdutils:Factor get_rotation() code out 2015-05-03 23:49:16 +02:00
cmdutils_common_opts.h opts: add list device sources/sinks options 2014-10-25 20:20:31 +02:00
cmdutils_opencl.c OpenCL: Avoid potential buffer overflow in cmdutils_opencl.c 2015-04-28 12:18:23 +02:00
common.mak x86: Makefile: fix DBG parameter evaluation 2015-03-11 01:54:07 +01:00
configure configure: make makeinfo_html check more robust 2015-06-16 21:47:17 +02:00
ffmpeg.c ffmpeg: Free last_frame instead of just unref 2015-06-18 05:27:08 +02:00
ffmpeg.h ffmpeg: Do not copy the display matrix if rotation meta-data is manually added 2015-05-18 00:52:36 +02:00
ffmpeg_dxva2.c ffmpeg_dxva2: call GetDesktopWindow() in place of GetShellWindow() 2015-06-03 16:25:08 +02:00
ffmpeg_filter.c ffmpeg_filter: use get_rotation() 2015-05-04 00:14:36 +02:00
ffmpeg_opt.c ffmpeg_opt: Fix handling of creation_time now 2015-06-21 04:57:20 +02:00
ffmpeg_vda.c vda: Cast to not discard constant qualifier and silence compiler warning 2015-04-09 01:23:33 +02:00
ffmpeg_vdpau.c Merge commit '1f9237f2ac46dfbed1bfa1f4f0f1314c2a1d62ec' 2014-12-27 13:26:38 +01:00
ffplay.c ffplay: use av_clip() instead of nested min & max 2015-06-06 13:18:28 +02:00
ffprobe.c ffprobe: check av_asprintf() for failure 2015-06-13 01:45:27 +02:00
ffserver.c ffserver: Use singlejpeg muxer for jpeg 2015-06-08 03:36:22 +02:00
ffserver_config.c ffserver: Use singlejpeg muxer for jpeg 2015-06-08 03:36:22 +02:00
ffserver_config.h ffserver: Use singlejpeg muxer for jpeg 2015-06-08 03:36:22 +02:00
library.mak library.mak: Workaround SDL redefining main and breaking fate tests on mingw 2015-06-19 12:12:27 +02:00
version.sh version.sh: Print versions based on the last git tag for release branches 2014-07-28 15:44:59 +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.
  • 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.