Na bijna een jaar ontwikkeling is het multimediapakket FFmpeg 8.0 beschikbaar, dat een reeks applicaties en een verzameling bibliotheken bevat voor operaties met verschillende multimediaformaten (opnemen, converteren en decoderen van audio- en videoformaten). Het pakket is geschreven in C en wordt verspreid onder de LGPL- en GPL-licenties.
Onder de wijzigingen in FFmpeg 8.0:
- Codec's FFV1 (codering en decoding) en ProRes RAW (alleen decoding) zijn gerealiseerd op basis van de grafische API Vulkan 1.3, met opmerkelijke prestatieverbeteringen door het parallel verwerken van operaties. Encoder- en decoderimplementaties op basis van de Vulkan API voor de formaten ProRes en VC-2 bevinden zich in de testfase. In de codecs op basis van de Vulkan API zijn compute shaders gebruikt en is hardwareversnelling verzekerd.
- Er zijn extensies van de grafische API Vulkan ingezet voor hardwareversnelling van het decoderen van video VP9, VVC (op basis van VAAPI) en H.264 (op basis van OpenHarmony).
- Er zijn extensies van de grafische API Vulkan ingezet voor hardwareversnelling van het coderen van video AV1 en H.264 (op basis van OpenHarmony).
- Decoders voor de videocodeerformaten APV (Advanced Professional Video), ProRes RAW en RealVideo 6.0 zijn toegevoegd.
- Decoders voor de audio-codeerformaten Sanyo LD-ADPCM, Xbox ADPCM IMA en G.728 zijn toegevoegd.
- Een encoder voor het APV-formaat (Advanced Professional Video), gebaseerd op de libopenapv-bibliotheek, is gerealiseerd.
- In de decoder voor het VVC-videoformaat (Versatile Video Coding, H.266) zijn ondersteuning voor de extensies IBC (Inter Block Copy), SSC (Screen Content Coding) en ACT (Adaptive Color Transform) geïmplementeerd, evenals de paletmodus. Een variant van de VVC-videodecoder, die VAAPI gebruikt, is toegevoegd. De mogelijkheid om het VVC-formaat te gebruiken in de Matroska-mediacontainer is gerealiseerd.
- Ondersteuning voor het coderen van het alfadeel (transparantie) is toegevoegd aan de libx265-bibliotheek.
- Een wrapper voor het gebruik van hardwareversnelde encoders en decoders van het OpenHarmony-project is toegevoegd.
- Ondersteuning voor het coderen van geanimeerde afbeeldingen in JPEG XL-formaat, met behulp van de libjxl-bibliotheek, is toegevoegd.
- De ondersteuning voor multitrack audio en video in het FLV v2-formaat is verbeterd.
- Ondersteuning voor AV1- en APV-formaten is toegevoegd aan de MP4-mediamultiplexer.
- De uitschakeling van automatische vectorisatie bij het bouwen met GCC op x86-, ARM- en AArch64-systemen is verwijderd.
- Assembleroptimalisaties op basis van AVX-512-instructies zijn geïmplementeerd, waardoor bepaalde operaties die worden gebruikt bij videodecodering aanzienlijk zijn versneld.
- Nieuwe filters:
- whisper voor automatische spraakherkenning met behulp van het AI-model Whisper.
- colordetect voor het bepalen van het effectieve bereik van waarden en de alpha-kanaalmodus.
- pad_cuda voor het toevoegen van velden aan de invoervideostream met behulp van CUDA.
- scale_d3d11 voor het wijzigen van de grootte van video met de grafische API Direct3D 11.
- Ondersteuning voor versies van de OpenSSL-bibliotheek ouder dan 1.1.0 is stopgezet.
- Ondersteuning voor de assembler yasm is stopgezet (alleen nasm-ondersteuning is achtergebleven).
- Encoders op basis van de OpenMAX-API (Open Media Acceleration) zijn verouderd verklaard.
- Verificatie is standaard ingeschakeld. TLS-certificaten (vanwege de wijziging in het gedrag bij het verwerken van TLS is het versienummer van FFmpeg aanzienlijk gewijzigd).
Bron: opennet.ru
