FFmpeg git repo
Go to file
Martin Storsjö 230b1c070b intreadwrite: Add intermediate variables in the byteswise AV_W*() macros
This avoids issues with expanding the argument multiple times,
and makes sure that it is of the right type for the following shifts.

Even if the caller of a macro could be expected not to pass parameters
that have side effects if expanded multiple times, these fallback
codepaths are rarely, if ever, tested, so it is expected that such
issues can arise.

Thefore, for safety, make sure the fallback codepaths only expand
the arguments once.

Signed-off-by: Martin Storsjö <martin@martin.st>
2016-08-02 11:32:35 +03:00
compat jack: Support OSX 2016-03-31 18:03:21 +02:00
doc x86: Add SSSE3_SLOW CPU flag and related convenience macros 2016-07-20 18:43:28 +02:00
libavcodec Don't use expressions with side effects in macro parameters 2016-07-31 22:50:51 +03:00
libavdevice x11grab: Rename internal component to "xcbgrab" 2016-07-29 19:03:10 +02:00
libavfilter lavfi: add a QSV deinterlacing filter 2016-07-22 19:08:13 +02:00
libavformat Don't use expressions with side effects in macro parameters 2016-07-31 22:50:51 +03:00
libavresample build: Change structure of the linker version script templates 2016-05-29 16:43:11 +02:00
libavutil intreadwrite: Add intermediate variables in the byteswise AV_W*() macros 2016-08-02 11:32:35 +03:00
libswscale swscale: Add proper ff_ prefix to init functions 2016-07-16 17:38:37 +02:00
presets presets: spelling error in libvpx 1080p50_60 2011-10-22 00:28:56 +02:00
tests checkasm: Cast unsigned to signed 2016-07-23 08:27:32 +02:00
tools tools: Port to codec parameters API 2016-05-17 11:16:26 +02: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
COPYING.LGPLv2.1 cosmetics: Delete empty lines at end of file. 2012-02-09 12:26:45 +01:00
COPYING.LGPLv3
CREDITS partially rename FFmpeg to Libav 2011-03-16 21:54:39 +01:00
Changelog Remove the legacy X11 screen grabber 2016-07-29 19:03:10 +02: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: Simplify postprocessing of linker version script files 2016-05-29 16:49:16 +02: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 2014-12-01 07:51:14 -05:00
arch.mak ppc: vsx: Implement float_dsp 2015-05-31 12:07:11 +02:00
avconv.c avconv: Check that muxing_queue exists before reading from it 2016-07-27 10:59:48 +02:00
avconv.h avconv: stop using setpts for input framerate forced with -r 2016-07-22 19:08:12 +02:00
avconv_dxva2.c avconv_dxva2: add a profile check for hevc 2016-07-20 16:33:09 +02:00
avconv_filter.c avconv: stop using setpts for input framerate forced with -r 2016-07-22 19:08:12 +02:00
avconv_opt.c avconv: init filtergraphs only after we have a frame on each input 2016-06-25 12:04:32 +02: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: use the hwcontext device creation API 2016-05-26 15:40:34 +02: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 Use AVFrame.pts instead of deprecated pkt_pts. 2016-06-21 19:54:42 +02:00
avprobe.c Revert "avprobe: Zero the allocated avio buffer memory" 2016-07-21 21:53:20 +02: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: Simplify postprocessing of linker version script files 2016-05-29 16:49:16 +02:00
configure x11grab: Rename internal component to "xcbgrab" 2016-07-29 19:03:10 +02:00
library.mak build: Simplify postprocessing of linker version script files 2016-05-29 16:49:16 +02:00
version.sh Drop git- prefix from version labels 2011-06-19 19:41:23 +01: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.