No description
Find a file
Michael Niedermayer 6db8cd8f37 Merge commit 'fbd6c97f9c'
* commit 'fbd6c97f9c':
  lavu: fix memory leaks by using a mutex instead of atomics

Conflicts:
	libavutil/buffer.c

The atomics code is left in place as a fallback for synchronization in the
absence of p/w32 threads. Our ABI did not requires applications to
only use threads (and matching ones) to what libavutil was build with
Our code also was not affected by the leak this change fixes, though
no question the atomics based implementation is not pretty at all.
First and foremost the code must work, being pretty comes after that.

If this causes problems, for example when libavutil is used by multiple
applications each using a different kind of threading system then the
default possibly has to be changed to the uglier atomics.

See: cea3a63ba3
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-27 23:42:16 +01:00
compat w32pthreads: use the condition variable API directly when targeting newer versions of Windows 2014-10-10 11:27:30 +03:00
doc ffserver: allow skip setting defaults 2014-11-26 23:32:33 +01:00
libavcodec avcodec/mjpegdec: Fix integer overflow in shift 2014-11-27 19:30:31 +01:00
libavdevice msvc: Fix compilation errors due to header include order. 2014-11-27 12:40:18 +01:00
libavfilter avfilter/signalstats: re-use yuv/yuvu/yuvv vars in diff 2014-11-26 21:29:09 +01:00
libavformat lavf/ffmenc: store recommended encoder configuration 2014-11-27 23:19:41 +01:00
libavresample Merge commit '963f761448' 2014-10-18 22:53:23 +02:00
libavutil Merge commit 'fbd6c97f9c' 2014-11-27 23:42:16 +01:00
libpostproc postproc: fix qp count 2014-10-13 16:12:30 +02:00
libswresample x86/swr: add ff_float_to_int32_a_avx2 2014-11-07 15:01:35 -03:00
libswscale swscale/x86/rgb2rgb_template: handle the first 2 lines with C in rgb24toyv12_*() 2014-11-20 01:20:31 +01:00
presets presets: remove moldering iPod presets 2014-06-17 16:15:04 -08:00
tests v210enc: Add SIMD optimised 8-bit and 10-bit encoders 2014-11-26 20:30:47 +01:00
tools Merge commit '6f26f14f13' 2014-11-24 14:01:50 +01:00
.gitignore gitignore: add test_copy.ffmeta 2014-10-17 15:57:12 +02:00
arch.mak Merge commit '8675bcb0ad' 2014-04-07 02:15:18 +02:00
Changelog doc: add entry for APNG demuxer where needed. 2014-11-25 18:28:32 +01:00
cmdutils.c cmdutils: Exit in case of faulty stream specifiers 2014-11-17 04:06:32 +01:00
cmdutils.h opts: add list device sources/sinks options 2014-10-25 20:20:31 +02:00
cmdutils_common_opts.h opts: add list device sources/sinks options 2014-10-25 20:20:31 +02:00
cmdutils_opencl.c cmdutils_opencl: Use av_malloc_array() 2014-07-01 03:49:36 +02:00
common.mak Merge commit 'afe1762654' 2014-05-20 03:33:30 +02:00
configure Merge commit '79fd186a50' 2014-11-27 11:35:54 +01:00
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1 cosmetics: Delete empty lines at end of file. 2012-02-09 12:26:45 +01:00
COPYING.LGPLv3
CREDITS CREDITS: redirect to Git log, remove current outdated content 2013-01-31 18:02:52 +01:00
ffmpeg.c ffmpeg: Print a debug message if the frame parameters mismatch the context 2014-11-27 15:47:49 +01:00
ffmpeg.h ffmpeg: fix accurate seeking with -copyts 2014-11-24 17:31:26 +01:00
ffmpeg_dxva2.c Merge commit 'a7c5fddac8' 2014-04-30 00:46:38 +02:00
ffmpeg_filter.c ffmpeg: fix accurate seeking with -copyts 2014-11-24 17:31:26 +01:00
ffmpeg_opt.c ffmpeg_opt: make use of recommended encoder configuration 2014-11-27 23:19:46 +01:00
ffmpeg_vda.c Merge commit '1839fafa95' 2014-05-12 02:44:28 +02:00
ffmpeg_vdpau.c Merge commit '8de1d67967' 2014-10-06 16:31:51 +02:00
ffplay.c ffplay: fix mem leak when opening input or parsing options fail. 2014-11-22 15:55:07 +01:00
ffprobe.c Set -scan_all_pmts 1 in ffmpeg, ffplay and ffprobe if not set by user. 2014-11-09 18:28:29 +01:00
ffserver.c ffserver: dont leak pb_buffer 2014-11-26 23:32:33 +01:00
ffserver_config.c ffserver: dont leak child arguments 2014-11-26 23:32:33 +01:00
ffserver_config.h ffserver: dont leak child arguments 2014-11-26 23:32:33 +01:00
INSTALL.md INSTALL: add markdown syntax 2014-05-28 22:38:38 +02:00
library.mak Merge commit 'bb0babd705' 2014-07-22 02:45:45 +02:00
LICENSE.md lavfi : change xBR filter to LGPL 2014-11-15 18:54:54 +01:00
MAINTAINERS doc: add entry for APNG demuxer where needed. 2014-11-25 18:28:32 +01:00
Makefile ffserver: move configuration code to separate file 2014-10-22 22:37:40 +02:00
README.md README: fix 2 typo in the doc/examples sentence 2014-11-03 09:21:45 +01: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

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.