Go to file
wm4 04f3bd3496 AVFrame: add an opaque_ref field
This is an extended version of the AVFrame.opaque field, which can be
used to attach arbitrary user information to an AVFrame.

The usefulness of the opaque field is rather limited, because it can
store only up to 32 bits of information (or 64 bit on 64 bit systems).
It's not possible to set this field to a memory allocation, because
there is no way to deallocate it correctly.

The opaque_ref field circumvents this by letting the user set an
AVBuffer, which makes the user data refcounted.

Signed-off-by: Anton Khirnov <anton@khirnov.net>
2017-02-11 11:37:45 +01:00
avbuild build: Add version numbers to "Requires" entries in pkg-config files 2016-12-28 17:41:54 +01:00
compat compat/atomics: add typecasts in atomic_compare_exchange_strong() 2016-12-08 15:53:58 -05:00
doc AVFrame: add an opaque_ref field 2017-02-11 11:37:45 +01:00
libavcodec lavc: use av_cpu_max_align() instead of hardcoding alignment requirements 2017-02-11 11:37:45 +01:00
libavdevice build: Generate pkg-config files from Make and not from configure 2016-12-22 12:30:54 +01:00
libavfilter scale_npp: explicitly set the output frames context for passthrough mode 2017-02-11 11:37:45 +01:00
libavformat Use the new AVIOContext destructor. 2017-02-11 11:37:45 +01:00
libavresample Mark some arrays that never change as const. 2017-02-01 10:42:59 +01:00
libavutil AVFrame: add an opaque_ref field 2017-02-11 11:37:45 +01:00
libswscale swscale-test: const correctness for pointer variable 2017-01-24 13:03:57 +01:00
presets presets: spelling error in libvpx 1080p50_60 2011-10-22 00:28:56 +02:00
tests fate: Skip the checkasm test if CONFIG_STATIC is disabled 2017-01-09 13:57:02 +02: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 .version files 2017-02-03 11:37:53 +01:00
.travis.yml travis: Enable OSX integration 2015-11-17 16:51:00 +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: allow -b to be used with streamcopy 2017-02-01 10:42:59 +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
avconv.c avconv: allow -b to be used with streamcopy 2017-02-01 10:42:59 +01:00
avconv.h avconv: allow -b to be used with streamcopy 2017-02-01 10:42:59 +01:00
avplay.c Replace cmdutils_common_opts.h by a macro 2017-01-12 11:42:21 +01:00
avprobe.c Use the new AVIOContext destructor. 2017-02-11 11:37:45 +01:00
Changelog vaapi_encode: Add VP8 support 2017-01-30 23:03:46 +00:00
cmdutils.c cmdutils: update copyright year to 2017 2017-01-01 17:10:11 -05:00
cmdutils.h Replace cmdutils_common_opts.h by a macro 2017-01-12 11:42:21 +01:00
configure configure: Correctly recurse in do_check_deps() 2017-02-08 21:23:41 +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 partially rename FFmpeg to Libav 2011-03-16 21:54:39 +01: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 Replace cmdutils_common_opts.h by a macro 2017-01-12 11:42:21 +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

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.