avcodec/codec_internal: Include avcodec.h for enum AVCodecConfig Forward-declaring an enum is not legal C (the underlying type of the enum may depend upon the enum constants, so this may cause ABI issues with -fshort-enums); compilers warn about this with -pedantic. This essentially reverts 7e84865cff2d174beede69a2018c0d81c8cc3b02. Notice that almost* all files that include codec_internal.h also need to include avcodec.h, so this does not lead to unnecessary rebuilds. This addresses part of #22684. *: The only file I am aware of that defines an FFCodec and does not need AVCodecContext as complete type is null.c (but even it already includes it implicitly); the avcodec.c test tool seems to be the only file where this commit actually leads to an unnecessary avcodec.h inclusion. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
FFmpeg is a collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata.
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.aviocat, ismindex and qt-faststart.The offline documentation is available in the doc/ directory.
The online documentation is available in the main website and in the wiki.
Coding examples are available in the doc/examples directory.
FFmpeg codebase is mainly LGPL-licensed with optional components licensed under GPL. Please refer to the LICENSE file for detailed information.
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.