SVT-AV1 2.0 (Scalable Video Technology AV1) စာကြည့်တိုက်ကို AV1 ဗီဒီယို ကုဒ်ကုဒ်ဖော်မတ်၏ ကုဒ်ဒါနှင့် ဒီကုဒ်ဒါ၏ အကောင်အထည်ဖော်မှုဖြင့် ထုတ်ဝေခဲ့ပြီး၊ ခေတ်မီ Intel CPU များတွင် ပါရှိသည့် ဟာ့ဒ်ဝဲအပြိုင်တွက်ချက်ခြင်းနည်းလမ်းများကို အရှိန်မြှင့်ရန်အတွက် ထုတ်ဝေလိုက်ပါသည်။ ပရောဂျက်ကို Intel မှ Netflix နှင့် ပူးပေါင်း၍ အွန်လိုင်းမှ ဗီဒီယိုကူးပြောင်းခြင်းနှင့် ဗီဒီယို-on-demand (VOD) ဝန်ဆောင်မှုများတွင် အသုံးပြုရန်အတွက် သင့်လျော်သော စွမ်းဆောင်ရည်အဆင့်ကို ရရှိစေရန် ရည်ရွယ်ချက်ဖြင့် ဖန်တီးခဲ့ခြင်းဖြစ်သည်။ လက်ရှိတွင် AV1 ဗီဒီယိုကုဒ်သွင်းဖော်မတ်၏ ဖွံ့ဖြိုးတိုးတက်မှုကို ကြီးကြပ်သည့် Open Media Alliance (AOMedia) ၏ ပံ့ပိုးကူညီမှုဖြင့် ဖွံ့ဖြိုးတိုးတက်မှုကို ဆောင်ရွက်လျက်ရှိသည်။ ယခင်က၊ ပရောဂျက်ကို SVT-HEVC နှင့် SVT-VP9 ကုဒ်နံပါတ်များကိုလည်း ဖော်ဆောင်ပေးသည့် OpenVisualCloud ပရောဂျက်၏ မူဘောင်အတွင်း တီထွင်ခဲ့သည်။ ကုဒ်ကို BSD လိုင်စင်အောက်တွင် ဖြန့်ဝေထားသည်။
SVT-AV1 သည် C99 စံနှုန်းကို ပံ့ပိုးပေးသည့် compiler ပါရှိသည့် မည်သည့်ဗိသုကာကိုမဆို အခြေခံ၍ စုစည်းနိုင်သော်လည်း၊ SIMD ညွှန်ကြားချက်များကို အခြေခံ၍ တပ်ဆင်ခြင်းဆိုင်ရာ ပိုမိုကောင်းမွန်အောင်လုပ်ဆောင်မှုများကို အသုံးပြုထားသည့် x86_64 စနစ်များတွင် အကောင်းဆုံးစွမ်းဆောင်ရည်ကို ရရှိသည် CPU တွင် AVX2 ပံ့ပိုးမှု ရှိသော်လည်း အနိမ့်ဆုံးအနေနှင့် SS2) လုံလောက်ပါသည်။ မန်မိုရီသုံးစွဲမှုသည် “-lp” ရွေးချယ်မှုဖြင့် ကုဒ်သွင်းနေစဉ် အသုံးပြုသည့် ပရိုဆက်ဆာ core အရေအတွက်ပေါ်တွင် မူတည်သည်။ AV1 တွင် အသုံးပြုသည့် အယ်လဂိုရီသမ်များ၏ ရှုပ်ထွေးမှုကြောင့်၊ ဤဖော်မတ်ကို ကုဒ်လုပ်ခြင်းသည် အခြားဖော်မတ်များထက် အရင်းအမြစ်များစွာ လိုအပ်ပြီး အချိန်နှင့်တပြေးညီ ကူးပြောင်းခြင်းအတွက် စံ AV1 ကုဒ်ဒါကို အသုံးပြုခွင့်မပြုပါ။ ဥပမာအားဖြင့်၊ AV1 ပရောဂျက်မှ စတော့ကုဒ်ပြောင်းကိရိယာသည် x5721 ("ပင်မ" ပရိုဖိုင်)၊ x5869 ("မြင့်" ပရိုဖိုင်) နှင့် libvpx-vp658 ကုဒ်နံပါတ်များနှင့် နှိုင်းယှဉ်ပါက 264၊ 264 နှင့် 9 ဆ ပိုမိုလိုအပ်ပါသည်။
SVT-AV1 ထုတ်ဝေမှုအသစ်တွင် အပြောင်းအလဲများထဲတွင်-
- API/ABI ပြောင်းလဲမှုတစ်ခုစီနှင့် ဗားရှင်းရှိ ပထမဂဏန်းသည် ပြောင်းလဲသွားသည့်အတိုင်း ဗားရှင်းအသစ်နံပါတ်သို့ ကူးပြောင်းခြင်းဖြစ်ပါသည်။
- အပိုဘောင်တစ်ခုကို စောင့်ဆိုင်းရာတွင် နှောင့်နှေးမှုကို ဖယ်ရှားပေးသည့် နောက်ဆုံးဘောင်ကို အသုံးပြုမည့်အစား နောက်ဆုံးဘောင်ရှိ ထုတ်လွှင့်မှုညွှန်ပြမှုအဆုံးသို့ ကူးပြောင်းခြင်း (EOS - End Of Stream) နှင့်ပတ်သက်သည့် API တွင် အပြောင်းအလဲများ ပြုလုပ်ထားပါသည်။ API ပြောင်းလဲမှုသည် FFmpeg codebase တွင် ထင်ဟပ်နေပြီးဖြစ်သည်။
- three-pass variable bitrate မုဒ် (3-pass VBR) ကို ဖယ်ရှားခဲ့ပြီး ယခုအခါ multi-pass VBR ယန္တရားဖြင့် အစားထိုးထားသည်။ VBR multi-pass မုဒ်ကို FFmpeg နှင့် ပေါင်းစည်းမှုသေချာစေရန်အတွက် ဖြတ်သန်းခွင့်နှစ်ခုသို့ လျှော့ချထားသည်။
- ပိုမိုကောင်းမွန်အောင်ပြုလုပ်ခြင်းများကို ကုဒ်ပြောင်းကိရိယာတွင် ထည့်သွင်းထားသောကြောင့် M9-M13 ကြိုတင်သတ်မှတ်မှုများ၏ ဖိသိပ်မှုစွမ်းဆောင်ရည်သည် 1-4% တိုးလာပြီး M5 ကြိုတင်သတ်မှတ်မှု၏ မှတ်ဉာဏ်သုံးစွဲမှုသည် LP 20 မုဒ်တွင် 35-8% လျော့နည်းသွားပါသည်။ အခြားမုဒ်များတွင် 1-5%။ အခြား presets များတွင် Memory သုံးစွဲမှု 1-5% လျော့နည်းသွားသည်။
- အရည်အသွေးမြင့်မားသော အရည်အသွေးကို သတ်မှတ်ပေးသည့် ကြိုတင်သတ်မှတ်မှုများအတွက် အရည်အသွေး/အမြန်နှုန်း အပေးအယူများကို ပိုမိုကောင်းမွန်အောင် ပြုလုပ်ထားပါသည်။ ရည်ညွှန်းအရည်အသွေး MR ကြိုတင်သတ်မှတ်မှုကို 100% အရှိန်မြှင့်ထားသည်။
- ARM သီးသန့် ပိုမိုကောင်းမွန်အောင် လုပ်ဆောင်မှုများကို C-only လုပ်ဆောင်ချက်များတွင် ထည့်သွင်းထားသည်။
ထို့အပြင်၊ VideoLAN နှင့် FFmpeg အသိုင်းအဝိုင်းများသည် AV1 ဗီဒီယိုကုဒ်ကုဒ်ဖော်မတ်အတွက် အခြားရွေးချယ်စရာအခမဲ့ ဒီကုဒ်ဒါကို အကောင်အထည်ဖော်ခြင်းဖြင့် စာကြည့်တိုက်တစ်ခုကို ဖန်တီးနေသည့် dav1.4.1d 1 ပရောဂျက်ကို ကျွန်ုပ်တို့ မှတ်သားနိုင်ပါသည်။ dav1d စာကြည့်တိုက်သည် AV1 ၏ အင်္ဂါရပ်အားလုံးကို ပံ့ပိုးပေးသည် (8၊ 10 နှင့် 12 ဘစ်) တွင် ဖော်ပြထားသော အရောင်အတိမ်အနက် ထိန်းချုပ်မှုဘောင်များ အပါအဝင် AV1 ၏ အင်္ဂါရပ်အားလုံးကို ပံ့ပိုးပေးပါသည်။ dav99d ၏ အဓိကအင်္ဂါရပ်မှာ အမြင့်ဆုံးဖြစ်နိုင်ချေရှိသော ကုဒ်ဖော်ပြခြင်းစွမ်းဆောင်ရည်ကို ရရှိစေရန်နှင့် Multi-threaded မုဒ်တွင် အရည်အသွေးမြင့် အလုပ်လုပ်စေခြင်းအပေါ် အာရုံစိုက်ခြင်းဖြစ်သည်။ ပရောဂျက်ကုဒ်ကို တပ်ဆင်မှုထည့်သွင်းမှုများ (NASM/GAS) ဖြင့် C (C86) ဖြင့် ရေးသားထားပြီး BSD လိုင်စင်အောက်တွင် ဖြန့်ဝေထားသည်။ x86၊ x64_7၊ ARMv8 နှင့် ARMvXNUMX ဗိသုကာများ အတွက် ပံ့ပိုးမှု၊ နှင့် လည်ပတ်မှုစနစ် FreeBSD၊ Linux၊ Windows၊ macOS၊ Android နှင့် iOS ကို အကောင်အထည် ဖော်ထားသည်။
ဗားရှင်း dav1d 1.4 သည် Loongarch နှင့် RISC-V ဗိသုကာအသစ်များကို ပံ့ပိုးပေးသည့်အပြင် AVX-512 ညွှန်ကြားချက်များပေါ်တွင် အခြေခံ၍ ထပ်လောင်းပိုကောင်းအောင်လုပ်ဆောင်မှုများကို မိတ်ဆက်ပေးခြင်း၊ ARM စနစ်များရှိ 6tap filters များ၏ လည်ပတ်မှုကို အရှိန်မြှင့်ပေးခြင်း၊ Multi-threaded အလုပ်၏ထိရောက်မှုကို တိုးမြှင့်ပေးပြီး လျှော့ချခြင်း၊ ARM64၊ ARM32 နှင့် RISC-systems V ရှိ ဒွိဒေတာအရွယ်အစား။ အလွန်ကြီးမားသော ဖရိမ်အရွယ်အစားများကို လုပ်ဆောင်သောအခါ ကိန်းပြည့်ပြည့်လျှံနေသောကြောင့် အကန့်အသတ်မရှိရေးနိုင်သည့် CVE-2024-1580 ကို ပြင်ဆင်ပြီး အားနည်းချက်ရှိသည်။
source: opennet.ru
