FFmpeg git repo
Go to file
Anton Khirnov 549d0bdca5 decode: be more explicit about storing the last packet properties
The current code stores a pointer to the packet passed to the decoder,
which is then used during get_buffer() for timestamps and side data
passthrough. However, since this is a pointer to user data which we do
not own, storing it is potentially dangerous. It is also ill defined for
the new decoding API with split input/output.

Fix this problem by making an explicit internally owned copy of the
packet properties.
2016-12-14 09:06:44 +01:00
compat compat/atomics: add typecasts in atomic_compare_exchange_strong() 2016-12-08 15:53:58 -05:00
doc lavc: add a null bitstream filter 2016-12-14 09:06:44 +01:00
libavcodec decode: be more explicit about storing the last packet properties 2016-12-14 09:06:44 +01:00
libavdevice build: Fix dependencies for alsa/jack/sndio support 2016-12-09 08:42:34 +01:00
libavfilter lavfi: Add VAAPI deinterlacer 2016-12-10 16:55:44 +00:00
libavformat avio: Keep track of the amount of data written 2016-12-08 15:58:28 -05:00
libavresample Fix some mismatches between function parameter and doxygen parameter names. 2016-11-21 14:29:10 +01:00
libavutil avutil: fix data race in av_get_cpu_flags() 2016-12-08 15:53:58 -05:00
libswscale swscale: Add GRAY12 2016-11-07 22:42:00 +01:00
presets presets: spelling error in libvpx 1080p50_60 2011-10-22 00:28:56 +02:00
tests avutil: fix data race in av_get_cpu_flags() 2016-12-08 15:53:58 -05:00
tools build: Move entries related to building TOOLS to a subdirectory Makefile 2016-12-07 11:02:31 +01:00
.gitattributes Treat all '*.pnm' files as non-text file 2014-11-28 17:52:43 -05:00
.gitignore build: Ignore generated mapfile and remove it on distclean 2016-05-27 11:27:24 +02:00
.travis.yml travis: Enable OSX integration 2015-11-17 16:51:00 +01:00
COPYING.GPLv2
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 partially rename FFmpeg to Libav 2011-03-16 21:54:39 +01:00
Changelog mov: Export spherical information 2016-12-07 14:35:06 -05:00
INSTALL doc: clarify configure features 2011-04-07 02:54:12 +02:00
LICENSE Remove the legacy X11 screen grabber 2016-07-29 19:03:10 +02:00
Makefile build: Use _extralibs variable names instead of _libs everywhere 2016-12-09 18:57:03 +01:00
README doc: Add more information in the README 2014-08-16 00:49:22 +02:00
README.md doc: Add travis badge 2015-09-14 00:19:08 +02:00
RELEASE Make the RELEASE file match with the most recent tag 2016-10-14 13:52:51 -04:00
arch.mak ppc: vsx: Implement float_dsp 2015-05-31 12:07:11 +02:00
avconv.c avconv: Fix the audio next dts computation 2016-11-29 10:38:01 +01:00
avconv.h avconv: support parsing bitstream filter options 2016-11-02 10:08:28 +01:00
avconv_dxva2.c avconv_dxva2: add a profile check for hevc 2016-07-20 16:33:09 +02:00
avconv_filter.c avconv: make sure the filtergraph is freed on init failure 2016-10-02 11:41:45 +02:00
avconv_opt.c avconv_opt: Consistently iterate through hwaccels array in all cases 2016-11-13 19:06:38 +01:00
avconv_qsv.c avconv_qsv: use the actual pixel format provided by lavc 2016-07-22 19:08:12 +02:00
avconv_vaapi.c avconv_vaapi: Convert to use hw_frames_ctx only 2016-08-30 22:16:01 +01:00
avconv_vda.c avconv: vda: Unlock the pixel buffer once it is accessed 2015-07-09 00:10:13 +02:00
avconv_vdpau.c avconv_vdpau: use the hwcontext device creation API 2016-05-26 15:40:34 +02:00
avplay.c avplay: Correct function pointer assignments in options array 2016-11-08 17:20:30 +01:00
avprobe.c avprobe: Allow specifying multiple stream entries to be shown 2016-12-07 14:35:08 -05:00
cmdutils.c avconv: switch to the new BSF API 2016-03-20 08:15:01 +01:00
cmdutils.h avconv: use read_file() for reading the 2pass stats 2015-07-19 09:37:11 +02:00
cmdutils_common_opts.h avplay: Accept cpuflags option 2013-10-22 10:49:31 +02:00
common.mak build: Rename host_libs/HOSTLIBS variables to host_extralibs/HOSTEXTRALIBS 2016-12-09 18:51:23 +01:00
configure configure: Add missing dxva2 dependency for dxva2_lib 2016-12-12 00:15:38 +01:00
library.mak build: Drop support for configuring library name suffixes 2016-12-03 09:15:01 +01:00
version.sh build: remove hardcoded name of version header 2016-09-15 21:59:15 +02:00

README.md

Libav

Build Status

Libav 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.
  • libavresample implements audio mixing and resampling routines.
  • libswscale implements color conversion and scaling routines.

Tools

  • avconv is a command line toolbox to manipulate, convert and stream multimedia content.
  • avplay is a minimalistic multimedia player.
  • avprobe 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

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