SVT-AV1 2.0 (Ölçeklenebilir Video Teknolojisi AV1) kitaplığının sürümü, hızlandırmak için modern Intel CPU'larda mevcut donanım paralel hesaplama araçlarının kullanıldığı AV1 video kodlama formatının kodlayıcı ve kod çözücü uygulamalarıyla birlikte yayınlandı. Proje, anında video kod dönüştürme ve isteğe bağlı video (VOD) hizmetlerinde kullanıma uygun bir performans düzeyi elde etme hedefiyle Intel tarafından Netflix ortaklığıyla oluşturuldu. Şu anda geliştirme, AV1 video kodlama formatının geliştirilmesini denetleyen Open Media Alliance'ın (AOMedia) himayesinde yürütülüyor. Proje daha önce SVT-HEVC ve SVT-VP9 kodlayıcılarını da geliştiren OpenVisualCloud projesi çerçevesinde geliştirildi. Kod BSD lisansı altında dağıtılmaktadır.
SVT-AV1, C99 standardını destekleyen bir derleyicinin bulunduğu herhangi bir mimariye dayalı sistemler için monte edilebilir, ancak en iyi performans, SIMD talimatlarına dayalı montaj optimizasyonlarının kullanıldığı x86_64 sistemlerinde elde edilir (sahip olunması arzu edilir) CPU'da AVX2 desteği var ancak minimum olarak yeterli ve SS2). Bellek tüketimi, kodlama sırasında kullanılan işlemci çekirdeği sayısına bağlıdır ve "-lp" seçeneğiyle düzenlenir. AV1'de kullanılan algoritmaların karmaşıklığı nedeniyle, bu formatın kodlanması diğer formatlara göre önemli ölçüde daha fazla kaynak gerektirir ve bu da gerçek zamanlı kod dönüştürme için standart AV1 kodlayıcının kullanılmasına izin vermez. Örneğin, AV1 projesindeki stok kodlayıcı, x5721 ("ana" profil), x5869 ("yüksek" profil) ve libvpx-vp658 kodlayıcılara kıyasla 264, 264 ve 9 kat daha fazla hesaplama gerektirir.
SVT-AV1'in yeni sürümündeki değişiklikler arasında:
- Her API/ABI değişikliğinde sürümdeki ilk rakamın değişeceği yeni sürüm numaralandırmasına geçiş yapıldı.
- Boş çerçeve kullanmak yerine son karede yayın sonu göstergesine (EOS - Yayın Sonu) geçiş ile ilgili API'de değişiklikler yapılarak ekstra kare beklemedeki gecikme ortadan kaldırıldı. API değişikliği zaten FFmpeg kod tabanında yansıtılmıştır.
- Üç geçişli değişken bit hızı modu (3 geçişli VBR) kaldırıldı ve yerini artık çok geçişli bir VBR mekanizması aldı. FFmpeg ile entegrasyonu sağlamak için VBR çoklu geçiş modu iki geçişe düşürüldü.
- Kodlayıcıya optimizasyonlar eklenmiş, bunun sonucunda M9-M13 ön ayarlarının sıkıştırma verimliliği %1-4 oranında artmış, M5 ön ayarının bellek tüketimi LP 20 modunda %35-8 oranında azalmıştır ve diğer modlarda %1-5 oranında. Diğer ön ayarlardaki bellek tüketimi %1-5 oranında azaldı.
- Yüksek düzeyde kalite belirleyen ön ayarlar için kalite/hız uzlaşmalarının optimizasyonu gerçekleştirilmiştir. Referans kalite MR ön ayarı %100 hızlandırıldı.
- Yalnızca C işlevlerine ARM'ye özgü optimizasyonlar eklendi.
Ek olarak, VideoLAN ve FFmpeg topluluklarının AV1 video kodlama formatı için alternatif bir ücretsiz kod çözücünün uygulanmasıyla bir kitaplık geliştirdiği dav1.4.1d 1 projesinin yayınlandığını da not edebiliriz. dav1d kütüphanesi, gelişmiş alt örnekleme türleri ve spesifikasyonda belirtilen tüm renk derinliği kontrol parametreleri (1, 8 ve 10 bit) dahil olmak üzere AV12'in tüm özelliklerini destekler. dav1d'nin temel özelliği, mümkün olan en yüksek kod çözme performansını elde etmeye ve çok iş parçacıklı modda yüksek kaliteli çalışmayı sağlamaya odaklanmasıdır. Proje kodu C (C99) dilinde montaj ekleriyle (NASM/GAS) yazılmıştır ve BSD lisansı altında dağıtılmaktadır. x86, x86_64, ARMv7 ve ARMv8 mimarileri ve FreeBSD, Linux, Windows, macOS, Android ve iOS işletim sistemleri için destek uygulandı.
dav1d 1.4 sürümü, yeni Loongarch ve RISC-V mimarilerini desteklemenin yanı sıra AVX-512 talimatlarına dayalı ek optimizasyonlar sunması, ARM sistemlerinde 6 kademe filtrelerin çalışmasını hızlandırması, çok iş parçacıklı çalışmanın verimliliğini arttırması ve ARM64, ARM32 ve RISC sistemleri V'deki ikili verilerin boyutu. Çok büyük çerçeve boyutlarını işlerken tamsayı taşması nedeniyle sınırların dışında yazmaya neden olan CVE-2024-1580 güvenlik açığı düzeltildi.
Kaynak: opennet.ru
