SVT-AV1 2.0 (Scalable Video Technology AV1) китепканасынын релизи AV1 видео коддоо форматынын коддорун жана декодерин ишке ашыруу менен басылып чыкты, аны тездетүү үчүн заманбап Intel процессорлорунда бар аппараттык параллелдүү эсептөө каражаттары колдонулат. Долбоор Intel тарабынан Netflix менен өнөктөштүктө видеону тез коддоо жана талап боюнча видео (VOD) кызматтарында колдонууга ылайыктуу аткаруу деңгээлине жетүү максатында түзүлгөн. Учурда иштеп чыгуу AV1 видео коддоо форматын иштеп чыгууну көзөмөлдөгөн Open Media Alliance (AOMedia) алкагында жүргүзүлүүдө. Буга чейин долбоор OpenVisualCloud долбоорунун алкагында иштелип чыккан, ал ошондой эле SVT-HEVC жана SVT-VP9 коддорун иштеп чыгат. Код BSD лицензиясы боюнча таратылат.
SVT-AV1 C99 стандартын колдогон компилятору бар ар кандай архитектурага негизделген системалар үчүн чогултулушу мүмкүн, бирок эң жакшы көрсөткүчтөргө SIMD инструкцияларына негизделген монтаждык оптималдаштыруу колдонулган x86_64 системаларында жетишилет (болгону жакшы болот) CPU-да AVX2 колдоосу, бирок минимум жетиштүү жана SS2). Эстутум керектөө "-lp" опциясы менен жөнгө салынган коддоо учурунда колдонулган процессор өзөктөрүнүн санына жараша болот. AV1де колдонулган алгоритмдердин татаалдыгынан улам, бул форматты коддоо башка форматтарга караганда кыйла көп ресурстарды талап кылат, бул реалдуу убакыт режиминде транскоддоо үчүн стандарттык AV1 коддорун колдонууга мүмкүндүк бербейт. Мисалы, AV1 долбоорунан биржа коддору x5721 ("негизги" профиль), x5869 ("жогорку" профиль) жана libvpx-vp658 коддоочуларына салыштырмалуу 264, 264 жана 9 эсе көп эсептөөлөрдү талап кылат.
SVT-AV1 жаңы чыгарылышындагы өзгөрүүлөрдүн арасында:
- Жаңы версиянын номерине өтүү жүргүзүлдү, ага ылайык версиядагы биринчи цифра API/ABI өзгөргөн сайын өзгөрөт.
- Бош кадрды колдонуунун ордуна акыркы кадрдагы агымдын аягы индикациясына (EOS - End Of Stream) өтүү менен байланышкан API'ге өзгөртүүлөр киргизилди, бул кошумча кадрды күтүүнүн кечигүүсүн жок кылды. API өзгөртүү мурунтан эле FFmpeg код базасында чагылдырылган.
- Үч өтүү өзгөрмө бит ылдамдыгы режими (3 өтүү VBR) алынып салынды жана азыр көп өтүү VBR механизми менен алмаштырылды. VBR көп өтүү режими FFmpeg менен интеграцияны камсыз кылуу үчүн эки өткөрүүгө кыскарган.
- Кодерге оптималдаштыруулар кошулду, натыйжада M9-M13 алдын ала орнотууларынын кысуу эффективдүүлүгү 1-4% га жогорулады, ал эми M5 алдын ала орнотулган эстутум керектөө LP 20 режиминде 35-8% га азайды жана башка режимдерде 1-5% га. Башка алдын ала орнотууларда эстутум керектөө 1-5% га кыскарды.
- Сапаттын/ ылдамдыктын компромисстерин оптималдаштыруу сапаттын жогорку деңгээлин белгилеген алдын ала орнотуулар үчүн жүргүзүлдү. Маалымдама сапаты MR алдын ала коюлган 100% га тездетилди.
- C тилинде гана жазылган функцияларга ARM үчүн атайын оптималдаштыруулар кошулду.
Кошумчалай кетсек, dav1d 1.4.1 долбоорунун чыгарылышын белгилей кетсек болот, анын алкагында VideoLAN жана FFmpeg жамааттары AV1 видео коддоо форматы үчүн альтернативалуу акысыз декодерди ишке ашыруу менен китепкананы иштеп чыгууда. dav1d китепканасы AV1дин бардык мүмкүнчүлүктөрүн, анын ичинде спецификацияда (8, 10 жана 12 бит) айтылган кошумча үлгүлөрдү алуунун өркүндөтүлгөн түрлөрүн жана бардык түс тереңдигин көзөмөлдөө параметрлерин колдойт. dav1d'дин негизги өзгөчөлүгү - анын эң жогорку декоддоо көрсөткүчүнө жетүү жана көп жиптүү режимде жогорку сапаттагы ишти камсыз кылууга багытталгандыгы. Долбоордун коду C (C99) тилинде монтаждык кыстармалар (NASM/GAS) менен жазылган жана BSD лицензиясы боюнча таратылат. x86, x86_64, ARMv7 жана ARMv8 архитектураларын жана FreeBSD, Linux, Windows, macOS, Android жана iOS операциялык системаларын колдоо ишке ашырылган.
dav1d 1.4 версиясы жаңы Loongarch жана RISC-V архитектураларын колдоо, ошондой эле AVX-512 инструкцияларынын негизинде кошумча оптималдаштырууну киргизүү, ARM системаларында 6tap чыпкаларынын иштешин тездетүү, көп жиптүү иштердин натыйжалуулугун жогорулатуу жана кыскартуу менен өзгөчөлөнөт. ARM64, ARM32 жана RISC системаларында бинардык маалыматтардын өлчөмү V. CVE-2024-1580 катаалдыгы оңдолду, ал өтө чоң кадр өлчөмдөрүн иштетүүдө бүтүн сандардын ашып кетишинен улам чектен тышкары жазууга алып келди.
Source: opennet.ru
