Введение

Библиотека кодеков

libavcodec – это бесплатная библиотека кодеков с открытым исходным кодом для кодирования и декодирования видео- и аудиоданных. libavcodec является неотъемлемой частью многих мультимедийных приложений и фреймворков с открытым исходным кодом. Популярные медиаплееры MPV, xine и VLC используют её в качестве основного встроенного декодирующего движка, обеспечивающего воспроизведение множества аудио- и видеоформатов на всех поддерживаемых платформах. Она также используется декодером ffdshow tryouts в качестве основной библиотеки декодирования. libavcodec применяется в приложениях для редактирования и транскодирования видео, таких как Avidemux, MEncoder или Kdenlive, как для декодирования, так и для кодирования. libavcodec содержит реализации декодеров, а иногда и кодеров, для нескольких проприетарных форматов, включая те, для которых не опубликованы публичные спецификации. Поэтому значительные усилия по обратной разработке являются частью процесса разработки libavcodec. Наличие таких кодеков в стандартной структуре libavcodec предоставляет ряд преимуществ по сравнению с использованием оригинальных кодеков, в частности, повышенную переносимость и, в некоторых случаях, лучшую производительность, поскольку libavcodec содержит стандартную библиотеку высокооптимизированных реализаций общих базовых компонентов, таких как дискретное косинусное преобразование (DCT) и преобразование цветового пространства. Однако, хотя libavcodec стремится к достижению декодирования, точно соответствующего официальным реализациям форматов, случайные ошибки и отсутствующие функции в этих повторных реализациях иногда могут приводить к проблемам совместимости при воспроизведении определенных файлов.

Внедренные аудиокодеки

libavcodec включает в себя декодеры и кодеры для следующих форматов: большинство из которых не хранит просто несжатые данные. Большинство кодеков, сжимающих информацию, могут быть запатентованы. Такие патентные притязания могут быть юридически значимыми в странах, таких как Соединенные Штаты, где действуют патенты на программное обеспечение, но считаются недействительными или неисполнимыми в странах, где патенты на программное обеспечение не признаются. Более того, многие из этих кодеков распространяются только на условиях, запрещающих обратную разработку, даже в целях обеспечения совместимости. Эти условия использования запрещены в определенных странах. Например, некоторые страны Европейского Союза не признают патенты на программное обеспечение и имеют законы, прямо разрешающие обратную разработку для обеспечения совместимости.