Ang SVT-AV1 4.2.0 (Scalable Video Technology AV1) library ay inilabas, na nagtatampok ng mga pagpapatupad ng AV1 video encoding format encoder at decoder, na pinabilis ng hardware parallel computing extension na nasa x86_64 at ARM processors. Ang proyekto ay nilikha ng Intel sa pakikipagtulungan sa Netflix upang makamit ang antas ng pagganap na angkop para sa on-the-fly video transcoding at paggamit sa mga serbisyo ng video-on-demand (VOD). Ang pag-unlad ay kasalukuyang isinasagawa sa ilalim ng tangkilik ng Open Media Alliance (AOMedia), na nangangasiwa sa pagbuo ng format ng pag-encode ng AV1 na video. Ang proyekto ay dati nang binuo sa loob ng proyekto ng OpenVisualCloud, na bumubuo rin ng mga SVT-HEVC at SVT-VP9 na mga encoder. Ang code ay ipinamahagi sa ilalim ng lisensya ng BSD.
SVT-AV1 ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΎΠ±ΡΠ°Π½ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌ Π½Π° Π±Π°Π·Π΅ Π»ΡΠ±ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΈΠΌΠ΅Π΅ΡΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ ΡΡΠ°Π½Π΄Π°ΡΡΠ° C99, Π½ΠΎ Π½Π°ΠΈΠ»ΡΡΡΠ°Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°Ρ x86_64, Π΄Π»Ρ ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π°ΡΡΠ΅ΠΌΠ±Π»Π΅ΡΠ½ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π½Π° Π±Π°Π·Π΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ SIMD (ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½ΠΎ Π½Π°Π»ΠΈΡΠΈΠ΅ Π² CPU ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ AVX2, Π½ΠΎ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΌΠΈΠ½ΠΈΠΌΡΠΌΠ° Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΈ SSE2). ΠΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΡΠΈΡΠ»Π° Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Π½ΡΡ ΠΏΡΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΡ ΡΠ΄Π΅Ρ, ΡΠ΅Π³ΡΠ»ΠΈΡΡΠ΅ΠΌΡΡ ΠΎΠΏΡΠΈΠ΅ΠΉ Β«βlpΒ». ΠΠ·-Π·Π° ΡΡΠ»ΠΎΠΆΠ½Π΅Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ Π² AV1 Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ², Π΄Π»Ρ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ², ΡΠ΅ΠΌ Π΄Π»Ρ Π΄ΡΡΠ³ΠΈΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ².
Kabilang sa mga pagbabago sa bagong release ng SVT-AV1:
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ TUNE-VMAF, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡΡ Π΄ΠΎ 15% Π±ΠΈΡΡΠ΅ΠΉΡΠ° ΠΏΡΠΈ ΡΠΎΠΌ ΠΆΠ΅ ΡΡΠΎΠ²Π½Π΅ Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΌΠ΅ΡΡΠΈΠΊΠΎΠΉ VMAF, ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡΠ΅ΠΉ ΡΠ΅Π»ΠΎΠ²Π΅ΡΠ΅ΡΠΊΠΎΠ΅ Π²ΠΎΡΠΏΡΠΈΡΡΠΈΠ΅, ΠΈ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌ ΡΠΌΠ΅Π½ΡΡΠ΅Π½ΠΈΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΏΠΎ ΠΌΠ΅ΡΡΠΈΠΊΠ΅ PSNR, ΠΎΡΠ΅Π½ΠΈΠ²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠ½ΠΎΡΡΡ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ ΠΈΡΡ ΠΎΠ΄Π½ΡΡ Π΄Π°Π½Π½ΡΡ Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ.
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΎΠ΄Π½ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Ρ ΡΠ΅ΠΆΠΈΠΌΠΎΠΌ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ° (Random Access).
- Π ΠΏΡΠ΅ΡΠ΅ΡΠ°Ρ M3-M5 ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡΠΎΠ² ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ/ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ Π΄ΠΎΡΡΡΠΏΠ°.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΠΎΠΏΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ: βcqp, βenable-intrabc, βhbd-mds, βenable-kf-tf.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π²ΡΠ²ΠΎΠ΄Π° Π² raw-ΡΠΎΡΠΌΠ°ΡΠ΅ OBU Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΡΠ°Π½Π΅Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΌΡ ΡΠΎΡΠΌΠ°ΡΡ IVF.
- ΠΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡΠΎΠ² ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎ/ΡΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Β«βrtcΒ» (Real-Time Communications), Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΠ²ΡΡΠ΅Π½Π° ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ ΡΠΆΠ°ΡΠΈΡ ΠΈ ΡΠ½ΠΈΠΆΠ΅Π½ΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΈ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π² Π½ΠΈΠ·ΠΊΠΈΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡΡ . ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Β«βmax-intra-bitrate-pctΒ» ΠΈ Β«βmax-inter-bitrate-pctΒ».
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠ΅Π°Π»ΡΠ½ΠΎΠΌ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Ρ ΠΏΠΎΡΡΠΎΡΠ½Π½ΡΠΌ Π±ΠΈΡΡΠ΅ΠΉΡΠ°ΠΎΠΌ β CBR (Constant Bitrate), ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠΈΠ»ΡΡΡΠ° ΠΠ°Π»ΠΌΠ°Π½Π° ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΉ ΡΠΈΠΊΠ»ΠΈΡΠ½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Ρ ΡΠ°Π·ΠΌΠ°Π·ΡΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ»ΠΎΠΆΠ½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌ ΠΊΠ°Π΄ΡΠ°ΠΌ ΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ°Π΄ΡΠΎΠ² Ρ Ρ ΡΠ΄ΡΠΈΠΌ ΠΊΠ°ΡΠ΅ΡΡΠ²ΠΎΠΌ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π½Π΅ ΡΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡ Π² Π·Π°Π΄Π°Π½Π½ΡΠΉ Π±ΠΈΡΡΠ΅ΠΉΡ.
- Π ΡΠ΅ΠΆΠΈΠΌΠ΅ Β«βrtcΒ» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π°ΡΡΡΠΎΠ΅ΠΊ Π±ΠΈΡΡΠ΅ΠΉΡΠ° ΠΈ ΠΏΡΠ΅ΡΠ΅ΡΠΎΠ² Π½Π° Π»Π΅ΡΡ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ API Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΠΏΠΎΡΠ½ΡΠΌΠΈ ΠΊΠ°Π΄ΡΠ°ΠΌΠΈ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΉ LTR (Long-Term Reference) ΠΈ Π΄Π²ΡΡ ΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΡΡΡΡΠΊΡΡΡΡ Π½Π°Π±ΠΎΡΠΎΠ² ΠΎΠΏΠΎΡΠ½ΡΡ ΠΊΠ°Π΄ΡΠΎΠ² (RPS, Reference Picture Set).
- ΠΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ½ΡΡΠΎΠΏΠΈΠΉΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΠΏΡΡΠΌΠ°Ρ Π·Π°ΠΏΠΈΡΡ Π² Π±ΡΡΠ΅Ρ ΡΠ΅Π³ΠΌΠ΅Π½ΡΠΎΠ² (tile-buffer), ΡΠΏΡΠΎΡΡΠ½ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΠΎΠ΄Π΅Ρ ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΎΡΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΡ Π΄Π°Π½Π½ΡΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠ²Π°Π½ΡΠΎΠ²Π°Π½ΠΈΡ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ CDEF (Constrained Directional Enhancement Filter) Π΄Π»Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΡΡΠΈΡ Π² ΠΎΠ±Π»Π°ΡΡΡΡ ΡΠΌΠ΅Π½Ρ ΠΊΠΎΠ½ΡΡΠ°ΡΡΠ°, MD (Mode Decision) ΠΈ ME (Motion Estimation) Π΄Π»Ρ Π±ΡΡΡΡΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΡΡΠ°ΡΠΈΡΠ½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ².
- ΠΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π°Π»ΠΈΡΠΈΡ Π½Π° Π²ΠΈΠ΄Π΅ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΡΠΌ ΡΠΊΡΠ°Π½Π° Π΄Π»Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΡΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΡΡΠΊΠΎΡΡΠΈ ΡΠ΅ΠΊΡΡΠ°.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠ±ΠΎΡΠΎΡΠ½Π°Ρ ΠΎΠΏΡΠΈΡ ENABLE_STACK_PROTECTOR Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠ»Π°Π³Π° Β«-fstack-protectorΒ», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΡΠ±ΡΠ°ΡΡ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠ΄Ρ Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΡ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ΅ΠΊΠ°.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ ARM ΠΈ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ NEON Π΄Π»Ρ ΡΡΠΊΠΎΡΠ΅Π½ΠΈΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ.
Pinagmulan: opennet.ru
