FFmpeg git repo
Go to file
Andreas Rheinhardt 7ae1c0dd3e avcodec/h264_redundant_pps_bsf: Don't remove PPS
There is no check for whether these supposedly redundant PPS
are actually redundant. One could check via memcmp which would
work in practice* (because all content buffers are initially
zero-allocated), but this is not portable as compilers may
trash padding inside structures as they wish.

In case the PPS is not really redundant the output is garbage.
This happens with several files from the FATE-suite. E.g.
h264-conformance/CVCANLMA2_Sony_C.jsv doesn't decode correctly
any more, whereas h264-conformance/CABA3_TOSHIBA_E.264 even
fails in ff_cbs_write_packet(), because the inferred value
of num_ref_idx_l0_active_minus1 mismatches with the value set
in the slice (this happens when num_ref_idx_l0_default_active_minus1
changes in the PPS; the value in the slice header is inferred from
the original PPS's num_ref_idx_l0_default_active_minus1).

*: Unless slice_group_id is used, i.e. unless slice_group_map_type
is six.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2022-09-25 14:53:45 +02:00
compat compat/cuda: switch from powf to __powf intrinsic 2022-09-03 20:27:34 +02:00
doc avcodec/h264_redundant_pps_bsf: Don't remove PPS 2022-09-25 14:53:45 +02:00
ffbuild
fftools fftools/ffmpeg_filter: configure min_hard_comp unconditionally 2022-09-23 19:58:08 +08:00
libavcodec avcodec/h264_redundant_pps_bsf: Don't remove PPS 2022-09-25 14:53:45 +02:00
libavdevice avutil/internal: Move avpriv-file API to a header of its own 2022-09-03 15:41:44 +02:00
libavfilter avfilter/avfilter: Make ff_command_queue_pop() static 2022-09-21 13:01:20 +02:00
libavformat avformat/matroskadec: Error out if a timestamp is beyond duration 2022-09-24 18:29:43 +02:00
libavutil x86/tx_float: enable AVX-only split-radix FFT codelets 2022-09-24 04:16:55 +02:00
libpostproc
libswresample swsresample/swresample: error out on invalid layouts 2022-09-14 09:52:33 -03:00
libswscale swscale/output: Don't call av_pix_fmt_desc_get() in a loop 2022-09-19 23:40:41 +02:00
presets
tests x86/tx_float: add 15xN PFA FFT AVX SIMD 2022-09-23 12:35:27 +02:00
tools tools/target_dec_fuzzer: Adjust threshold for Jpeg2000 2022-09-16 21:30:59 +02:00
.gitattributes
.gitignore
.mailmap
.travis.yml
CONTRIBUTING.md
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
Changelog avformat: add APAC demuxer 2022-09-23 20:27:35 +02:00
INSTALL.md
LICENSE.md
MAINTAINERS MAINTAINERS: remove the project leader section 2022-09-23 16:06:11 +02:00
Makefile
README.md
RELEASE
configure configure: Remove obsolete APTX decoder dependencies 2022-09-18 22:43:47 +02:00

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 means to alter decoded audio and video through a directed graph of connected 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.
  • 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.