După șapte luni de dezvoltare, a fost publicat pachetul multimedia FFmpeg 8.1, care include un set de aplicații și o colecție de biblioteci pentru operațiuni cu diferite formate multimedia (înregistrare, conversie și decodare a formatelor audio și video). Pachetul este scris în limbajul C și este distribuit sub licențele LGPL și GPL.
Printre modificările din FFmpeg 8.1:
- Au fost adăugate parser, encoder și decoder, precum și muxer și demuxer pentru formatul de imagini JPEG XS, care este poziționat ca un sistem de codificare a imaginilor de dimensiuni reduse, oferind întârzieri minime la codare și decodare și fiind orientat spre optimizarea transmisiei secvențelor de imagini de foarte înaltă calitate (până la 8K). JPEG XS permite reducerea semnificativă a lățimii de bandă necesare pentru canalul de comunicație fără pierderi de calitate vizibile pentru ochiul uman. Implementarea se bazează pe biblioteca libsvtjpegxs.
- A fost adăugat un decoder experimental pentru formatul de codificare audio xHE-AAC (High-Efficiency Advanced Audio Coding) cu schema de sunet surround Mps212 (MPEG Surround cu împărțirea canalelor 212). xHE-AAC este folosit în difuzarea în flux Netflix și este implicat în tehnologiile de radiodifuziune digitală Digital Radio Mondiale. Codec-ul se remarcă prin suportul unei game largi de bitrate-uri (de la 12 la 300 kbit/s), un grad ridicat de compresie, facilități de redare cu volum constant, asigurând claritate înaltă la orice nivel de volum, profiluri suplimentare pentru gestionarea dinamicii în medii zgomotoase și adăugarea de metadate care permit recuperarea pierderilor la partea de primire.
- Pe baza bibliotecii libmpeghdec, a fost implementat un decoder pentru sunet interactiv și surround în formatul NGA (Next Generation Audio), definit în standardul de codificare audio și video MPEG-H.
- A fost adăugat suport pentru multiplexarea și demultiplexarea sunetului spațial în formatul IAMF (Immersive Audio Model and Formats) cu sunet surround în modul Ambisonics, care ia în considerare propagarea sunetului nu doar pe planul orizontal, ci și pe cel vertical (pentru a determina dacă sursa sunetului provine de sus sau de jos).
- A fost adătat un suport pentru analizarea și redirecționarea meta-datelor în format LCEVC (Low Complexity Enhancement Video Coding), care implementează un strat suplimentar de meta-date deasupra codec-urilor standard pentru îmbunătățirea calității video. A fost adătat un suport pentru exportul straturilor de îmbunătățire a calității LCEVC în containere multimedia MPEG-TS (MPEG Transport Stream).
- Pe baza API-ului grafic Vulkan, au fost implementate un encoder și un decoder pentru codec-ul Apple ProRes, precum și un decoder pentru formatul de transfer separată a cadrelor DPX (Digital Picture Exchange) utilizat în producția de film. Implementările bazate pe API-ul Vulkan se remarcă printr-o creștere semnificativă a performanței datorită accelerării hardware, paralelizării operațiunilor și utilizării shader-elor de calcul. A fost efectuată optimizarea implementărilor codec-urilor bazate pe AI Vulkan. Pentru a accelera inițializarea codec-urilor, a fost implementată posibilitatea de a folosi shader-e GLSL deja compilate, fără a necesita compilarea acestora în timpul funcționării.
- În biblioteca swscale (Software Scaler), utilizată în FFmpeg pentru scalarea programatică și conversia culorilor, a fost implementat un backend care folosește API-ul grafic Vulkan pentru a accelera execuția operațiunilor.
- Au fost adăugate variante de encodere pentru formatele H.264 și AV1, care utilizează API D3D12 (Direct3D 12) pentru accelerarea hardware a codificării.
- A fost adăugată o variantă a encoder-ului pentru formatul H.264/HEVC, care utilizează capacitățile de codificare hardware disponibile în cipurile Rockchip.
- Au fost adăugate demuxere pentru containere multimedia în formatele HXVS și HXVT, utilizate în camerele IP.
- A fost implementat un parser pentru meta-date în format EXIF și un API asociat pentru analizarea meta-datelor.
- În utilitarul ffprobe a fost adăugată opțiunea „-codec” („-c”) pentru a selecta o anumită implementare a decoder-ului.
- În utilitarul ffmpeg a fost adăugată suportul pentru modul de stocare mozaicat (tiled) a imaginilor în format HEIF (când o imagine foarte mare este salvată sub formă de set de imagini mai mici).
- A fost eliminat vechiul handler pentru protocolul HLS.
- Filtre noi:
- drawvg pentru a reda grafica vectorială deasupra cadrelor video, folosind biblioteca libcairo.
- vpp_amf pentru schimbarea dimensiunii video și conversia spațiului de culoare, utilizând AMD Advanced Media Framework pentru accelerarea hardware.
- vf_scale_d3d12, vf_deinterlace_d3d12, vf_mestimate_d3d12 pentru scalare, deinterlacing și analiza mișcării pe video, utilizând API-ul grafic Direct3D 12 pentru accelerare hardware.
- gfxcapture pentru capturarea conținutului ferestrelor și ecranului pe platforma Windows folosind API-ul Windows.Graphics.Capture.
- Adăugat un filtru bitstream pentru metadatele LCEVC.
Sursa: opennet.ro
