FFmpeg git repo
Go to file
Henrik Gramner 8bc67ec2c0 Checkasm: assembly testing and benchmarking tool
It provides the following features:
 * verify correctness by comparing output to the C version.
 * detect failure to save and restore clobbered callee-saved registers.
 * detect 32-bit parameters being used as if they were 64-bit in x86-64
   (the upper halves are not guaranteed to be zero - but in practice
   they very often are, which makes those bugs hard to spot otherwise).
 * easy benchmarking.

Compile by running 'make checkasm'.
Execute by running 'tests/checkasm/checkasm'.

Optional arguments are '--bench' to run benchmarks for all functions,
'--bench=<pattern>' to run benchmarks for all functions that starts with
<pattern>, and '<integer>' to seed the PRNG for reproducible results.

Contains unit tests for most h264pred functions to get started, more tests
can be added afterwards using those as a reference.

Loosely based on code from x264. Currently only supports x86 and x86-64,
but additional architectures shouldn't be too much of an obstacle to add.

Note that functions with floating point parameters or floating point
return values are not supported. Some compiler-specific features or
preprocessor hacks would likely be required to add support for that.

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
2015-07-12 16:39:07 +02:00
compat w32pthreads: use the condition variable API directly when targeting newer versions of Windows 2014-10-10 11:27:30 +03:00
doc doc: Use the succinct syntax for the channelmap example 2015-07-09 00:09:53 +02:00
libavcodec g726: Do not crash on user mistake 2015-07-11 18:45:44 +02:00
libavdevice fbdev: Support the RGB565 colour space. 2015-07-11 10:15:59 +03:00
libavfilter lavfi: Add library identifier 2015-07-01 00:13:58 +01:00
libavformat asfdec: always reset packet state after seeking 2015-07-12 13:24:23 +02:00
libavresample x86: check for AV_CPU_FLAG_AVXSLOW where useful 2015-05-31 12:07:11 +02:00
libavutil x86: Serialize rdtsc in read_time() 2015-07-09 00:10:13 +02:00
libswscale ppc: Restrict some Altivec implementations to Big Endian 2015-05-31 12:07:11 +02:00
presets
tests Checkasm: assembly testing and benchmarking tool 2015-07-12 16:39:07 +02:00
tools cws2fws: Close file handles on error 2015-06-12 17:02:49 +01:00
.gitattributes Treat all '*.pnm' files as non-text file 2014-11-28 17:52:43 -05:00
.gitignore Checkasm: assembly testing and benchmarking tool 2015-07-12 16:39:07 +02:00
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
Changelog lavc: add Intel libmfx-based HEVC encoder 2015-07-08 23:40:11 +02:00
INSTALL
LICENSE license: Mention that vf_interlace is GPL, not LGPL 2014-08-28 19:47:43 +02:00
Makefile lavu: add an API function to return the Libav version string 2015-07-02 23:22:53 +02:00
README doc: Add more information in the README 2014-08-16 00:49:22 +02:00
README.md doc: Add more information in the README 2014-08-16 00:49:22 +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: do not stop processing the input packet on decoding error 2015-06-27 16:45:41 +02:00
avconv.h avconv: Add an option for automatically rotating video according to display matrix 2015-05-02 22:09:06 +03:00
avconv_dxva2.c avconv_dxva2: add hevc support 2015-01-27 09:06:05 +01:00
avconv_filter.c avconv: Add an option for automatically rotating video according to display matrix 2015-05-02 22:09:06 +03:00
avconv_opt.c avconv_opt: Check localtime() return value 2015-06-12 17:02:48 +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: allocate video surface of VDPAU-specified size 2014-12-25 20:47:49 +01:00
avplay.c avplay: Add support for rotated video 2015-05-02 22:06:29 +03:00
avprobe.c avprobe: Print the display matrix from per-stream sidedata 2015-05-02 22:09:09 +03:00
cmdutils.c lavu: add an API function to return the Libav version string 2015-07-02 23:22:53 +02:00
cmdutils.h cmdutils: Mark exit_program as av_noreturn 2014-03-28 00:40:43 +01:00
cmdutils_common_opts.h
common.mak build: export library dependencies in ${name}_FFLIBS 2014-05-20 00:43:51 +02:00
configure configure: Make the new qsv encoder depend on libmfx 2015-07-09 00:20:27 +02:00
library.mak build: Support executable only ldflags 2014-07-21 22:18:35 +02:00
version.sh

README.md

Libav

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.