1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-03 05:10:03 +02:00
Go to file
wm4 09b4ad1568 vp9: avoid infinite loop with broken files
With a certain fuzzed file, the parser will always return 0 consumed
bytes, which makes calling code call the parser infinitely. Return the
full packet size on error instead. (Here it would be nice if parsers
could return errors at all.)

Additionally, _if_ there's some data left, return that too, which might
help with somewhat broken but still somehow playable files.

Fixes ticket #4242.

Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-10 20:12:36 +01:00
compat compat/avisynth/avxsynth_c: Clear all unused fields in returned structs 2014-12-11 16:12:47 +01:00
doc doc/examples: fix lib math dep for decoding_encoding 2015-01-10 04:50:42 +01:00
libavcodec vp9: avoid infinite loop with broken files 2015-01-10 20:12:36 +01:00
libavdevice avdevice/lavfi: Use avio_closep() to avoid leaving stale pointers in memory 2015-01-08 14:11:44 +01:00
libavfilter avfilter/vf_pp7: Add GBRP pixel format 2015-01-10 16:19:16 +01:00
libavformat avformat/movenc: move variable to a more local block 2015-01-10 04:50:50 +01:00
libavresample
libavutil Merge commit '07a0c0f0005072d115ace61e60f46be68582cc3a' 2015-01-06 21:37:48 +01:00
libpostproc Add FFMPEG_VERSION into the binary libs 2014-12-19 19:32:40 +01:00
libswresample x86/swr: disable pack_8ch functions on msvc/icl x86_32 2014-12-31 16:38:33 -03:00
libswscale Merge commit '1dd797e3c9f179f957316a0becbec048b42df8aa' 2015-01-06 21:44:50 +01:00
presets
tests tests/regression-funcs: Remove hardcoded threads 1 2015-01-03 15:09:12 +01:00
tools tools/uncoded_frame: Use avio_closep() to avoid leaving stale pointers in memory 2015-01-09 15:55:07 +01:00
.gitattributes
.gitignore
arch.mak
Changelog Merge commit '8a3d9ca603f4d15ecaa9ca379cbaab4ecaec8ce4' 2015-01-07 00:48:23 +01:00
cmdutils_common_opts.h
cmdutils_opencl.c
cmdutils.c cmdutils.c: Use av_realloc_array() 2015-01-06 17:52:54 +01:00
cmdutils.h
common.mak
configure configure: enable vsx together with altivec for ppc64el 2015-01-10 04:50:17 +01:00
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
ffmpeg_dxva2.c
ffmpeg_filter.c
ffmpeg_opt.c ffmpeg_opt: Use avio_closep() to avoid leaving stale pointers in memory 2015-01-08 14:10:23 +01:00
ffmpeg_vda.c
ffmpeg_vdpau.c Merge commit '1f9237f2ac46dfbed1bfa1f4f0f1314c2a1d62ec' 2014-12-27 13:26:38 +01:00
ffmpeg.c ffmpeg: remove unneeded NULL pointer check 2015-01-09 15:55:07 +01:00
ffmpeg.h ffmpeg: add sdp_file option 2014-12-28 02:05:34 +01:00
ffplay.c ffplay: dump format before selecting streams 2015-01-01 14:38:12 +01:00
ffprobe.c ffprobe: Support extracting the number of reference frames 2014-12-30 17:55:20 +01:00
ffserver_config.c ffserver_config: reflow add_codec() 2014-12-09 01:03:01 -03:00
ffserver_config.h
ffserver.c ffserver: Use av_malloc_array() 2015-01-10 00:17:38 +01:00
INSTALL.md
library.mak
LICENSE.md LICENSE.md: mention mpdecimate and not decimate to be GPL 2015-01-10 13:32:55 +00:00
MAINTAINERS avcodec: Add NVENC encoder 2014-12-11 01:06:27 +01:00
Makefile Makefile: add dependencies which require ffversion.h 2014-12-20 04:17:03 +01:00
README.md
RELEASE RELEASE: Bump 2014-12-04 11:44:35 +01:00
RELEASE_NOTES avformat/mov: Disable XMP metadata by default 2014-12-11 21:47:37 +01:00
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 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

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.