Nach fast einem Jahr Entwicklung ist das Multimedia-Paket FFmpeg 8.0 verfügbar. Es beinhaltet eine Sammlung von Anwendungen und Bibliotheken für die Bearbeitung verschiedener Multimedia-Formate (Aufnahme, Konvertierung und Decodierung von Audio- und Videoformaten). Das Paket ist in der Programmiersprache C geschrieben und wird unter den Lizenzen LGPL und GPL vertrieben.
Die Änderungen in FFmpeg 8.0 umfassen:
- Basierend auf der Grafik-API Vulkan 1.3 wurden die Codecs FFV1 (Kodierung und Decodierung) und ProRes RAW (nur Dekodierung) implementiert, die durch die Parallelisierung von Operationen eine signifikante Leistungssteigerung erreichen. Encoder und Decoder auf Basis der Vulkan-API für die Formate ProRes und VC-2 befinden sich in der Testphase. In den Vulkan-basierten Codecs werden Compute-Shader verwendet, und es ist Hardware-Beschleunigung verfügbar.
- Vulkan-API-Erweiterungen werden für die Hardware-Beschleunigung bei der Dekodierung der Videoformate VP9, VVC (basierend auf VAAPI) und H.264 (basierend auf OpenHarmony) eingesetzt.
- Vulkan-API-Erweiterungen werden für die Hardware-Beschleunigung bei der Kodierung der Videoformate AV1 und H.264 (basierend auf OpenHarmony) genutzt.
- Decoder für die Video-Codec-Formate APV (Advanced Professional Video), ProRes RAW und RealVideo 6.0 wurden hinzugefügt.
- Decoder für die Audio-Codierungsformate Sanyo LD-ADPCM, Xbox ADPCM IMA und G.728 hinzugefügt.
- Ein APV (Advanced Professional Video) Encoder implementiert, basierend auf der libopenapv-Bibliothek.
- Der Decoder für das VVC (Versatile Video Coding, H.266) Videoformat unterstützt nun die Erweiterungen IBC (Inter Block Copy), SSC (Screen Content Coding) und ACT (Adaptive Color Transform) sowie den Palettenmodus. Eine Variante des VVC Decoders, die VAAPI nutzt, wurde hinzugefügt. Es wurde die Möglichkeit implementiert, das VVC-Format im Matroska-Mediacontainer zu verwenden.
- Die libx265-Bibliothek unterstützt jetzt die Kodierung des Alphakanals (Transparenz).
- Eine Wrapper hinzugefügt, um hardwarebeschleunigte Encoder und Decoder aus dem OpenHarmony-Projekt zu verwenden.
- Unterstützung für die Kodierung von animierten Bildern im JPEG XL-Format hinzugefügt, unter Verwendung der libjxl-Bibliothek.
- Verbesserte Unterstützung für Multi-Track-Audio und -Video im FLV v2-Format.
- Im MP4-Mediacontainer-Packer wurde die Unterstützung für die Formate AV1 und APV hinzugefügt.
- Die Deaktivierung der Auto-Vektorisierung beim Kompilieren mit GCC auf den Systemen x86, ARM und AArch64 wurde entfernt.
- Assembler-Optimierungen basierend auf AVX-512-Instruktionen wurden implementiert, um bestimmte Operationen beim Video-Decodieren erheblich zu beschleunigen.
- Neue Filter:
- Whisper für die automatische Spracherkennung mithilfe des AI-Modells Whisper.
- Colordetect zur Bestimmung des effektiven Wertebereichs und des Alpha-Kanalmodus.
- Pad_cuda zum Hinzufügen von Feldern zum Eingangsvideo-Stream unter Verwendung von CUDA.
- Scale_d3d11 zur Größenänderung von Videos unter Verwendung der Grafik-API Direct3D 11.
- Die Unterstützung für OpenSSL-Bibliotheksversionen älter als 1.1.0 wurde eingestellt.
- Die Unterstützung für den Assembler Yasm wurde eingestellt (es bleibt nur die Unterstützung für Nasm).
- Encoder, die auf der OpenMAX-API (Open Media Acceleration) basieren, wurden als veraltet erklärt.
- Die Überprüfung ist standardmäßig aktiviert. TLS-Zertifikaten (Wegen geänderter Verhaltensweisen bei der Verarbeitung von TLS wurde die Version von FFmpeg erheblich verändert).
Quelle: opennet.ru
