Go to file
Gopu Govindaswamy 94c20de429 avcodec/libx265: use x265 Multi-library Interface to query the API
ffmpeg can now use the x265 multi-library interface to make a runtime
selection between a number of libx265 libraries (perhaps 8bpp and 16bpp).

ffmpeg will link to one build of libx265 (statically or
dynamically) and this linked version of libx265 will support one
bit-depth (8 or 10 bits). At runtime, ffmpeg now has the option to request the
encoder to use a different bit depth(8 or 10). If the requested bitdepth
is zero, or if it matches the bitdepth of the system default libx265 (the
currently linked library), then this library will be used for encode.
If ffmpeg requests a different bit-depth, the linked libx265 will attempt
to dynamically bind a shared library with the requested bit-depth from the install
location (default or user-specified).

new x265 API:
     const x265_api* api = x265_api_get(int bitDepth);
     x265_api - holds the libx265 public API functions
     bitDepth - requested API for 8bpp or 16bpp

     note: Use 0 to indicate native bit depth of the linked libx265 and
           x265_api_get(0) is guaranteed to return a non-null pointer

Signed-off-by: Gopu Govindaswamy <gopu@multicorewareinc.com>
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2015-05-11 16:15:23 +01:00
compat avisynth: drop support of AviSynth 2.5 2015-03-25 20:37:26 +01:00
doc doc/APIchanges: fill missing versions and hashes 2015-05-07 18:56:26 -03:00
libavcodec avcodec/libx265: use x265 Multi-library Interface to query the API 2015-05-11 16:15:23 +01:00
libavdevice avdevice/v4l2: Try to fix build on netbsd/openbsd 2015-05-09 00:27:00 +02:00
libavfilter Revert "lavfi: always check av_expr_parse_and_eval() return value" 2015-05-05 16:27:24 +02:00
libavformat avformat/vorbiscomment: Use 64bit int for ff_vorbiscomment_length() 2015-05-11 15:56:16 +02:00
libavresample Merge commit '0ac8ff618c5e6d878c547a8877e714ed728950ce' 2015-04-29 05:46:35 +02:00
libavutil avutil/dict: Use size_t for appending strings 2015-05-10 16:09:07 +02:00
libpostproc postproc/postprocess: Use size_t to hold strlen()s value 2015-05-10 16:28:37 +02:00
libswresample swresample/dither_template: Do not define macro functions to nothing 2015-05-07 01:07:30 +02:00
libswscale swscale/x86/swscale: Fix warning about loosing significant bits in cast 2015-05-10 15:09:04 +02:00
presets presets: remove moldering iPod presets 2014-06-17 16:15:04 -08:00
tests fate: Use more than 5 frames for testing select and idet filters 2015-05-10 23:32:11 +02:00
tools tools/cws2fws: Use a similar implementation in dbgprintf() as in ff_dlog() 2015-05-06 16:11:50 +02:00
.gitattributes Treat all '*.pnm' files as non-text file 2014-11-28 17:52:43 -05:00
.gitignore doc/examples: add directory listing example 2015-03-28 03:13:44 +01:00
arch.mak makefile: add Loongson-3 support 2015-04-27 14:10:28 +02:00
Changelog vp9: add missing changelog and APIchanges entries for new VP9 profiles 2015-05-07 18:35:12 -03: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
cmdutils.c cmdline: Check options array for not working flag combinations 2015-05-09 13:07:21 +02:00
cmdutils.h ffplay&cmdutils:Factor get_rotation() code out 2015-05-03 23:49:16 +02:00
common.mak x86: Makefile: fix DBG parameter evaluation 2015-03-11 01:54:07 +01:00
configure avcodec/libx265: use x265 Multi-library Interface to query the API 2015-05-11 16:15:23 +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 CREDITS: redirect to Git log, remove current outdated content 2013-01-31 18:02:52 +01:00
ffmpeg_dxva2.c ffmpeg_dxva2: add hevc support 2015-01-27 12:37:34 +01:00
ffmpeg_filter.c ffmpeg_filter: use get_rotation() 2015-05-04 00:14:36 +02:00
ffmpeg_opt.c ffmpeg_opt: Fix -timestamp parsing 2015-05-09 13:07:00 +02:00
ffmpeg_vda.c vda: Cast to not discard constant qualifier and silence compiler warning 2015-04-09 01:23:33 +02:00
ffmpeg_vdpau.c Merge commit '1f9237f2ac46dfbed1bfa1f4f0f1314c2a1d62ec' 2014-12-27 13:26:38 +01:00
ffmpeg.c Merge commit '16302246b1fcb7ad4e6f7bd31c49956a455336d2' 2015-05-02 22:39:00 +02:00
ffmpeg.h Merge commit '16302246b1fcb7ad4e6f7bd31c49956a455336d2' 2015-05-02 22:39:00 +02:00
ffplay.c ffplay&cmdutils:Factor get_rotation() code out 2015-05-03 23:49:16 +02:00
ffprobe.c ffprobe: Use av_packet_side_data_name() to find the side data name 2015-05-07 21:20:26 +02:00
ffserver_config.c ffserver_config: reflow add_codec() 2014-12-09 01:03:01 -03:00
ffserver_config.h ffserver: dont leak child arguments 2014-11-26 23:32:33 +01:00
ffserver.c ffserver: remove stale debug stanza 2015-03-08 18:24:56 -03:00
INSTALL.md INSTALL: add markdown syntax 2014-05-28 22:38:38 +02:00
library.mak x86/doc/Makefile: DBG=1 to preprocess external asm 2015-02-17 13:08:04 +01:00
LICENSE.md LICENSE.md: add *_rect filters 2015-05-03 01:43:30 +02:00
MAINTAINERS MAINTAINERS: Add Lou Logan as server admin as he is root too 2015-04-06 20:24:05 +02:00
Makefile makefile: add Loongson-3 support 2015-04-27 14:10:28 +02:00
README.md README: add ffserver 2015-02-12 11:59:22 +01:00
RELEASE RELEASE: update to 2.6.git 2015-03-08 18:59:57 -03:00
version.sh version.sh: Print versions based on the last git tag for release branches 2014-07-28 15:44:59 +02:00

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.