Pagpagawas sa SVT-AV1 2.0 encoder ug dav1d 1.4 decoder alang sa AV1 video format

Ang pagpagawas sa SVT-AV1 2.0 (Scalable Video Technology AV1) librarya nga adunay mga pagpatuman sa encoder ug decoder sa AV1 video encoding format namantala na. Ang proyekto gimugna sa Intel sa pakigtambayayong sa Netflix aron makab-ot ang lebel sa performance nga angay alang sa on-the-fly video transcoding ug paggamit sa video-on-demand (VOD) nga mga serbisyo. Sa pagkakaron, ang pag-uswag gihimo ubos sa pagdumala sa Open Media Alliance (AOMedia), nga nagdumala sa pagpalambo sa AV1 video encoding format. Kaniadto, ang proyekto naugmad sulod sa gambalay sa proyekto sa OpenVisualCloud, nga nagpalambo usab sa SVT-HEVC ug SVT-VP9 nga mga encoder. Ang kodigo giapod-apod ubos sa lisensya sa BSD.

Ang SVT-AV1 mahimong tipunon alang sa mga sistema nga gibase sa bisan unsang arkitektura diin adunay usa ka compiler nga nagsuporta sa C99 nga sumbanan, apan ang labing kaayo nga pasundayag nakab-ot sa x86_64 nga mga sistema, diin gigamit ang mga pag-optimize sa asembliya base sa mga panudlo sa SIMD (gitinguha nga adunay AVX2 suporta sa CPU, apan ingon nga ang minimum mao ang igo ug SS2). Ang pagkonsumo sa memorya nagdepende sa gidaghanon sa mga cores sa processor nga gigamit sa panahon sa pag-encode, nga gi-regulate sa "-lp" nga kapilian. Tungod sa pagkakomplikado sa mga algorithm nga gigamit sa AV1, ang pag-encode niini nga format nanginahanglan labi pa nga mga kapanguhaan kaysa sa ubang mga format, nga wala magtugot sa paggamit sa standard nga AV1 encoder alang sa real-time nga transcoding. Pananglitan, ang stock encoder gikan sa AV1 nga proyekto nanginahanglan ug 5721, 5869 ug 658 ka beses nga mas daghang kalkulasyon kumpara sa x264 ("main" profile), x264 ("high" profile) ug libvpx-vp9 encoders.

Lakip sa mga pagbag-o sa bag-ong pagpagawas sa SVT-AV1:

  • Ang usa ka transisyon gihimo sa usa ka bag-ong bersyon sa pag-numero, sumala sa diin ang unang digit sa bersyon mausab sa matag API/ABI kausaban.
  • Nahimo ang mga pagbag-o sa API nga may kalabotan sa transisyon hangtod sa katapusan sa indikasyon sa sapa (EOS - Katapusan Sa Stream) sa katapusan nga bayanan imbis nga mogamit usa ka walay sulod nga bayanan, nga nagwagtang sa paglangan sa paghulat sa usa ka dugang nga bayanan. Ang pagbag-o sa API gipakita na sa FFmpeg codebase.
  • Ang three-pass variable bitrate mode (3-pass VBR) gitangtang, ug karon gipulihan sa multi-pass VBR nga mekanismo. Ang VBR multi-pass mode gikunhoran ngadto sa duha ka pass aron maseguro ang integrasyon sa FFmpeg.
  • Ang mga pag-optimize gidugang sa encoder, ingon usa ka sangputanan diin ang kahusayan sa compression sa mga preset sa M9-M13 nadugangan sa 1-4%, ug ang pagkonsumo sa memorya sa preset nga M5 mikunhod sa 20-35% sa LP 8 mode ug sa 1-5% sa ubang mga mode. Ang pagkonsumo sa memorya sa ubang mga preset mikunhod sa 1-5%.
  • Ang pag-optimize sa kalidad/katulin nga pagkompromiso gihimo alang sa mga preset nga nagtakda og taas nga lebel sa kalidad. Ang reference nga kalidad nga MR preset gipadali sa 100%.
  • Ang ARM-specific optimizations gidugang sa C-only functions.

Dugang pa, atong mamatikdan ang pagpagawas sa dav1d 1.4.1 nga proyekto, diin ang VideoLAN ug FFmpeg nga mga komunidad nag-ugmad ug librarya uban ang pagpatuman sa alternatibong libreng decoder para sa AV1 video encoding format. Gisuportahan sa dav1d library ang tanan nga mga bahin sa AV1, lakip ang mga advanced nga tipo sa subsampling ug tanan nga mga parameter sa pagkontrol sa giladmon sa kolor nga gipahayag sa detalye (8, 10 ug 12 bits). Ang yawe nga bahin sa dav1d mao ang pagtutok niini sa pagkab-ot sa pinakataas nga posible nga decoding performance ug pagsiguro sa taas nga kalidad nga trabaho sa multi-threaded mode. Ang code sa proyekto gisulat sa C (C99) nga adunay mga pagsal-ot sa assembly (NASM/GAS) ug giapod-apod ubos sa lisensya sa BSD. Suporta alang sa x86, x86_64, ARMv7 ug ARMv8 nga mga arkitektura, ug mga operating system Gipatuman na ang FreeBSD, Linux, Windows, macOS, Android ug iOS.

Ang Bersyon dav1d 1.4 nabantog sa pagsuporta sa bag-ong Loongarch ug RISC-V nga mga arkitektura, ingon man sa pagpaila sa dugang nga mga pag-optimize base sa AVX-512 nga mga instruksyon, pagpadali sa operasyon sa 6tap filter sa ARM system, pagdugang sa kahusayan sa multi-threaded nga trabaho ug pagkunhod sa gidak-on sa binary data sa ARM64, ARM32 ug RISC-systems V. Giayo nga pagkahuyang ang CVE-2024-1580, nga hinungdan sa usa ka out-of-bounds nga pagsulat tungod sa usa ka integer nga pag-awas sa pagproseso sa dako kaayo nga gidak-on sa frame.

Source: opennet.ru

Idugang sa usa ka comment