This text is concerned with the development of FFmpeg itself. Information on using the FFmpeg libraries in other programs can be found elsewhere, e.g. in:
the installed header files
the Doxygen documentation generated from the headers
the examples under doc/examples
For more detailed legal information about the use of FFmpeg in external programs read the LICENSE file in the source tree and consult https://ffmpeg.org/legal.html.
If you modify FFmpeg code for your own use case, you are highly encouraged to submit your changes back to us, using this document as a guide. There are both pragmatic and ideological reasons to do so:
Maintaining external changes to keep up with upstream development is time-consuming and error-prone. With your code in the main tree, it will be maintained by FFmpeg developers.
FFmpeg developers include leading experts in the field who can find bugs or design flaws in your code.
By supporting the project you find useful you ensure it continues to be maintained and developed.
All proposed code changes should be submitted for review to the development mailing list, as described in more detail in the Submitting patches chapter. The code should comply with the Development Policy and follow the Coding Rules. The developer making the commit and the author are responsible for their changes and should try to fix issues their commit causes.