FFmpeg git repo
Go to file
Mark Harris c51c08e0e7 avcodec: Use get_ue_golomb_long() when needed
get_ue_golomb() cannot decode values larger than 8190 (the maximum
value that can be golomb encoded in 25 bits) and produces the error
"Invalid UE golomb code" if a larger value is encountered.  Use
get_ue_golomb_long() instead (which supports 63 bits, up to 4294967294)
when valid h264/hevc values can exceed 8190.

This updates decoding of the following values:   (maximum)
  first_mb_in_slice                                36863* for level 5.2
  abs_diff_pic_num_minus1                         131071
  difference_of_pic_nums_minus1                   131071
  idr_pic_id                                       65535
  recovery_frame_cnt                               65535
  frame_packing_arrangement_id                4294967294
  frame_packing_arrangement_repetition_period      16384
  display_orientation_repetition_period            16384

An alternative would be to modify get_ue_golomb() to handle encoded
values of up to 49 bits as was done for get_se_golomb() in a92816c.
In that case get_ue_golomb() could continue to be used for all of
these except frame_packing_arrangement_id.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-12-29 13:11:51 +01:00
compat
doc avfilter/avf_showspectrum: add horizontal orientation support 2015-12-29 12:11:33 +01:00
libavcodec avcodec: Use get_ue_golomb_long() when needed 2015-12-29 13:11:51 +01:00
libavdevice lavd/pulse_audio_enc: replace lround by lrint 2015-12-21 08:25:30 -08:00
libavfilter avfilter/avf_showspectrum: properly calculate w factor 2015-12-29 12:11:33 +01:00
libavformat lavf/mpegtsenc: add automatic bitstream filtering 2015-12-28 08:40:37 -06:00
libavresample
libavutil lavu/eval: replace pow(10,x) by ff_exp10(x) 2015-12-25 10:48:13 -08:00
libpostproc
libswresample swr/resample: use av_clip_int16 instead of av_clip 2015-12-24 11:29:52 -08:00
libswscale swscale/utils: Fix intermediate format for cascaded alpha downscaling 2015-12-24 21:46:15 +01:00
presets
tests lavc: add text encoder 2015-12-21 11:14:02 +01:00
tools tools/bookmarklets: HTML code fixes 2015-12-25 17:54:58 +01:00
.gitattributes
.gitignore
.travis.yml
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
Changelog lavf: add automatic bitstream filtering; bump version 2015-12-28 08:40:35 -06:00
INSTALL.md
LICENSE.md
MAINTAINERS MAINTAINERS: add Eran Kornblau for aes_ctr and movenccenc 2015-12-22 13:57:55 +01:00
Makefile mips: rename mipsdspr1 to mipsdsp 2015-12-04 02:35:42 +01:00
README.md
RELEASE
arch.mak mips: rename mipsdspr1 to mipsdsp 2015-12-04 02:35:42 +01:00
cmdutils.c cosmetics: Fix weird indentations 2015-12-07 10:43:43 -08:00
cmdutils.h
cmdutils_common_opts.h
cmdutils_opencl.c
common.mak Merge commit '9f57f134c19773d54269b6cb9ee455ff87c2e9e1' 2015-12-05 12:21:33 +01:00
configure lavfi/af_anequalizer: remove cabs, cexp dependencies 2015-12-28 16:47:23 -08:00
ffmpeg.c ffmpeg: use lavf API for applying bitstream filters 2015-12-28 08:34:30 -06:00
ffmpeg.h ffmpeg: use lavf API for applying bitstream filters 2015-12-28 08:34:30 -06:00
ffmpeg_dxva2.c ffmpeg_dxva2: support vp9 hwaccel 2015-12-07 09:47:51 +01:00
ffmpeg_filter.c
ffmpeg_opt.c ffmpeg: use lavf API for applying bitstream filters 2015-12-28 08:34:30 -06:00
ffmpeg_qsv.c
ffmpeg_vdpau.c
ffmpeg_videotoolbox.c
ffplay.c Revert "ffplay: Fix auto insertion point of rotation filter" 2015-12-28 03:44:31 +01:00
ffprobe.c ffprobe: use print_val to print the frame pkt_size value 2015-12-16 18:59:23 +01:00
ffserver.c ffserver: add a doctype heading to our HTML pages 2015-12-27 00:09:16 -08:00
ffserver_config.c
ffserver_config.h
library.mak
version.sh

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. Few developers follow pull requests so they will likely be ignored.