Dopo quasi un anno di sviluppo, è disponibile il pacchetto multimediale FFmpeg 8.0, che include un insieme di applicazioni e una collezione di librerie per operazioni su vari formati multimediali (registrazione, conversione e decodifica di formati audio e video). Il pacchetto è scritto in C e viene distribuito sotto le licenze LGPL e GPL.
Tra le novità in FFmpeg 8.0:
- Sono stati implementati i codec FFV1 (codifica e decodifica) e ProRes RAW (solo decodifica) basati sull'API grafica Vulkan 1.3, noti per un significativo aumento delle prestazioni grazie al parallelismo delle operazioni. Sono in fase di testing gli encoder e decoder basati sull'API Vulkan per i formati ProRes e VC-2. Nei codec basati sull'API Vulkan sono utilizzati shader computazionali e viene garantita l'accelerazione hardware.
- Sono stati utilizzati le estensioni dell'API grafica Vulkan per l'accelerazione hardware della decodifica video VP9, VVC (basato su VAAPI) e H.264 (basato su OpenHarmony).
- Sono state utilizzate le estensioni dell'API grafica Vulkan per l'accelerazione hardware della codifica video AV1 e H.264 (basato su OpenHarmony).
- Sono stati aggiunti decoder per i formati di codifica video APV (Advanced Professional Video), ProRes RAW e RealVideo 6.0.
- Sono stati aggiunti decoder per i formati di codifica audio Sanyo LD-ADPCM, Xbox ADPCM IMA e G.728.
- È stato realizzato un encoder per il formato APV (Advanced Professional Video), costruito sulla base della libreria libopenapv.
- Nel decoder per il formato video VVC (Versatile Video Coding, H.266) è stato implementato il supporto per le estensioni IBC (Inter Block Copy), SSC (Screen Content Coding) e ACT (Adaptive Color Transform), nonché per la modalità palette. È stata aggiunta una variante del decoder per il formato video VVC che utilizza VAAPI. È stata implementata la possibilità di utilizzare il formato VVC all'interno del contenitore multimediale Matroska.
- Nella libreria libx265 è stato aggiunto il supporto per la codifica del canale alpha (trasparenza).
- È stato aggiunto un wrapper per utilizzare encoder e decoder accelerati hardware dal progetto OpenHarmony.
- È stato aggiunto il supporto per la codifica di immagini animate nel formato JPEG XL, utilizzando la libreria libjxl.
- È stato migliorato il supporto per audio e video multitraccia nel formato FLV v2.
- Nel pacchetto di contenitori multimediali MP4 è stato aggiunto il supporto per i formati AV1 e APV.
- È stata rimossa la disabilitazione della vettorizzazione automatica durante la creazione con GCC sui sistemi x86, ARM e AArch64.
- Sono state implementate ottimizzazioni in assembly basate sulle istruzioni AVX-512, che hanno notevolmente accelerato alcune operazioni utilizzate nella decodifica video.
- Nuovi filtri:
- whisper per il riconoscimento automatico della voce tramite il modello AI Whisper.
- colordetect per determinare l'intervallo efficace di valori e modalità del canale alpha.
- pad_cuda per aggiungere margini al flusso video in ingresso utilizzando CUDA.
- scale_d3d11 per ridimensionare video utilizzando l'API grafica Direct3D 11.
- È stata interrotta la supporto per le versioni della libreria OpenSSL superiori a 1.1.0.
- È stata interrotta la supporto per l'assembly yasm (è stata mantenuta solo la supporto per nasm).
- Gli encoder basati sull'API OpenMAX (Open Media Acceleration) sono stati dichiarati obsoleti.
- La verifica è abilitata per impostazione predefinita. certificati TLS. (A causa della modifica del comportamento nella gestione di TLS, il numero di versione di FFmpeg è stato significativamente modificato).
Fonte: opennet.ru
