FFmpeg git repo
Go to file
Rostislav Pehlivanov 2ad1768c7b opusenc: implement a psychoacoustic system
This commit implements a psychoacoustic system for the native Opus
encoder. Its unlike any other psychoacoustic system known since its
capable of using a lookahead to make better choices on how to treat the
current frame and how many bits to allocate for it (and future frames).

Also, whilst the main bulk of the analysis function has to run in a
single thread, the per-frame anaylsis functions does not modify the main
psychoacoustic context, so in the future it will be fairly trivial to
run those as slice threads.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
2017-09-23 08:27:44 +01:00
compat compat/cuda/ptx2c: strip CR from each line 2017-08-30 11:20:34 +02:00
doc Fix several typos 2017-09-21 16:17:02 -08:00
ffbuild build: Skip generating .version files when cleaning 2017-09-10 01:22:57 -03:00
libavcodec opusenc: implement a psychoacoustic system 2017-09-23 08:27:44 +01:00
libavdevice Remove some unneeded casts of bit_rate. 2017-09-22 01:33:22 +02:00
libavfilter avfilter/thumbnail_cuda: add cuda thumbnail filter 2017-09-22 11:54:35 +02:00
libavformat avformat/gif: use av_packet_alloc() 2017-09-23 02:18:47 -03:00
libavresample
libavutil pixdesc: Add API to map color property names to enum values 2017-09-21 13:33:29 +02:00
libpostproc postproc: remove usage of deprecated QP_STORE_T define 2017-08-30 14:44:27 -03:00
libswresample swresample/resample: Fix flush refelction length 2017-08-16 00:54:17 +02:00
libswscale Fix several typos 2017-09-21 16:17:02 -08:00
presets
tests fate: add mxf_dv25/dvcpro50 regression tests 2017-09-18 08:56:52 +02:00
tools
.gitattributes
.gitignore
.travis.yml build: Prefer NASM assembler over YASM 2017-06-21 17:00:30 -03:00
CONTRIBUTING.md
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
Changelog libavcodec: v4l2: add support for v4l2 mem2mem codecs 2017-09-23 08:47:52 +02:00
INSTALL.md
LICENSE.md
MAINTAINERS MAINTAINERS: modify the hlsenc description 2017-09-21 23:08:55 +08:00
Makefile dxva: add support for new dxva2 and d3d11 hwaccel APIs 2017-06-27 18:05:02 +02:00
README.md
RELEASE
cmdutils.c
cmdutils.h
cmdutils_opencl.c
configure libavcodec: v4l2: add support for v4l2 mem2mem codecs 2017-09-23 08:47:52 +02:00
ffmpeg.c ffmpeg: send EOF pts to filters. 2017-09-08 10:31:07 +02:00
ffmpeg.h dxva: add support for new dxva2 and d3d11 hwaccel APIs 2017-06-27 18:05:02 +02:00
ffmpeg_cuvid.c
ffmpeg_filter.c
ffmpeg_hw.c
ffmpeg_opt.c ffmpeg_opt: add proper deprecation guards to lowres code 2017-08-30 22:45:00 -03:00
ffmpeg_qsv.c
ffmpeg_videotoolbox.c
ffplay.c ffplay: add support for more SDL pixel formats when rendering video 2017-08-10 22:08:40 +02:00
ffprobe.c ffprobe: use consistent string for unspecified color_range value 2017-09-07 13:26:44 +02:00
ffserver.c Remove some unneeded casts of bit_rate. 2017-09-22 01:33:22 +02:00
ffserver_config.c
ffserver_config.h

README.md

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.

Contributing

Patches should be submitted to the ffmpeg-devel mailing list using git format-patch or git send-email. Github pull requests should be avoided because they are not part of our review process and will be ignored.