Go to file
Vignesh Venkatasubramanian 7be0f48a32 lavf/matroskaenc: Write Block Keyframe correctly
Per matroska Block Structure [1], for keyframes 0th bit of the flag
should not be set (unlike SimpleBlocks). For Blocks, keyframes is
inferred by the absence of ReferenceBlock element (as done by
matroskadec). This CL writes the flag correctly and inserts the
ReferenceBlock element for non-keyframes. The timestamp inserted is
that of the immediately preceding frame (which is true for VP8 and VP9
- the only 2 codecs using the matroska block element as of now). It
also considers all non-video frames (audio, subtitles, metadata) to
be keyframes.

[1] http://www.matroska.org/technical/specs/index.html#block_structure

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-05 02:48:04 +02:00
compat compat/os2threads: Check av_malloc() return code 2015-06-02 15:16:45 +02:00
doc swresample: Add swr_get_out_samples() 2015-06-04 05:37:32 +02:00
libavcodec avcodec/utils: Assert that audio decoders do not report using more data than was input 2015-06-04 23:10:56 +02:00
libavdevice
libavfilter lavfi/tinterlace: Double aspect ratio for modes merge and pad. 2015-06-04 17:03:29 +02:00
libavformat lavf/matroskaenc: Write Block Keyframe correctly 2015-06-05 02:48:04 +02:00
libavresample
libavutil avcodec/mips: MSA (MIPS-SIMD-Arch) optimizations for HEVC idct functions 2015-06-04 18:39:53 +02:00
libpostproc
libswresample swresample/resample: fix typos 2015-06-04 13:04:09 +02:00
libswscale
presets
tests lavf/riffenc: Set correct block align for mp2. 2015-06-04 17:03:34 +02:00
tools
.gitattributes
.gitignore
arch.mak
Changelog
cmdutils_common_opts.h
cmdutils_opencl.c
cmdutils.c
cmdutils.h
common.mak
configure Merge commit 'e97446e600578392549ef6d0191f2020dae7f8bf' 2015-06-03 18:52:05 +02:00
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
ffmpeg_dxva2.c ffmpeg_dxva2: call GetDesktopWindow() in place of GetShellWindow() 2015-06-03 16:25:08 +02:00
ffmpeg_filter.c
ffmpeg_opt.c
ffmpeg_vda.c
ffmpeg_vdpau.c
ffmpeg.c
ffmpeg.h
ffplay.c
ffprobe.c
ffserver_config.c
ffserver_config.h
ffserver.c ffserver: check return code of avio_alloc_context() 2015-06-02 14:45:08 +02:00
INSTALL.md
library.mak
LICENSE.md
MAINTAINERS
Makefile
README.md
RELEASE
version.sh

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.