Go to file
Jörg Krause 56b8d10676 configure: Refactor setting of feature test macro _XOPEN_SOURCE
Some C libraries, eg glibc, uclibc, and musl, uses feature test macros
to expose definitions conforming to the standards ISO C, POSIX and
extensions. According to which feature test macros are defined by the
user or the compiler, a header file, eg <features.h>, used by these
libraries internally defines various other macros.

glibc and uclibc also defines release test macros, eg __GLIBC__ and
__UCLIBC__ in <features.h>. musl does not have (and does not want) a
macro __MUSL__. Therefore it is not possible to check for the musl
library.

However, building FFmpeg with musl needs the feature test macro
_XOPEN_SOURCE=600 to be defined.

Signed-off-by: Jörg Krause <jkrause@posteo.de>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-09-22 00:34:56 +02:00
compat Merge commit 'f929ab0569ff31ed5a59b0b0adb7ce09df3fca39' 2014-08-15 21:00:50 +02:00
doc avcodec/dv_profile: deprecate internal function that shouldn't be public 2014-09-19 14:32:38 -03:00
libavcodec avcodec/webvttdec: add some memory checks 2014-09-21 18:41:45 +02:00
libavdevice avdevice/lavfi: dont assign variables to themselfs 2014-09-13 22:32:21 +02:00
libavfilter avfilter/vf_scale: Allow chroma samples to be above and to the left of luma samples 2014-09-21 12:24:03 +02:00
libavformat avformat/assenc: mux all extradata at once 2014-09-21 18:55:12 +02:00
libavresample Add missing "const" all over the place. 2014-08-29 18:57:25 +02:00
libavutil lavu/bprint: add const to av_bprint_is_complete() argument. 2014-09-21 19:42:21 +02:00
libpostproc postproc/postprocess: Avoid some ifs in do_a_deblock_C() 2014-09-19 17:00:15 +02:00
libswresample libswresample: move condition to start of loop. 2014-09-07 11:31:34 +02:00
libswscale swscale: Allow chroma samples to be above and to the left of luma samples 2014-09-21 12:23:24 +02:00
presets presets: remove moldering iPod presets 2014-06-17 16:15:04 -08:00
tests tests/utils: make arguments const that arent changed 2014-09-19 20:25:30 +02:00
tools tools/crypto_bench: fix build when AV_READ_TIME is unavailable 2014-09-16 18:25:43 +02:00
.gitignore avcodec: export motion vectors in frame side data on demand 2014-08-18 14:13:57 +02:00
arch.mak Merge commit '8675bcb0addb1c7fb0b04682d1f3f95d5b8dae14' 2014-04-07 02:15:18 +02:00
Changelog rtpenc: HEVC/H.265 support 2014-09-21 12:49:08 +02:00
cmdutils_common_opts.h ffmpeg: add -devices param 2014-05-28 03:52:50 +02:00
cmdutils_opencl.c cmdutils_opencl: Use av_malloc_array() 2014-07-01 03:49:36 +02:00
cmdutils.c Merge commit '2dd09ebf5597fd5e4a573bee9cccf21ae821f286' 2014-09-17 19:59:10 +02:00
cmdutils.h ffmpeg: add -devices param 2014-05-28 03:52:50 +02:00
common.mak Merge commit 'afe176265480880e1f702c96a8ba434b0d88728b' 2014-05-20 03:33:30 +02:00
configure configure: Refactor setting of feature test macro _XOPEN_SOURCE 2014-09-22 00:34:56 +02:00
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
ffmpeg_dxva2.c Merge commit 'a7c5fddac8137654cb503295c4dfb6492df43643' 2014-04-30 00:46:38 +02:00
ffmpeg_filter.c ffmpeg: Do av_buffersink_set_frame_size() when reconfiguring the filtergraph not just when changing audio resample parameters 2014-09-11 04:55:58 +02:00
ffmpeg_opt.c ffmpeg_opt: reduce diff to libav in opt_target() by 16 lines 2014-08-27 14:27:30 +02:00
ffmpeg_vda.c Merge commit '1839fafa951308237c4672ffd9a94f927b26eac7' 2014-05-12 02:44:28 +02:00
ffmpeg_vdpau.c Merge commit '7671dd7cd7d51bbd637cc46d8f104a141bc355ea' 2013-11-23 14:46:48 +01:00
ffmpeg.c ffmpeg: Do av_buffersink_set_frame_size() when reconfiguring the filtergraph not just when changing audio resample parameters 2014-09-11 04:55:58 +02:00
ffmpeg.h ffmpeg: Enable compute_edt only when the subtitles are used for a output stream instead of a filter 2014-09-01 19:51:58 +02:00
ffplay.c ffplay: try to fix build failure on apple 2014-09-17 04:43:51 +02:00
ffprobe.c Print bits_per_raw_sample for ffprobe -show_streams. 2014-09-08 17:49:20 +02:00
ffserver.c ffserver: drop custom skip_spaces() impl 2014-09-13 21:01:01 -03:00
INSTALL.md INSTALL: add markdown syntax 2014-05-28 22:38:38 +02:00
library.mak Merge commit 'bb0babd7054bed7edfd9f4d6b20cdba864de1830' 2014-07-22 02:45:45 +02:00
LICENSE.md Merge commit '9e8bbe7d4d1dcd5fec491dbfbb98ed2038a7bed5' 2014-08-29 01:08:57 +02:00
MAINTAINERS MAINTAINERS: Add 2.4 to maintained releases, drop 2.3 2014-09-14 16:00:00 +02:00
Makefile Merge commit 'd45ebd4876ab8fc07736a644de07e1b1d11a8e5d' 2014-07-22 03:06:43 +02:00
README.md Merge commit '96ce6d6f119a16e489941c629a2805204322b717' 2014-08-17 21:41:55 +02:00
RELEASE RELEASE: update to 2.4.git 2014-09-15 13:11:10 -03:00
RELEASE_NOTES Changelog/RELEASE_NOTES: prepare for 2.4 2014-09-14 13:41:49 +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

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 analisys 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

Conding examples are available in the doc/example directory.

License

FFmpeg codebase is mainly LGPL-licensed with optional components licensed under GPL. Please refer to the LICENSE file for detailed information.