FFmpeg git repo
Go to file
Ganesh Ajjanagadde 6aaac24d72 avfilter/all: propagate errors of functions from avfilter/formats
Many of the functions from avfilter/formats can return errors, usually AVERROR(ENOMEM).
This propagates the return values.

All of these were found by using av_warn_unused_result, demonstrating its utility.

Tested with FATE. I am least sure of the changes to avfilter/filtergraph,
since I don't know what/how reduce_format is intended to behave and how it should
react to errors.

Fixes: CID 1325680, 1325679, 1325678.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Previous version Reviewed-by: Nicolas George <george@nsup.org>
Previous version Reviewed-by: Clément Bœsch <u@pkh.me>
Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com>
2015-10-14 10:04:01 -04:00
compat Merge commit 'c1aac39eaccd32dc3b74ccfcce701d3d888fbc6b' 2015-10-14 13:54:50 +02:00
doc Merge commit '34ed5c2e4d9b7fe5c9b3aae2da5599fabb95c02e' 2015-10-14 14:43:20 +02:00
libavcodec Merge commit '6a23a34274b747280c1e4a00ad22f97f99bbb48a' 2015-10-14 15:01:54 +02:00
libavdevice avdevice/libdc1394: add const to suppress "assignment discards const qualifier from pointer target type" warnings 2015-09-20 22:12:37 +02:00
libavfilter avfilter/all: propagate errors of functions from avfilter/formats 2015-10-14 10:04:01 -04:00
libavformat Merge commit '34ed5c2e4d9b7fe5c9b3aae2da5599fabb95c02e' 2015-10-14 14:43:20 +02:00
libavresample avresample/resample: remove unused variable 2015-09-19 23:40:34 +02:00
libavutil Merge commit '11c5f438ff83da5040e85bfa6299f56b321d32ef' 2015-10-14 14:01:11 +02:00
libpostproc Merge commit 'e88103a7f92cf27a2868b50acc8a9912f6088249' 2015-09-05 21:35:46 +02:00
libswresample doc/resampler, swresample/options: use proper capitalization 2015-10-10 20:49:54 +02:00
libswscale swscale: fix ticket #4881 2015-10-13 13:43:39 -03:00
presets presets: remove moldering iPod presets 2014-06-17 16:15:04 -08:00
tests vp9: add itxfm_add eob shortcuts to 10/12bpp functions. 2015-10-13 11:06:01 -04:00
tools Merge commit '87e5d8d78cf08b54b4a9e7cbaeff89f8c1d91b78' 2015-09-07 12:27:21 +02:00
.gitattributes Treat all '*.pnm' files as non-text file 2014-11-28 17:52:43 -05:00
.gitignore gitignore: ignore object file temporaries 2015-10-10 20:30:41 +02:00
.travis.yml Merge commit '1e0b8bf0b3b3b4247fb21e9839af342ae879607c' 2015-09-12 13:31:22 +02:00
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
Changelog AAC encoder: Extensive improvements 2015-10-11 17:29:50 -03:00
INSTALL.md
LICENSE.md avfilter: add rubberband wrapper 2015-09-20 19:54:57 +02:00
MAINTAINERS avfilter/vf_chromakey: Add chromakey video filter 2015-09-23 18:10:14 +02:00
Makefile avcodec: add new Videotoolbox hwaccel. 2015-08-03 10:12:10 +02:00
README.md README: replace http with https 2015-10-06 13:27:29 +02:00
RELEASE RELEASE: update to 2.8.git 2015-09-09 23:53:15 -03:00
arch.mak use mmi instead of loongson3 as simd-optimization flag 2015-07-07 03:46:57 +02:00
cmdutils.c cmdutils: silence unused warnings under --disable-swscale, --disable-swresample 2015-10-03 19:26:09 +02:00
cmdutils.h cmdutils: remove sws_opts usage, simplify code 2015-08-08 16:51:25 +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 Merge commit 'c1aac39eaccd32dc3b74ccfcce701d3d888fbc6b' 2015-10-14 13:54:50 +02:00
configure Merge commit 'c1aac39eaccd32dc3b74ccfcce701d3d888fbc6b' 2015-10-14 13:54:50 +02:00
ffmpeg.c ffmpeg: add deprecation guards around remaining AVFMT_RAWPICTURE usage 2015-10-14 14:52:43 +02:00
ffmpeg.h Merge commit '16b0c929621f84983b83b9735ce973acb12723bc' 2015-10-14 14:28:20 +02:00
ffmpeg_dxva2.c ffmpeg_dxva2: call GetDesktopWindow() in place of GetShellWindow() 2015-06-03 16:25:08 +02:00
ffmpeg_filter.c Revert "Merge commit '8b830ee9a26d47b138f12a82085cdb372f407f1e'" (avconv: Do not try to configure filter outputs without streams) 2015-10-11 12:24:43 +02:00
ffmpeg_opt.c Merge commit '16b0c929621f84983b83b9735ce973acb12723bc' 2015-10-14 14:28:20 +02:00
ffmpeg_vdpau.c ffmpeg_vdpau: Ignore decoder's max supported level 2015-08-16 15:02:33 -07:00
ffmpeg_videotoolbox.c build: restore videotoolbox compilation on iOS 2015-10-09 10:59:31 +02:00
ffplay.c ffplay: eliminate stream_component_close forward declaration 2015-10-12 00:07:38 +02:00
ffprobe.c ffprobe: use AV_OPT_TYPE_BOOL for writers options 2015-09-12 17:50:22 +02:00
ffserver.c ffserver: avoid leaking pathname at exit 2015-10-04 22:31:22 -07:00
ffserver_config.c ffserver_config: check for INT_MIN before doing FFABS 2015-10-13 19:40:09 -04:00
ffserver_config.h ffserver: Use singlejpeg muxer for jpeg 2015-06-08 03:36:22 +02:00
library.mak build: add LDLIBFLAGS 2015-07-08 14:35:02 +02:00
tst.avi Merge commit '16b0c929621f84983b83b9735ce973acb12723bc' 2015-10-14 14:28:20 +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.

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.